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..d2571cf438 --- /dev/null +++ b/package/nut/0002-m4-nut_check_python.m4-allow-overriding-of-PYTHON-2-.patch @@ -0,0 +1,106 @@ +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] 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> +Upstream: https://github.com/networkupstools/nut/pull/2147 +--- + 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))