* [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