Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH 1/2] package/nut: replace NUT_FIX_CONFIGURE
@ 2023-11-04 15:19 Fabrice Fontaine
  2023-11-04 15:19 ` [Buildroot] [PATCH 2/2] package/nut: fix python build Fabrice Fontaine
  2023-11-04 17:40 ` [Buildroot] [PATCH 1/2] package/nut: replace NUT_FIX_CONFIGURE Thomas Petazzoni via buildroot
  0 siblings, 2 replies; 4+ messages in thread
From: Fabrice Fontaine @ 2023-11-04 15:19 UTC (permalink / raw)
  To: buildroot; +Cc: Bernd Kuhls, Yann E . MORIN, Fabrice Fontaine

Replace NUT_FIX_CONFIGURE by an upstreamable patch

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
---
 ...iler_family.m4-fix-cross-compilation.patch | 55 +++++++++++++++++++
 package/nut/nut.mk                            |  9 +--
 2 files changed, 57 insertions(+), 7 deletions(-)
 create mode 100644 package/nut/0001-m4-nut_compiler_family.m4-fix-cross-compilation.patch

diff --git a/package/nut/0001-m4-nut_compiler_family.m4-fix-cross-compilation.patch b/package/nut/0001-m4-nut_compiler_family.m4-fix-cross-compilation.patch
new file mode 100644
index 0000000000..6356990749
--- /dev/null
+++ b/package/nut/0001-m4-nut_compiler_family.m4-fix-cross-compilation.patch
@@ -0,0 +1,55 @@
+From a743617099ea50fcce333a8a074751434d25b7ac Mon Sep 17 00:00:00 2001
+From: Fabrice Fontaine <fontaine.fabrice@gmail.com>
+Date: Fri, 3 Nov 2023 18:29:29 +0100
+Subject: [PATCH] m4/nut_compiler_family.m4: fix cross-compilation
+
+Do not use isystem with host paths when cross-compiling
+
+Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
+Upstream: https://github.com/networkupstools/nut/pull/2146
+---
+ m4/nut_compiler_family.m4 | 28 +++++++++++++++-------------
+ 1 file changed, 15 insertions(+), 13 deletions(-)
+
+diff --git a/m4/nut_compiler_family.m4 b/m4/nut_compiler_family.m4
+index f47b1ae9..99608bab 100644
+--- a/m4/nut_compiler_family.m4
++++ b/m4/nut_compiler_family.m4
+@@ -178,19 +178,21 @@ dnl # confuse the compiler assumptions - along with its provided headers)...
+ dnl # ideally; in practice however cppunit, net-snmp and some system include
+ dnl # files do cause grief to picky compiler settings (more so from third
+ dnl # party packages shipped via /usr/local/... namespace):
+-    AS_IF([test "x$CLANGCC" = xyes -o "x$GCC" = xyes], [
+-dnl #        CFLAGS="-isystem /usr/include $CFLAGS"
+-        AS_IF([test -d /usr/local/include],
+-            [CFLAGS="-isystem /usr/local/include $CFLAGS"])
+-        AS_IF([test -d /usr/pkg/include],
+-            [CFLAGS="-isystem /usr/pkg/include $CFLAGS"])
+-    ])
+-    AS_IF([test "x$CLANGXX" = xyes -o "x$GXX" = xyes], [
+-dnl #        CXXFLAGS="-isystem /usr/include $CXXFLAGS"
+-        AS_IF([test -d /usr/local/include],
+-            [CXXFLAGS="-isystem /usr/local/include $CXXFLAGS"])
+-        AS_IF([test -d /usr/pkg/include],
+-            [CXXFLAGS="-isystem /usr/pkg/include $CXXFLAGS"])
++    AS_IF([test "x$cross_compiling" != xyes], [
++        AS_IF([test "x$CLANGCC" = xyes -o "x$GCC" = xyes], [
++dnl #            CFLAGS="-isystem /usr/include $CFLAGS"
++            AS_IF([test -d /usr/local/include],
++                [CFLAGS="-isystem /usr/local/include $CFLAGS"])
++            AS_IF([test -d /usr/pkg/include],
++                [CFLAGS="-isystem /usr/pkg/include $CFLAGS"])
++        ])
++        AS_IF([test "x$CLANGXX" = xyes -o "x$GXX" = xyes], [
++dnl #           CXXFLAGS="-isystem /usr/include $CXXFLAGS"
++            AS_IF([test -d /usr/local/include],
++                [CXXFLAGS="-isystem /usr/local/include $CXXFLAGS"])
++            AS_IF([test -d /usr/pkg/include],
++                [CXXFLAGS="-isystem /usr/pkg/include $CXXFLAGS"])
++        ])
+     ])
+ 
+ dnl # Default to avoid noisy warnings on older compilers
+-- 
+2.42.0
+
diff --git a/package/nut/nut.mk b/package/nut/nut.mk
index c376ffb2e2..ba71319f90 100644
--- a/package/nut/nut.mk
+++ b/package/nut/nut.mk
@@ -11,13 +11,8 @@ NUT_LICENSE_FILES = COPYING LICENSE-GPL2 LICENSE-GPL3
 NUT_SELINUX_MODULES = apache nut
 NUT_INSTALL_STAGING = YES
 NUT_DEPENDENCIES = host-pkgconf
-
-# prevent usage of unsafe paths
-define NUT_FIX_CONFIGURE
-	$(SED) 's%CFLAGS="-isystem /usr/local/include%_UNUSED_CFLAGS="-isystem /usr/local/include%' $(@D)/configure
-	$(SED) 's%CXXFLAGS="-isystem /usr/local/include%_UNUSED_CXXFLAGS="-isystem /usr/local/include%' $(@D)/configure
-endef
-NUT_POST_PATCH_HOOKS += NUT_FIX_CONFIGURE
+# We're patching m4/nut_compiler_family.m4
+NUT_AUTORECONF = YES
 
 # Put the PID files in a read-write place (/var/run is a tmpfs)
 # since the default location (/var/state/ups) maybe readonly.
-- 
2.42.0

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [Buildroot] [PATCH 2/2] package/nut: fix python build
  2023-11-04 15:19 [Buildroot] [PATCH 1/2] package/nut: replace NUT_FIX_CONFIGURE Fabrice Fontaine
@ 2023-11-04 15:19 ` Fabrice Fontaine
  2023-11-04 17:39   ` Thomas Petazzoni via buildroot
  2023-11-04 17:40 ` [Buildroot] [PATCH 1/2] package/nut: replace NUT_FIX_CONFIGURE Thomas Petazzoni via buildroot
  1 sibling, 1 reply; 4+ messages in thread
From: Fabrice Fontaine @ 2023-11-04 15:19 UTC (permalink / raw)
  To: buildroot; +Cc: Bernd Kuhls, Yann E . MORIN, Fabrice Fontaine

Fix the following build failure raised since bump to version 2.8.1 in
commit 9c874557aa863d5282ca38b28a379730297496c8 and
https://github.com/networkupstools/nut/commit/cada4bc8c4051fb961ae7c21d0bb329f79cc330c
and
https://github.com/networkupstools/nut/commit/902ce1327e912dfb6198900204b12e6804d1224b:

checking python3 site-packages location... /home/thomas/autobuild/instance-3/output-1/host/lib/python3.11/site-packages
[...]
 /usr/bin/install -c -m 644 module/PyNUT.py '/home/thomas/autobuild/instance-3/output-1/host/powerpc64le-buildroot-linux-gnu/sysroot/home/thomas/autobuild/instance-3/output-1/host/lib/python3.11/site-packages'
[...]
nut: installs files in /home/thomas/autobuild/instance-3/output-1/host/powerpc64le-buildroot-linux-gnu/sysroot//home/thomas/autobuild/instance-3/output-1

Fixes:
 - http://autobuild.buildroot.org/results/0b2d0e292a9872f7ab7c2eeccbb7bb12e4afe36c

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
---
 ...hon.m4-allow-overriding-of-PYTHON-2-.patch | 105 ++++++++++++++++++
 package/nut/nut.mk                            |  15 +++
 2 files changed, 120 insertions(+)
 create mode 100644 package/nut/0002-m4-nut_check_python.m4-allow-overriding-of-PYTHON-2-.patch

diff --git a/package/nut/0002-m4-nut_check_python.m4-allow-overriding-of-PYTHON-2-.patch b/package/nut/0002-m4-nut_check_python.m4-allow-overriding-of-PYTHON-2-.patch
new file mode 100644
index 0000000000..cea3b49a99
--- /dev/null
+++ b/package/nut/0002-m4-nut_check_python.m4-allow-overriding-of-PYTHON-2-.patch
@@ -0,0 +1,105 @@
+From 511ee899ee687216fa8fcf2231a60941b9e4cf81 Mon Sep 17 00:00:00 2001
+From: Fabrice Fontaine <fontaine.fabrice@gmail.com>
+Date: Fri, 3 Nov 2023 14:34:54 +0100
+Subject: [PATCH 2/2] m4/nut_check_python.m4: allow overriding of
+ PYTHON{2,3}_SITE_PACKAGES
+
+Allow the end-user to override PYTHON{2,3}_SITE_PACKAGES as this can be
+useful when cross-compiling
+
+Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
+---
+ m4/nut_check_python.m4 | 60 +++++++++++++++++++++---------------------
+ 1 file changed, 30 insertions(+), 30 deletions(-)
+
+diff --git a/m4/nut_check_python.m4 b/m4/nut_check_python.m4
+index 995a3e7c..7f29558e 100644
+--- a/m4/nut_check_python.m4
++++ b/m4/nut_check_python.m4
+@@ -116,17 +116,17 @@ AC_DEFUN([NUT_CHECK_PYTHON],
+         AM_CONDITIONAL([HAVE_PYTHON], [test -n "${PYTHON}" && test "${PYTHON}" != "no"])
+         AS_IF([test -n "${PYTHON}" && test "${PYTHON}" != "no"], [
+             export PYTHON
+-            AC_MSG_CHECKING([python site-packages location])
+-            PYTHON_SITE_PACKAGES="`${PYTHON} -c 'import site; print(site.getsitepackages().pop(0))'`"
+-            AS_CASE(["$PYTHON_SITE_PACKAGES"],
+-                [*:*], [
+-                    dnl Note: on Windows MSYS2 this embeds "C:/msys64/mingw..." into the string [nut#1584]
+-                    PYTHON_SITE_PACKAGES="`cd "$PYTHON_SITE_PACKAGES" && pwd`"
+-                    ]
+-                )
+-            AC_MSG_RESULT([${PYTHON_SITE_PACKAGES}])
++            AC_CACHE_CHECK([python site-packages location], [nut_cv_PYTHON_SITE_PACKAGES], [
++                nut_cv_PYTHON_SITE_PACKAGES="`${PYTHON} -c 'import site; print(site.getsitepackages().pop(0))'`"
++                AS_CASE(["$nut_cv_PYTHON_SITE_PACKAGES"],
++                    [*:*], [
++                        dnl Note: on Windows MSYS2 this embeds "C:/msys64/mingw..." into the string [nut#1584]
++                        nut_cv_PYTHON_SITE_PACKAGES="`cd "$nut_cv_PYTHON_SITE_PACKAGES" && pwd`"
++                        ]
++                   )
++               ])
+             ])
+-        AC_SUBST([PYTHON_SITE_PACKAGES], [${PYTHON_SITE_PACKAGES}])
++        AC_SUBST([PYTHON_SITE_PACKAGES], [${nut_cv_PYTHON_SITE_PACKAGES}])
+         AM_CONDITIONAL([HAVE_PYTHON_SITE_PACKAGES], [test x"${PYTHON_SITE_PACKAGES}" != "x"])
+     ])
+ ])
+@@ -228,17 +228,17 @@ AC_DEFUN([NUT_CHECK_PYTHON2],
+         AM_CONDITIONAL([HAVE_PYTHON2], [test -n "${PYTHON2}" && test "${PYTHON2}" != "no"])
+         AS_IF([test -n "${PYTHON2}" && test "${PYTHON2}" != "no"], [
+             export PYTHON2
+-            AC_MSG_CHECKING([python2 site-packages location])
+-            PYTHON2_SITE_PACKAGES="`${PYTHON2} -c 'import site; print(site.getsitepackages().pop(0))'`"
+-            AS_CASE(["$PYTHON2_SITE_PACKAGES"],
+-                [*:*], [
+-                    dnl Note: on Windows MSYS2 this embeds "C:/msys64/mingw..." into the string [nut#1584]
+-                    PYTHON2_SITE_PACKAGES="`cd "$PYTHON2_SITE_PACKAGES" && pwd`"
+-                    ]
+-                )
+-            AC_MSG_RESULT([${PYTHON2_SITE_PACKAGES}])
++            AC_CACHE_CHECK([python2 site-packages location], [nut_cv_PYTHON2_SITE_PACKAGES], [
++                nut_cv_PYTHON2_SITE_PACKAGES="`${PYTHON2} -c 'import site; print(site.getsitepackages().pop(0))'`"
++                AS_CASE(["$nut_cv_PYTHON2_SITE_PACKAGES"],
++                    [*:*], [
++                        dnl Note: on Windows MSYS2 this embeds "C:/msys64/mingw..." into the string [nut#1584]
++                        nut_cv_PYTHON2_SITE_PACKAGES="`cd "$nut_cv_PYTHON2_SITE_PACKAGES" && pwd`"
++                        ]
++                    )
++                ])
+             ])
+-        AC_SUBST([PYTHON2_SITE_PACKAGES], [${PYTHON2_SITE_PACKAGES}])
++        AC_SUBST([PYTHON2_SITE_PACKAGES], [${nut_cv_PYTHON2_SITE_PACKAGES}])
+         AM_CONDITIONAL([HAVE_PYTHON2_SITE_PACKAGES], [test x"${PYTHON2_SITE_PACKAGES}" != "x"])
+     ])
+ ])
+@@ -340,17 +340,17 @@ AC_DEFUN([NUT_CHECK_PYTHON3],
+         AM_CONDITIONAL([HAVE_PYTHON3], [test -n "${PYTHON3}" && test "${PYTHON3}" != "no"])
+         AS_IF([test -n "${PYTHON3}" && test "${PYTHON3}" != "no"], [
+             export PYTHON3
+-            AC_MSG_CHECKING([python3 site-packages location])
+-            PYTHON3_SITE_PACKAGES="`${PYTHON3} -c 'import site; print(site.getsitepackages().pop(0))'`"
+-            AS_CASE(["$PYTHON3_SITE_PACKAGES"],
+-                [*:*], [
+-                    dnl Note: on Windows MSYS2 this embeds "C:/msys64/mingw..." into the string [nut#1584]
+-                    PYTHON3_SITE_PACKAGES="`cd "$PYTHON3_SITE_PACKAGES" && pwd`"
+-                    ]
+-                )
+-            AC_MSG_RESULT([${PYTHON3_SITE_PACKAGES}])
++            AC_CACHE_CHECK([python3 site-packages location], [nut_cv_PYTHON3_SITE_PACKAGES], [
++                nut_cv_PYTHON3_SITE_PACKAGES="`${PYTHON3} -c 'import site; print(site.getsitepackages().pop(0))'`"
++                AS_CASE(["$nut_cv_PYTHON3_SITE_PACKAGES"],
++                    [*:*], [
++                        dnl Note: on Windows MSYS2 this embeds "C:/msys64/mingw..." into the string [nut#1584]
++                        nut_cv_PYTHON3_SITE_PACKAGES="`cd "$nut_cv_PYTHON3_SITE_PACKAGES" && pwd`"
++                        ]
++                    )
++                ])
+             ])
+-        AC_SUBST([PYTHON3_SITE_PACKAGES], [${PYTHON3_SITE_PACKAGES}])
++        AC_SUBST([PYTHON3_SITE_PACKAGES], [${nut_cv_PYTHON3_SITE_PACKAGES}])
+         AM_CONDITIONAL([HAVE_PYTHON3_SITE_PACKAGES], [test x"${PYTHON3_SITE_PACKAGES}" != "x"])
+     ])
+ ])
+-- 
+2.42.0
+
diff --git a/package/nut/nut.mk b/package/nut/nut.mk
index ba71319f90..371c783783 100644
--- a/package/nut/nut.mk
+++ b/package/nut/nut.mk
@@ -12,6 +12,7 @@ NUT_SELINUX_MODULES = apache nut
 NUT_INSTALL_STAGING = YES
 NUT_DEPENDENCIES = host-pkgconf
 # We're patching m4/nut_compiler_family.m4
+# We're patching m4/nut_check_python.m4
 NUT_AUTORECONF = YES
 
 # Put the PID files in a read-write place (/var/run is a tmpfs)
@@ -20,6 +21,8 @@ NUT_CONF_OPTS = \
 	--with-altpidpath=/var/run/upsd \
 	--with-dev \
 	--without-doc \
+	--without-python \
+	--without-python2 \
 	--with-user=nut \
 	--with-group=nut
 
@@ -107,4 +110,16 @@ else
 NUT_CONF_OPTS += --without-ssl
 endif
 
+ifeq ($(BR2_PACKAGE_PYTHON3),y)
+NUT_DEPENDENCIES += python3
+NUT_CONF_ENV += nut_cv_PYTHON3_SITE_PACKAGES=/usr/lib/python$(PYTHON3_VERSION_MAJOR)/site-packages
+NUT_CONF_OPTS += \
+	--with-pynut \
+	--with-python3
+else
+NUT_CONF_OPTS += \
+	--without-pynut \
+	--without-python3
+endif
+
 $(eval $(autotools-package))
-- 
2.42.0

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [Buildroot] [PATCH 2/2] package/nut: fix python build
  2023-11-04 15:19 ` [Buildroot] [PATCH 2/2] package/nut: fix python build Fabrice Fontaine
@ 2023-11-04 17:39   ` Thomas Petazzoni via buildroot
  0 siblings, 0 replies; 4+ messages in thread
From: Thomas Petazzoni via buildroot @ 2023-11-04 17:39 UTC (permalink / raw)
  To: Fabrice Fontaine; +Cc: Bernd Kuhls, Yann E . MORIN, buildroot

On Sat,  4 Nov 2023 16:19:44 +0100
Fabrice Fontaine <fontaine.fabrice@gmail.com> wrote:

> +Subject: [PATCH 2/2] m4/nut_check_python.m4: allow overriding of
> + PYTHON{2,3}_SITE_PACKAGES

Patches should be generated with git format-patch -N to not have
numbering (2/2).

> +
> +Allow the end-user to override PYTHON{2,3}_SITE_PACKAGES as this can be
> +useful when cross-compiling
> +
> +Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>

Upstream status? :-)

Thanks!

Thomas
-- 
Thomas Petazzoni, co-owner and CEO, Bootlin
Embedded Linux and Kernel engineering and training
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [Buildroot] [PATCH 1/2] package/nut: replace NUT_FIX_CONFIGURE
  2023-11-04 15:19 [Buildroot] [PATCH 1/2] package/nut: replace NUT_FIX_CONFIGURE Fabrice Fontaine
  2023-11-04 15:19 ` [Buildroot] [PATCH 2/2] package/nut: fix python build Fabrice Fontaine
@ 2023-11-04 17:40 ` Thomas Petazzoni via buildroot
  1 sibling, 0 replies; 4+ messages in thread
From: Thomas Petazzoni via buildroot @ 2023-11-04 17:40 UTC (permalink / raw)
  To: Fabrice Fontaine; +Cc: Bernd Kuhls, Yann E . MORIN, buildroot

On Sat,  4 Nov 2023 16:19:43 +0100
Fabrice Fontaine <fontaine.fabrice@gmail.com> wrote:

> Replace NUT_FIX_CONFIGURE by an upstreamable patch
> 
> Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
> ---
>  ...iler_family.m4-fix-cross-compilation.patch | 55 +++++++++++++++++++
>  package/nut/nut.mk                            |  9 +--
>  2 files changed, 57 insertions(+), 7 deletions(-)
>  create mode 100644 package/nut/0001-m4-nut_compiler_family.m4-fix-cross-compilation.patch

Applied to master, thanks.

Thomas
-- 
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2023-11-04 17:40 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-11-04 15:19 [Buildroot] [PATCH 1/2] package/nut: replace NUT_FIX_CONFIGURE Fabrice Fontaine
2023-11-04 15:19 ` [Buildroot] [PATCH 2/2] package/nut: fix python build Fabrice Fontaine
2023-11-04 17:39   ` Thomas Petazzoni via buildroot
2023-11-04 17:40 ` [Buildroot] [PATCH 1/2] package/nut: replace NUT_FIX_CONFIGURE Thomas Petazzoni via buildroot

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox