* [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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.