diff --git a/.gitignore b/.gitignore index 152bf81..a737052 100644 --- a/.gitignore +++ b/.gitignore @@ -11,3 +11,7 @@ nut-2.4.3.tar.gz /nut-2.7.4.tar.gz /nut-2.8.0.tar.gz /nut-2.8.1.tar.gz +/nut-2.8.2.tar.gz +/nut-2.8.2.1.tar.gz +/nut-2.8.3.tar.gz +/nut-2.8.4.tar.gz diff --git a/nut-2.6.5-rmpidf.patch b/nut-2.6.5-rmpidf.patch index 7755382..40365b8 100644 --- a/nut-2.6.5-rmpidf.patch +++ b/nut-2.6.5-rmpidf.patch @@ -1,18 +1,18 @@ -diff -up nut-2.8.1/clients/upsmon.c.rmpidf nut-2.8.1/clients/upsmon.c ---- nut-2.8.1/clients/upsmon.c.rmpidf 2023-11-01 10:10:03.039782733 +0100 -+++ nut-2.8.1/clients/upsmon.c 2023-11-01 10:14:48.824806113 +0100 -@@ -3059,6 +3059,7 @@ int main(int argc, char *argv[]) +diff -up nut-2.8.2.1/clients/upsmon.c.rmpidf nut-2.8.2.1/clients/upsmon.c +--- nut-2.8.2.1/clients/upsmon.c.rmpidf 2024-07-03 12:18:04.788135176 +0200 ++++ nut-2.8.2.1/clients/upsmon.c 2024-07-03 12:19:33.164964473 +0200 +@@ -3309,6 +3309,7 @@ int main(int argc, char *argv[]) upslogx(LOG_INFO, "Signal %d: exiting", exit_flag); upsnotify(NOTIFY_STATE_STOPPING, "Signal %d: exiting", exit_flag); upsmon_cleanup(); + cleanpid(prog); + upsdebugx(1, "Finally exiting due to signal %d", exit_flag); exit(EXIT_SUCCESS); - } -diff -up nut-2.8.1/common/common.c.rmpidf nut-2.8.1/common/common.c ---- nut-2.8.1/common/common.c.rmpidf 2023-10-30 00:02:33.000000000 +0100 -+++ nut-2.8.1/common/common.c 2023-11-01 10:10:03.040782744 +0100 -@@ -519,6 +519,20 @@ pid_t parsepid(const char *buf) +diff -up nut-2.8.2.1/common/common.c.rmpidf nut-2.8.2.1/common/common.c +--- nut-2.8.2.1/common/common.c.rmpidf 2024-07-03 12:14:56.000000000 +0200 ++++ nut-2.8.2.1/common/common.c 2024-07-03 12:18:04.788135176 +0200 +@@ -1338,6 +1338,20 @@ pid_t parsepid(const char *buf) return pid; } @@ -33,10 +33,10 @@ diff -up nut-2.8.1/common/common.c.rmpidf nut-2.8.1/common/common.c /* open pidfn, get the pid, then send it sig * returns negative codes for errors, or * zero for a successfully sent signal -diff -up nut-2.8.1/include/common.h.rmpidf nut-2.8.1/include/common.h ---- nut-2.8.1/include/common.h.rmpidf 2023-10-24 10:45:21.000000000 +0200 -+++ nut-2.8.1/include/common.h 2023-11-01 10:10:03.040782744 +0100 -@@ -211,6 +211,9 @@ void chroot_start(const char *path); +diff -up nut-2.8.2.1/include/common.h.rmpidf nut-2.8.2.1/include/common.h +--- nut-2.8.2.1/include/common.h.rmpidf 2024-07-03 12:14:56.000000000 +0200 ++++ nut-2.8.2.1/include/common.h 2024-07-03 12:18:04.788135176 +0200 +@@ -262,6 +262,9 @@ int checkprocname(pid_t pid, const char /* write a pid file - is a full pathname *or* just the program name */ void writepid(const char *name); @@ -46,10 +46,10 @@ diff -up nut-2.8.1/include/common.h.rmpidf nut-2.8.1/include/common.h /* parses string buffer into a pid_t if it passes * a few sanity checks; returns -1 on error */ pid_t parsepid(const char *buf); -diff -up nut-2.8.1/server/upsd.c.rmpidf nut-2.8.1/server/upsd.c ---- nut-2.8.1/server/upsd.c.rmpidf 2023-11-01 10:10:03.040782744 +0100 -+++ nut-2.8.1/server/upsd.c 2023-11-01 10:15:57.176529218 +0100 -@@ -2137,5 +2137,6 @@ int main(int argc, char **argv) +diff -up nut-2.8.2.1/server/upsd.c.rmpidf nut-2.8.2.1/server/upsd.c +--- nut-2.8.2.1/server/upsd.c.rmpidf 2024-07-03 12:14:56.000000000 +0200 ++++ nut-2.8.2.1/server/upsd.c 2024-07-03 12:18:04.789135186 +0200 +@@ -2304,5 +2304,6 @@ int main(int argc, char **argv) upsnotify(NOTIFY_STATE_STOPPING, "Signal %d: exiting", exit_flag); ssl_cleanup(); diff --git a/nut-2.8.3-rhinoname.patch b/nut-2.8.3-rhinoname.patch new file mode 100644 index 0000000..71be46d --- /dev/null +++ b/nut-2.8.3-rhinoname.patch @@ -0,0 +1,23 @@ +diff -up nut-2.8.4-build/nut-2.8.4/drivers/Makefile.am.rhinoname nut-2.8.4-build/nut-2.8.4/drivers/Makefile.am +--- nut-2.8.4-build/nut-2.8.4/drivers/Makefile.am.rhinoname 2025-08-14 11:08:48.763700333 +0200 ++++ nut-2.8.4-build/nut-2.8.4/drivers/Makefile.am 2025-08-14 11:29:43.803846801 +0200 +@@ -74,7 +74,7 @@ NUTSW_DRIVERLIST = $(NUTSW_DRIVERLIST_DU + SERIAL_DRIVERLIST = al175 bcmxcp belkin belkinunv bestfcom \ + bestfortress bestuferrups bestups etapro everups \ + gamatronic genericups isbmex liebert liebert-esp2 liebert-gxe masterguard metasys \ +- mge-utalk microdowell microsol-apc mge-shut nutdrv_hashx oneac optiups powercom powervar_cx_ser rhino \ ++ mge-utalk microdowell microsol-apc mge-shut nutdrv_hashx oneac optiups powercom powervar_cx_ser nutdrv_rhino \ + safenet nutdrv_siemens-sitop solis tripplite tripplitesu upscode2 victronups powerpanel \ + blazer_ser ivtscd apcsmart apcsmart-old riello_ser sms_ser bicker_ser ve-direct + if HAVE_LINUX_SERIAL_H +@@ -198,8 +198,8 @@ powerpanel_SOURCES = powerpanel.c powerp + powerpanel_LDADD = $(LDADD) -lm + powervar_cx_ser_SOURCES = powervar_cx_ser.c powervar_cx.c + powervar_cx_ser_CFLAGS = $(AM_CFLAGS) -DPVAR_SERIAL=1 +-rhino_SOURCES = rhino.c +-rhino_LDADD = $(LDADD) -lm ++nutdrv_rhino_SOURCES = rhino.c ++nutdrv_rhino_LDADD = $(LDADD) -lm + safenet_SOURCES = safenet.c + nutdrv_siemens_sitop_SOURCES = nutdrv_siemens_sitop.c + solis_SOURCES = solis.c diff --git a/nut-c99-strdup.patch b/nut-c99-strdup.patch deleted file mode 100644 index 90c83db..0000000 --- a/nut-c99-strdup.patch +++ /dev/null @@ -1,17 +0,0 @@ -Fix strdup configure test: Remove a call to the undeclared free -function. - -Submitted upstream: - -diff --git a/configure.ac b/configure.ac -index 3aa26c24ebc99bb6..c93ccd1e494874d5 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -294,7 +294,6 @@ AC_CACHE_CHECK([for strdup(s)], - char *t = "Test"; - char *s = strdup(t); - if (!s || !(s[0]=='T'&&s[1]=='e'&&s[2]=='s'&&s[3]=='t'&&s[4]=='\0') || s == t) res = 1; --if (s) free (s); - if (res != 0) return res - /* autoconf adds ";return 0;" */ - ]])], diff --git a/nut.spec b/nut.spec index 53018a6..58cd826 100644 --- a/nut.spec +++ b/nut.spec @@ -7,14 +7,14 @@ %global cgidir /var/www/nut-cgi-bin %global piddir /run/nut -%global modeldir /usr/sbin +%global modeldir %{_sbindir} # powerman is retired on Fedora, therefore disable it by default %bcond_with powerman Summary: Network UPS Tools Name: nut -Version: 2.8.1 -Release: 2%{?dist} +Version: 2.8.4 +Release: 1%{?dist} License: GPL-2.0-or-later AND GPL-3.0-or-later Url: https://www.networkupstools.org/ Source: https://www.networkupstools.org/source/2.8/%{name}-%{version}.tar.gz @@ -23,14 +23,16 @@ Patch2: nut-2.8.0-piddir-owner.patch #quick fix. TODO: fix it properly Patch9: nut-2.6.5-rmpidf.patch -Patch15: nut-c99-strdup.patch +Patch16: nut-2.8.3-rhinoname.patch -Requires(pre): shadow-utils Requires(post): coreutils systemd Requires(preun): systemd Requires(postun): coreutils systemd Recommends: nut-xml +Requires: group(dialout) +Requires: group(tty) +BuildRequires: asciidoc BuildRequires: make BuildRequires: autoconf BuildRequires: automake @@ -46,6 +48,7 @@ BuildRequires: freetype-devel BuildRequires: gcc BuildRequires: gcc-c++ BuildRequires: gd-devel +BuildRequires: jq %if 0%{?fedora} < 39 BuildRequires: libgpiod-devel %endif @@ -68,6 +71,7 @@ BuildRequires: powerman-devel %endif BuildRequires: python3-devel BuildRequires: python3-setuptools +BuildRequires: systemd-devel BuildRequires: systemd-rpm-macros %ifnarch s390 s390x @@ -89,12 +93,12 @@ live status tracking on web pages, and more. Summary: Network UPS Tools client monitoring utilities Requires(post): systemd Requires(preun): systemd -Requires(pre): shadow-utils %if %{with python2} Requires: pygtk2, pygtk2-libglade #only for python and gui part %endif -#Requires: +Requires: group(dialout) +Requires: group(tty) %description client This package includes the client utilities that are required to monitor a @@ -104,7 +108,6 @@ attached to a different computer on the network. %package cgi Summary: CGI utilities for the Network UPS Tools Requires: %{name}-client = %{version}-%{release} webserver -Requires(pre): shadow-utils %description cgi This package includes CGI programs for accessing UPS status via a web @@ -128,9 +131,8 @@ necessary to develop NUT client applications. %prep %setup -q -%patch -P2 -p1 -b .piddir-owner -%patch -P9 -p1 -b .rmpidf -%patch -P15 -p1 +%patch -P 9 -p1 -b .rmpidf +%patch -P 16 -p2 -b .rhinoname sed -i 's|=NUT-Monitor|=nut-monitor|' scripts/python/app/nut-monitor-py3qt5.desktop sed -i "s|sys.argv\[0\]|'%{_datadir}/%{name}/nut-monitor/nut-monitor'|" scripts/python/app/NUT-Monitor-py3qt5.in @@ -143,6 +145,13 @@ find . -mtime -1 -print0 | xargs -0 touch --reference %{SOURCE0} # fix python site packages check sed -i 's|\(PYTHON3\?_SITE_PACKAGES=\)".*"|\1"%{python3_sitelib}"|' m4/nut_check_python.m4 +# Create a sysusers.d config file +cat >nut.sysusers.conf < 38 #--without-gpio is not enough to stop it complaining about missing library @@ -162,6 +171,8 @@ export LDFLAGS="-Wl,-z,now" --with-nss \ %endif --without-wrap \ + --with-modbus \ + --without-linux-i2c \ --with-cgi \ --with-python=%{python3} \ --with-python3=%{python3} \ @@ -183,7 +194,8 @@ export LDFLAGS="-Wl,-z,now" --with-pkgconfig-dir=%{_libdir}/pkgconfig \ --disable-static \ --with-udev-dir=%{_usr}/lib/udev \ - --libdir=%{_libdir} + --libdir=%{_libdir} \ + --enable-docs-changelog=no # --with-doc # does not work in 2.7.1 # for rhbz#838139 check if still needed? @@ -232,6 +244,9 @@ do mv -f $fe.new $fe done +# rename rhino to nutdrv_rhino to prevent file conflict (rhbz#2367057) +mv %{buildroot}%{_mandir}/man8/rhino.8 %{buildroot}%{_mandir}/man8/nutdrv_rhino.8 + # install PyNUT install -p -D -m 644 scripts/python/module/PyNUT.py %{buildroot}%{python3_sitelib}/PyNUT.py # install nut-monitor @@ -249,11 +264,9 @@ ln -s %{_datadir}/nut/nut-monitor/nut-monitor %{buildroot}%{_bindir}/nut-monitor touch %{buildroot}/%{piddir}/upsmon.pid chmod 0644 %{buildroot}/%{piddir}/upsmon.pid -%pre -/usr/sbin/useradd -c "Network UPS Tools" -u %{nut_uid} \ - -s /bin/false -r -d %{_localstatedir}/lib/ups %{name} 2> /dev/null || : -/usr/sbin/usermod -G dialout,tty %{name} +install -m0644 -D nut.sysusers.conf %{buildroot}%{_sysusersdir}/nut.conf +%pre # do not let upsmon run during upgrade rhbz#916472 # phase 1: stop upsmon before upsd changes if [ "$1" = "2" ]; then @@ -272,15 +285,7 @@ fi %postun %systemd_postun_with_restart nut-driver.target nut-server.service -%pre client -/usr/sbin/useradd -c "Network UPS Tools" -u %{nut_uid} \ - -s /bin/false -r -d %{_localstatedir}/lib/ups %{name} 2> /dev/null || : -/usr/sbin/usermod -G dialout,tty %{name} -%pre cgi -/usr/sbin/useradd -c "Network UPS Tools" -u %{nut_uid} \ - -s /bin/false -r -d %{_localstatedir}/lib/ups %{name} 2> /dev/null || : -/usr/sbin/usermod -G dialout,tty %{name} %post client %systemd_post nut-monitor.service nut.target @@ -313,22 +318,35 @@ fi %exclude %{modeldir}/netxml-ups %{_unitdir}/nut-driver-enumerator.path %{_unitdir}/nut-driver-enumerator.service +%{_unitdir}/nut-driver-enumerator-daemon-activator.path +%{_unitdir}/nut-driver-enumerator-daemon-activator.service +%{_unitdir}/nut-driver-enumerator-daemon.service %{_unitdir}/nut-driver@.service %{_unitdir}/nut-driver.target %{_unitdir}/nut-server.service %{_unitdir}/nut.target +%{_presetdir}/nut-systemd.preset +%{_unitdir}/enphase-monitor@.service +%{_unitdir}/nut-logger.service +%{_unitdir}/nut-udev-settle.service %{_sbindir}/upsd +%{_bindir}/nutconf %{_bindir}/nut-scanner %{_libdir}/libnutscan.so.* +%{_libdir}/libnutconf.so.* %{_libexecdir}/nut-driver-enumerator.sh %{_libexecdir}/sockdebug +%{_libexecdir}/enphase-monitor %{_datadir}/augeas/lenses/dist/nut* +%{_datadir}/augeas/lenses/dist/tests/test_nut.aug %{_datadir}/%{name}/cmdvartab %{_datadir}/%{name}/driver.list %{_mandir}/man5/ups.conf.5.gz %{_mandir}/man5/upsd.conf.5.gz %{_mandir}/man5/upsd.users.5.gz +%{_mandir}/man8/nutconf.8.gz + %{_mandir}/man8/adelsystem_cbi.8.gz %{_mandir}/man8/apc_modbus.8.gz @@ -336,7 +354,6 @@ fi %{_mandir}/man8/apcsmart.8.gz %{_mandir}/man8/apcsmart-old.8.gz %{_mandir}/man8/apcupsd-ups.8.gz -%{_mandir}/man8/asem.8.gz %{_mandir}/man8/bcmxcp.8* %{_mandir}/man8/bcmxcp_usb.8.gz %{_mandir}/man8/belkin.8.gz @@ -345,12 +362,15 @@ fi %{_mandir}/man8/bestfortress.8.gz %{_mandir}/man8/bestups.8.gz %{_mandir}/man8/bestuferrups.8.gz +%{_mandir}/man8/bicker_ser.8.gz %{_mandir}/man8/blazer_ser.8.gz %{_mandir}/man8/blazer_usb.8.gz %{_mandir}/man8/clone.8.gz +%{_mandir}/man8/clone-outlet.8.gz %{_mandir}/man8/dummy-ups.8.gz %{_mandir}/man8/everups.8.gz %{_mandir}/man8/etapro.8.gz +%{_mandir}/man8/failover.8.gz %{_mandir}/man8/gamatronic.8.gz %{_mandir}/man8/generic_modbus.8.gz %{_mandir}/man8/genericups.8.gz @@ -362,14 +382,17 @@ fi %{_mandir}/man8/ivtscd.8.gz %{_mandir}/man8/liebert.8.gz %{_mandir}/man8/liebert-esp2.8.gz +%{_mandir}/man8/liebert-gxe.8.gz %{_mandir}/man8/masterguard.8.gz %{_mandir}/man8/metasys.8.gz %{_mandir}/man8/microdowell.8.gz %{_mandir}/man8/microsol-apc.8.gz %{_mandir}/man8/mge-utalk.8.gz %{_mandir}/man8/mge-shut.8.gz +%{_mandir}/man8/nhs_ser.8.gz %{_mandir}/man8/nutupsdrv.8.gz %{_mandir}/man8/nutdrv_atcl_usb.8.gz +%{_mandir}/man8/nutdrv_hashx.8.gz %{_mandir}/man8/nutdrv_siemens_sitop.8.gz %{_mandir}/man8/nut-driver-enumerator.8.gz %{_mandir}/man8/nut-ipmipsu.8.gz @@ -379,13 +402,14 @@ fi %{_mandir}/man8/oneac.8.gz %{_mandir}/man8/optiups.8.gz %{_mandir}/man8/phoenixcontact_modbus.8.gz -%{_mandir}/man8/pijuice.8.gz %{_mandir}/man8/powercom.8.gz %if %{with powerman} %{_mandir}/man8/powerman-pdu.8.gz %endif %{_mandir}/man8/powerpanel.8.gz -%{_mandir}/man8/rhino.8.gz +%{_mandir}/man8/powervar_cx_ser.8.gz +%{_mandir}/man8/powervar_cx_usb.8.gz +%{_mandir}/man8/nutdrv_rhino.8.gz %{_mandir}/man8/richcomm_usb.8.gz %{_mandir}/man8/riello_ser.8.gz %{_mandir}/man8/riello_usb.8.gz @@ -404,6 +428,9 @@ fi %{_mandir}/man8/upsdrvctl.8.gz %{_mandir}/man8/upsdrvsvcctl.8.gz %{_mandir}/man8/usbhid-ups.8.gz +%{_mandir}/man8/victronups.8.gz +%{_mandir}/man8/ve-direct.8.gz +%{_sysusersdir}/nut.conf %files client %license COPYING LICENSE-GPL2 LICENSE-GPL3 @@ -433,6 +460,7 @@ fi %{_mandir}/man5/nut.conf.5.gz %{_mandir}/man5/upsmon.conf.5.gz %{_mandir}/man5/upssched.conf.5.gz +%{_mandir}/man7/nut.7.gz %{_mandir}/man8/upsc.8.gz %{_mandir}/man8/upscmd.8.gz %{_mandir}/man8/upslog.8.gz @@ -447,6 +475,7 @@ fi %{_datadir}/pixmaps/nut-monitor.png %{_datadir}/applications/nut-monitor.desktop %endif +%{_sysusersdir}/nut.conf %files cgi %config(noreplace) %attr(644,root,root) %{_sysconfdir}/ups/hosts.conf @@ -474,13 +503,27 @@ fi %{_libdir}/libupsclient.so %{_libdir}/libnutclient.so %{_libdir}/libnutclientstub.so +%{_libdir}/libnutconf.so %{_libdir}/libnutscan.so %{_libdir}/pkgconfig/libupsclient.pc %{_libdir}/pkgconfig/libnutclient.pc +%{_libdir}/pkgconfig/libnutconf.pc %{_libdir}/pkgconfig/libnutclientstub.pc %{_libdir}/pkgconfig/libnutscan.pc %changelog +* Tue Apr 29 2025 Michal Hlavinka - 2.8.3-1 +- updated to 2.8.3 (#2352734) +- Add sysusers.d config file to allow rpm to create users/groups automatically +- fix ftbfs, make it build with unified bin/sbin +- Add BR systemd-devel to enable systemd notification support + +* Wed Oct 02 2024 Michal Hlavinka - 2.8.2-2 +- enable modbus drivers (rhbz#2314661) + +* Wed Sep 04 2024 Michal Hlavinka - 2.8.2.1-1 +- updated to 2.8.2 (rhbz#2307300) + * Thu Nov 30 2023 Orion Poplawski - 2.8.1-2 - Re-add nut.target to nut-client (bz#2156504) @@ -536,60 +579,22 @@ fi * Thu Jan 20 2022 Fedora Release Engineering - 2.7.4-44 - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild -* Thu Sep 23 2021 Miro Hrončok - 2.7.4-43 -- Don't own /usr/lib/python3.X/site-packages +* Tue Feb 14 2023 Michal Hlavinka - 2.8.0-4 +- add nut-xml to nut recommends (#1379382) -* Tue Sep 14 2021 Sahana Prasad - 2.7.4-42 -- Rebuilt with OpenSSL 3.0.0 +* Mon Dec 12 2022 Michal Hlavinka - 2.8.0-3 +- apply missing patch -* Thu Jul 22 2021 Fedora Release Engineering - 2.7.4-41 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild +* Tue Dec 06 2022 Michal Hlavinka - 2.8.0-2 +- fix STATEPATH location and creation (#2024651) +- merged C99 related changes to configure from fedora -* Tue Jun 08 2021 Michal Hlavinka - 2.7.4-40 -- drop snmp-ups support for DES, as required net-snmp no longer supports it +* Tue Sep 13 2022 Michal Hlavinka - 2.8.0-1 +- update to 2.8.0 -* Fri Jun 04 2021 Python Maint - 2.7.4-39 -- Rebuilt for Python 3.10 - -* Tue Mar 02 2021 Zbigniew Jędrzejewski-Szmek - 2.7.4-38 -- Rebuilt for updated systemd-rpm-macros - See https://pagure.io/fesco/issue/2583. - -* Tue Jan 26 2021 Fedora Release Engineering - 2.7.4-37 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild - -* Tue Sep 15 2020 Jeff Law - 2.7.4-36 -- Force C++14 as this code is not C++17 ready - -* Wed Sep 02 2020 Josef Ridky - 2.7.4-35 -- Resolves: #1865077 - FTBFS in Fedora 33 -- Rebuilt for new release of net-snmp - -* Sat Aug 01 2020 Fedora Release Engineering - 2.7.4-34 -- Second attempt - Rebuilt for - https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild - -* Tue Jul 28 2020 Fedora Release Engineering - 2.7.4-33 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild - -* Tue Jun 02 2020 Michal Hlavinka - 2.7.4-32 +* Tue Jun 02 2020 Michal Hlavinka - 2.7.4-27 - nut user needs tty group for wall (#1774591) -* Tue Jun 02 2020 Michal Hlavinka - 2.7.4-31 -- update tmpfiles nut run directory - -* Tue May 26 2020 Orion Poplawski - 2.7.4-30 -- Drop old udev requires/scriptlet - -* Tue May 26 2020 Orion Poplawski - 2.7.4-29 -- Add upstream patch for OpenSSL 1.1.0 support, enable for Fedora >= 33 - -* Tue May 26 2020 Miro Hrončok - 2.7.4-28 -- Rebuilt for Python 3.9 - -* Wed Jan 29 2020 Fedora Release Engineering - 2.7.4-27 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild - * Fri Oct 04 2019 Michal Hlavinka - 2.7.4-26 - drop pygtk2 requirements diff --git a/sources b/sources index df09b8e..5f00a02 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (nut-2.8.1.tar.gz) = 32bff67749ef28cf57860bb5859d06b0a76daeada7f22eba59962f1695edb1f0f444d912fc4ae8c14ac3af5ab08b9cdb64d0ed65884fd38adc4bc8e470ce2a4c +SHA512 (nut-2.8.4.tar.gz) = 0d87c0006608f92ae54f8a500f93d9a81eac1d9abf57f32e7718dd72f265b8293a0b6cdba04c802b81eaf8907b52669c36b47b6875a4377f9752845ac6c5e8fa