commit: 80e19450f228ed442f49de55d018b3209b091f8e Author: Francisco Javier Félix <web <AT> inode64 <DOT> com> AuthorDate: Sat Oct 25 10:26:20 2025 +0000 Commit: Sam James <sam <AT> gentoo <DOT> org> CommitDate: Sat Oct 25 19:19:27 2025 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=80e19450
sys-power/nut: Update version and solve small problems Update live ebuild and new version 2.8.4 update the path of the upsdrvctl executable Change ewarn by eend in openrc upsdrv Enable SYSTEMD_SUPPORTS_DAEMON_TYPE_NOTIFY_RELOAD and SYSTEMD_SUPPORTS_DAEMON_TYPE_NOTIFY only when active systemd build Closes: https://bugs.gentoo.org/959095 Closes: https://bugs.gentoo.org/960608 Signed-off-by: Fco Javier Felix <ffelix <AT> inode64.com> Part-of: https://github.com/gentoo/gentoo/pull/44328 Closes: https://github.com/gentoo/gentoo/pull/44328 Signed-off-by: Sam James <sam <AT> gentoo.org> sys-power/nut/Manifest | 1 + sys-power/nut/files/nut-2.2.2-init.d-upsdrv | 2 +- sys-power/nut/files/nut.powerfail.initd | 2 +- sys-power/nut/files/systemd_notify_285.patch | 54 ++++++++++++++++++++++ .../nut/files/systemd_notify_285_openrc.patch | 54 ++++++++++++++++++++++ sys-power/nut/files/systemd_notify_openrc.patch | 50 ++++++++++++++++++++ .../nut/{nut-9999.ebuild => nut-2.8.4.ebuild} | 11 +++-- sys-power/nut/nut-9999.ebuild | 11 +++-- 8 files changed, 177 insertions(+), 8 deletions(-) diff --git a/sys-power/nut/Manifest b/sys-power/nut/Manifest index 7d9f7ed8a94f..11146357d1ac 100644 --- a/sys-power/nut/Manifest +++ b/sys-power/nut/Manifest @@ -1,2 +1,3 @@ DIST nut-2.8.2.tar.gz 5599935 BLAKE2B 87187293d8acda72c2d807d6f41f2601a318540f63a0ea93782b115402c6b43a0b61ecc710fd6de126d25e59dd4e03681f2b859a87549e9d5f7617ac7b2dad8c SHA512 b6f8f22318e4a4fcb8073a63132b1cb083952c665191b82a7d6765a61b859575a4b0c2ba84ed17cfb8c88d34179876d64520dd2f75f02fe8707b406da2c0821c DIST nut-2.8.3.tar.gz 6240908 BLAKE2B 515e829286b123610a856003a8838a022ae365b193988477086a683b9da0a99b3b1cf048cecd75c764c8a9a03856e966bd9d82333475670d1df43899d9b8a7bf SHA512 0aeafad02ab323b02041a370c586dede91483cab57e0a9d1256a685716ca9f0d0f114df904ef472d48fa53ac1896690b7878828eb3b00934959c7aeaa63af99f +DIST nut-2.8.4.tar.gz 6522704 BLAKE2B 1a9e86c112055b623811e1747aa420ebb8022189c2e43f38c29cca93171d59b895d1ff5487d8f325c79833c6f6a76bffd849fb179db158bb2a1fbf86952dd797 SHA512 ddaca1d0cba17817fd27d036442395d11d64541b0782cd3c33d7b93712a15587dbad54fd7ed8a3ff14b89d75211560f76c30f5b9559e963adb4df7b05b66ec26 diff --git a/sys-power/nut/files/nut-2.2.2-init.d-upsdrv b/sys-power/nut/files/nut-2.2.2-init.d-upsdrv index 2d5f04c77994..c87069ca2fd6 100644 --- a/sys-power/nut/files/nut-2.2.2-init.d-upsdrv +++ b/sys-power/nut/files/nut-2.2.2-init.d-upsdrv @@ -43,5 +43,5 @@ _dostop() { # Not in our control at all ebegin "Stopping UPS $msgtext" /usr/sbin/upsdrvctl stop $UPSNAME - ewarn $? "Failed to stop UPS $msgtext!" + eend $? "Failed to stop UPS $msgtext!" } diff --git a/sys-power/nut/files/nut.powerfail.initd b/sys-power/nut/files/nut.powerfail.initd index f81b258a7cdb..66f2378854eb 100644 --- a/sys-power/nut/files/nut.powerfail.initd +++ b/sys-power/nut/files/nut.powerfail.initd @@ -21,7 +21,7 @@ start() { local UPS_CTL UPS_POWERDOWN if [ -f /etc/killpower -o -f /etc/nut/killpower ]; then - UPS_CTL=/sbin/upsdrvctl + UPS_CTL=/usr/sbin/upsdrvctl UPS_POWERDOWN="${UPS_CTL} shutdown" elif [ -f /etc/apcupsd/powerfail ]; then UPS_CTL=/sbin/apcupsd diff --git a/sys-power/nut/files/systemd_notify_285.patch b/sys-power/nut/files/systemd_notify_285.patch new file mode 100644 index 000000000000..19ab9199c1a1 --- /dev/null +++ b/sys-power/nut/files/systemd_notify_285.patch @@ -0,0 +1,54 @@ +--- old/configure.ac 2025-10-25 09:52:35.665255066 +0200 ++++ new/configure.ac 2025-10-25 09:58:01.495853211 +0200 +@@ -5113,49 +5113,8 @@ + AC_PATH_PROG([SYSTEMD_ANALYZE_PROGRAM], [systemd-analyze], [/usr/bin/systemd-analyze]) + + dnl Relevant since 2023: https://github.com/systemd/systemd/pull/25916 +-SYSTEMD_SUPPORTS_DAEMON_TYPE_NOTIFY=no +-AS_IF([test -x "$SYSTEMD_ANALYZE_PROGRAM"], [ +- AC_MSG_CHECKING([if your systemd version supports Type=notify]) +- myFILE="`${MKTEMP} systemd-analyze-XXXXXX.service`" +- cat > "$myFILE" << EOF +-@<:@Unit@:>@ +-Description=temp +-@<:@Service@:>@ +-ExecStart=/bin/true +-Type=notify +-EOF +- if myOUT="`"$SYSTEMD_ANALYZE_PROGRAM" verify "$myFILE" 2>&1`" ; then +- if (echo "$myOUT" | ${GREP} "Failed to parse service type, ignoring") ; then +- true +- else +- SYSTEMD_SUPPORTS_DAEMON_TYPE_NOTIFY=yes +- fi +- fi +- rm -f "$myFILE" +- AC_MSG_RESULT([${SYSTEMD_SUPPORTS_DAEMON_TYPE_NOTIFY}]) +- ]) +- +-SYSTEMD_SUPPORTS_DAEMON_TYPE_NOTIFY_RELOAD=no +-AS_IF([test -x "$SYSTEMD_ANALYZE_PROGRAM"], [ +- AC_MSG_CHECKING([if your systemd version supports Type=notify-reload]) +- myFILE="`${MKTEMP} systemd-analyze-XXXXXX.service`" +- cat > "$myFILE" << EOF +-@<:@Unit@:>@ +-Description=temp +-@<:@Service@:>@ +-ExecStart=/bin/true +-Type=notify-reload +-EOF +- if myOUT="`"$SYSTEMD_ANALYZE_PROGRAM" verify "$myFILE" 2>&1`" ; then +- if (echo "$myOUT" | ${GREP} "Failed to parse service type, ignoring") ; then +- true +- else +- SYSTEMD_SUPPORTS_DAEMON_TYPE_NOTIFY_RELOAD=yes +- fi +- fi +- rm -f "$myFILE" +- AC_MSG_RESULT([${SYSTEMD_SUPPORTS_DAEMON_TYPE_NOTIFY_RELOAD}]) +- ]) ++SYSTEMD_SUPPORTS_DAEMON_TYPE_NOTIFY=yes ++SYSTEMD_SUPPORTS_DAEMON_TYPE_NOTIFY_RELOAD=yes + + AS_IF([test x"${with_libsystemd}" = xyes && test x"${SYSTEMD_SUPPORTS_DAEMON_TYPE_NOTIFY}" = xyes], [ + dnl Built with sd_notify support diff --git a/sys-power/nut/files/systemd_notify_285_openrc.patch b/sys-power/nut/files/systemd_notify_285_openrc.patch new file mode 100644 index 000000000000..f9adce9f14f7 --- /dev/null +++ b/sys-power/nut/files/systemd_notify_285_openrc.patch @@ -0,0 +1,54 @@ +--- old/configure.ac 2025-10-25 09:52:35.665255066 +0200 ++++ new/configure.ac 2025-10-25 09:58:01.495853211 +0200 +@@ -5113,49 +5113,8 @@ + AC_PATH_PROG([SYSTEMD_ANALYZE_PROGRAM], [systemd-analyze], [/usr/bin/systemd-analyze]) + + dnl Relevant since 2023: https://github.com/systemd/systemd/pull/25916 +-SYSTEMD_SUPPORTS_DAEMON_TYPE_NOTIFY=no +-AS_IF([test -x "$SYSTEMD_ANALYZE_PROGRAM"], [ +- AC_MSG_CHECKING([if your systemd version supports Type=notify]) +- myFILE="`${MKTEMP} systemd-analyze-XXXXXX.service`" +- cat > "$myFILE" << EOF +-@<:@Unit@:>@ +-Description=temp +-@<:@Service@:>@ +-ExecStart=/bin/true +-Type=notify +-EOF +- if myOUT="`"$SYSTEMD_ANALYZE_PROGRAM" verify "$myFILE" 2>&1`" ; then +- if (echo "$myOUT" | ${GREP} "Failed to parse service type, ignoring") ; then +- true +- else +- SYSTEMD_SUPPORTS_DAEMON_TYPE_NOTIFY=yes +- fi +- fi +- rm -f "$myFILE" +- AC_MSG_RESULT([${SYSTEMD_SUPPORTS_DAEMON_TYPE_NOTIFY}]) +- ]) +- +-SYSTEMD_SUPPORTS_DAEMON_TYPE_NOTIFY_RELOAD=no +-AS_IF([test -x "$SYSTEMD_ANALYZE_PROGRAM"], [ +- AC_MSG_CHECKING([if your systemd version supports Type=notify-reload]) +- myFILE="`${MKTEMP} systemd-analyze-XXXXXX.service`" +- cat > "$myFILE" << EOF +-@<:@Unit@:>@ +-Description=temp +-@<:@Service@:>@ +-ExecStart=/bin/true +-Type=notify-reload +-EOF +- if myOUT="`"$SYSTEMD_ANALYZE_PROGRAM" verify "$myFILE" 2>&1`" ; then +- if (echo "$myOUT" | ${GREP} "Failed to parse service type, ignoring") ; then +- true +- else +- SYSTEMD_SUPPORTS_DAEMON_TYPE_NOTIFY_RELOAD=yes +- fi +- fi +- rm -f "$myFILE" +- AC_MSG_RESULT([${SYSTEMD_SUPPORTS_DAEMON_TYPE_NOTIFY_RELOAD}]) +- ]) ++SYSTEMD_SUPPORTS_DAEMON_TYPE_NOTIFY=no ++SYSTEMD_SUPPORTS_DAEMON_TYPE_NOTIFY_RELOAD=no + + AS_IF([test x"${with_libsystemd}" = xyes && test x"${SYSTEMD_SUPPORTS_DAEMON_TYPE_NOTIFY}" = xyes], [ + dnl Built with sd_notify support diff --git a/sys-power/nut/files/systemd_notify_openrc.patch b/sys-power/nut/files/systemd_notify_openrc.patch new file mode 100644 index 000000000000..5e7d4101f57d --- /dev/null +++ b/sys-power/nut/files/systemd_notify_openrc.patch @@ -0,0 +1,50 @@ +--- old/configure.ac 2023-06-09 00:53:54.121886669 +0200 ++++ new/configure.ac 2023-06-09 00:57:13.149792791 +0200 +@@ -3220,45 +3220,8 @@ + AC_PATH_PROG([SYSTEMD_ANALYZE_PROGRAM], [systemd-analyze], [/usr/bin/systemd-analyze]) + + dnl Relevant since 2023: https://github.com/systemd/systemd/pull/25916 +-SYSTEMD_SUPPORTS_DAEMON_TYPE_NOTIFY=no +-AS_IF([test -x "$SYSTEMD_ANALYZE_PROGRAM"], [ +- AC_MSG_CHECKING([if your systemd version supports Type=notify]) +- myFILE="`mktemp systemd-analyze-XXXXXX.service`" +- cat > "$myFILE" << EOF +-@<:@Unit@:>@ +-Description=temp +-@<:@Service@:>@ +-ExecStart=/bin/true +-Type=notify +-EOF +- if myOUT="`"$SYSTEMD_ANALYZE_PROGRAM" verify "$myFILE" 2>&1`" \ +- && ! (echo "$myOUT" | grep "Failed to parse service type, ignoring") \ +- ; then +- SYSTEMD_SUPPORTS_DAEMON_TYPE_NOTIFY=yes +- fi +- rm -f "$myFILE" +- AC_MSG_RESULT([${SYSTEMD_SUPPORTS_DAEMON_TYPE_NOTIFY}]) +- ]) +- +-SYSTEMD_SUPPORTS_DAEMON_TYPE_NOTIFY_RELOAD=no +-AS_IF([test -x "$SYSTEMD_ANALYZE_PROGRAM"], [ +- AC_MSG_CHECKING([if your systemd version supports Type=notify-reload]) +- myFILE="`mktemp systemd-analyze-XXXXXX.service`" +- cat > "$myFILE" << EOF +-@<:@Unit@:>@ +-Description=temp +-@<:@Service@:>@ +-ExecStart=/bin/true +-Type=notify-reload +-EOF +- if myOUT="`"$SYSTEMD_ANALYZE_PROGRAM" verify "$myFILE" 2>&1`" \ +- && ! (echo "$myOUT" | grep "Failed to parse service type, ignoring") \ +- ; then +- SYSTEMD_SUPPORTS_DAEMON_TYPE_NOTIFY_RELOAD=yes +- fi +- rm -f "$myFILE" +- AC_MSG_RESULT([${SYSTEMD_SUPPORTS_DAEMON_TYPE_NOTIFY_RELOAD}]) +- ]) ++SYSTEMD_SUPPORTS_DAEMON_TYPE_NOTIFY=no ++SYSTEMD_SUPPORTS_DAEMON_TYPE_NOTIFY_RELOAD=no + + AS_IF([test x"${with_libsystemd}" = xyes && test x"${SYSTEMD_SUPPORTS_DAEMON_TYPE_NOTIFY}" = xyes], [ + dnl Built with sd_notify support diff --git a/sys-power/nut/nut-9999.ebuild b/sys-power/nut/nut-2.8.4.ebuild similarity index 96% copy from sys-power/nut/nut-9999.ebuild copy to sys-power/nut/nut-2.8.4.ebuild index d09cdb86b615..73f9dad09e32 100644 --- a/sys-power/nut/nut-9999.ebuild +++ b/sys-power/nut/nut-2.8.4.ebuild @@ -3,7 +3,7 @@ EAPI=8 -PYTHON_COMPAT=( python3_{11..13} ) +PYTHON_COMPAT=( python3_{11..14} ) inherit bash-completion-r1 desktop linux-info optfeature inherit python-single-r1 systemd tmpfiles toolchain-funcs udev wrapper xdg @@ -61,7 +61,7 @@ BDEPEND=" RDEPEND=" ${DEPEND} monitor? ( $(python_gen_cond_dep ' - dev-python/pyqt5[gui,widgets,${PYTHON_USEDEP}] + dev-python/pyqt6[gui,widgets,${PYTHON_USEDEP}] ') ) selinux? ( sec-policy/selinux-nut ) @@ -69,7 +69,6 @@ RDEPEND=" PATCHES=( "${FILESDIR}/${PN}-2.6.2-lowspeed-buffer-size.patch" - "${FILESDIR}/systemd_notify.patch" ) PATCH_NEEDS_AUTOGEN=1 @@ -101,6 +100,12 @@ pkg_setup() { } src_prepare() { + if use systemd; then + PATCHES+=( "${FILESDIR}/systemd_notify.patch" ) + else + PATCHES+=( "${FILESDIR}/systemd_notify_openrc.patch" ) + fi + default if [[ ${PV} == *9999 ]] || [[ ${PATCH_NEEDS_AUTOGEN} == 1 ]] ; then diff --git a/sys-power/nut/nut-9999.ebuild b/sys-power/nut/nut-9999.ebuild index d09cdb86b615..ebad87ac8620 100644 --- a/sys-power/nut/nut-9999.ebuild +++ b/sys-power/nut/nut-9999.ebuild @@ -3,7 +3,7 @@ EAPI=8 -PYTHON_COMPAT=( python3_{11..13} ) +PYTHON_COMPAT=( python3_{11..14} ) inherit bash-completion-r1 desktop linux-info optfeature inherit python-single-r1 systemd tmpfiles toolchain-funcs udev wrapper xdg @@ -61,7 +61,7 @@ BDEPEND=" RDEPEND=" ${DEPEND} monitor? ( $(python_gen_cond_dep ' - dev-python/pyqt5[gui,widgets,${PYTHON_USEDEP}] + dev-python/pyqt6[gui,widgets,${PYTHON_USEDEP}] ') ) selinux? ( sec-policy/selinux-nut ) @@ -69,7 +69,6 @@ RDEPEND=" PATCHES=( "${FILESDIR}/${PN}-2.6.2-lowspeed-buffer-size.patch" - "${FILESDIR}/systemd_notify.patch" ) PATCH_NEEDS_AUTOGEN=1 @@ -101,6 +100,12 @@ pkg_setup() { } src_prepare() { + if use systemd; then + PATCHES+=( "${FILESDIR}/systemd_notify_285.patch" ) + else + PATCHES+=( "${FILESDIR}/systemd_notify_285_openrc.patch" ) + fi + default if [[ ${PV} == *9999 ]] || [[ ${PATCH_NEEDS_AUTOGEN} == 1 ]] ; then
