Package: libnutclient2t64,libnutscan2t64,libupsclient6t64 Version: 2.8.1-3.1 Severity: serious Tags: patch User: helm...@debian.org Usertags: dep17p1 dep17m2 Control: affects -1 + libnutclient2 libnutscan2 libupsclient6
Hi, a number of packages from src:nut install files in aliased locations. In order to finalize the /usr-merge, we want to move all of them below /usr as doing so removes the bad effects arising from aliasing. Unfortunately, the time64 transition renamed libraries built from nut, so we are triggering a file loss scenario (DEP17 P1) - exactly the thing we want to avoid in future by moving them. To complete this transition in trixie, we have to add a mitigation (protective diversion) and this is why I am sending a patch. Said diversion incurs non-trivial maintainer scripts that are best avoided if possible. Therefore, I reviewed the time64 transition and concluded that the ABI of libnutscan did not change. I therefore propose reverting the time64 transition for libnutscan only. The other two libraries do change ABI and need to be renamed. In reverting libnutscan, we also eliminate the need to mitigate the file loss. I have set the severity of this bug to serious to prevent libnutscan2t64 from transitioning to trixie. The time64 transition should either be reverted before it transitions to trixie or not at all. If you think that it should not be reverted, please lower the severity of this bug and I'll send an updated patch. I note that having fewer library renames makes the bookworm -> trixie upgrade easier, so reverting (when correct) generally is a good thing (and it also reduces maintainer script complexity). I have tested this patch using piuparts. This happens to fail, because some fontconfig files below /etc are not properly removed. I believe this failure is unrelated to my change. I also tested for the particular file loss scenario specifically. mmdebstrap trixie /dev/null --variant=apt --include libnutclient-dev --customize-hook='echo "deb http://deb.debian.org/debian sid main" > "$1/etc/apt/sources.list.d/sid.list"' --chrooted-customize-hook="apt-get update" --customize-hook="upload libnutclient2t64_2.8.1-3.2_amd64.deb /l.deb" --customize-hook="upload libnutclient-dev_2.8.1-3.2_amd64.deb /d.deb" --chrooted-customize-hook="dpkg --auto-deconfigure --unpack /l.deb /d.deb; apt-get -y install /l.deb /d.deb" --chrooted-customize-hook="dpkg --verify" mmdebstrap trixie /dev/null --variant=apt --include libupsclient-dev --customize-hook='echo "deb http://deb.debian.org/debian sid main" > "$1/etc/apt/sources.list.d/sid.list"' --chrooted-customize-hook="apt-get update" --customize-hook="upload libupsclient6t64_2.8.1-3.2_amd64.deb /l.deb" --customize-hook="upload libupsclient-dev_2.8.1-3.2_amd64.deb /d.deb" --chrooted-customize-hook="dpkg --auto-deconfigure --unpack /l.deb /d.deb; apt-get -y install /l.deb /d.deb" --chrooted-customize-hook="dpkg --verify" Last but not least, this patch must not be uploaded to bookworm-backports or earlier as it would violate the file move moratorium there. If you plan to backport nut, you must revert both the time64 transition and this patch. Helmut
diff -Nru nut-2.8.1/debian/changelog nut-2.8.1/debian/changelog --- nut-2.8.1/debian/changelog 2024-02-29 02:26:20.000000000 +0100 +++ nut-2.8.1/debian/changelog 2024-03-26 14:40:41.000000000 +0100 @@ -1,3 +1,11 @@ +nut (2.8.1-3.2) UNRELEASED; urgency=medium + + * Non-maintainer upload. + * Revert unnecessary time64 transition for libnutscan. + * Move files to /usr. (Closes: #-1) + + -- Helmut Grohne <hel...@subdivi.de> Tue, 26 Mar 2024 14:40:41 +0100 + nut (2.8.1-3.1) unstable; urgency=medium * Non-maintainer upload. diff -Nru nut-2.8.1/debian/control nut-2.8.1/debian/control --- nut-2.8.1/debian/control 2024-02-29 02:26:20.000000000 +0100 +++ nut-2.8.1/debian/control 2024-03-26 14:40:41.000000000 +0100 @@ -203,7 +203,7 @@ Package: libupsclient6t64 Provides: ${t64:Provides} Replaces: libupsclient6 -Breaks: libupsclient6 (<< ${source:Version}) +Conflicts: libupsclient6 (<< ${source:Version}) Section: libs Architecture: any Depends: ${misc:Depends}, ${shlibs:Depends} @@ -238,7 +238,7 @@ Package: libnutclient2t64 Provides: ${t64:Provides} Replaces: libnutclient2 -Breaks: libnutclient2 (<< ${source:Version}) +Conflicts: libnutclient2 (<< ${source:Version}) Section: libs Architecture: any Depends: ${misc:Depends}, ${shlibs:Depends} @@ -269,10 +269,10 @@ . This package provides the development files for the new client library. -Package: libnutscan2t64 -Provides: ${t64:Provides} -Replaces: libnutscan2 -Breaks: libnutscan2 (<< ${source:Version}) +Package: libnutscan2 +Provides: libnutscan2t64 (= ${binary:Version}) +Replaces: libnutscan2t64 +Breaks: libnutscan2t64 (<< ${source:Version}) Section: libs Architecture: any Depends: ${misc:Depends}, ${shlibs:Depends} @@ -290,7 +290,7 @@ Package: libnutscan-dev Section: libdevel Architecture: any -Depends: libnutscan2t64 (= ${binary:Version}), ${misc:Depends}, ${shlibs:Depends} +Depends: libnutscan2 (= ${binary:Version}), ${misc:Depends}, ${shlibs:Depends} Breaks: libupsclient-dev (<< 2.7.4-9~) Replaces: libupsclient-dev (<< 2.7.4-9~) Multi-Arch: same diff -Nru nut-2.8.1/debian/libnutclient2t64.install nut-2.8.1/debian/libnutclient2t64.install --- nut-2.8.1/debian/libnutclient2t64.install 2024-01-11 17:01:16.000000000 +0100 +++ nut-2.8.1/debian/libnutclient2t64.install 2024-03-26 14:40:41.000000000 +0100 @@ -1,2 +1,2 @@ -lib/*/libnutclient.so.* -lib/*/libnutclientstub.so.* +usr/lib/*/libnutclient.so.* +usr/lib/*/libnutclientstub.so.* diff -Nru nut-2.8.1/debian/libnutclient2t64.postinst nut-2.8.1/debian/libnutclient2t64.postinst --- nut-2.8.1/debian/libnutclient2t64.postinst 1970-01-01 01:00:00.000000000 +0100 +++ nut-2.8.1/debian/libnutclient2t64.postinst 2024-03-26 14:40:41.000000000 +0100 @@ -0,0 +1,13 @@ +#!/bin/sh + +set -e + +# begin-remove-after: released:trixie +if test "$1" = configure; then + for f in libnutclient.so.2 libnutclient.so.2.0.2 libnutclientstub.so.1 libnutclientstub.so.1.0.1; do + dpkg-divert --no-rename --package libnutclient2t64 --divert "/lib/#DEB_HOST_MULTIARCH#/$f.usr-is-merged" --remove "/lib/#DEB_HOST_MULTIARCH#/$f" + done +fi +# end-remove-after + +#DEBHELPER# diff -Nru nut-2.8.1/debian/libnutclient2t64.preinst nut-2.8.1/debian/libnutclient2t64.preinst --- nut-2.8.1/debian/libnutclient2t64.preinst 1970-01-01 01:00:00.000000000 +0100 +++ nut-2.8.1/debian/libnutclient2t64.preinst 2024-03-26 14:40:41.000000000 +0100 @@ -0,0 +1,13 @@ +#!/bin/sh + +set -e + +# begin-remove-after: released:trixie +if test "$1" = upgrade || test "$1" = install; then + for f in libnutclient.so.2 libnutclient.so.2.0.2 libnutclientstub.so.1 libnutclientstub.so.1.0.1; do + dpkg-divert --no-rename --package libnutclient2t64 --divert "/lib/#DEB_HOST_MULTIARCH#/$f.usr-is-merged" --add "/lib/#DEB_HOST_MULTIARCH#/$f" + done +fi +# end-remove-after + +#DEBHELPER# diff -Nru nut-2.8.1/debian/libnutscan2.install nut-2.8.1/debian/libnutscan2.install --- nut-2.8.1/debian/libnutscan2.install 1970-01-01 01:00:00.000000000 +0100 +++ nut-2.8.1/debian/libnutscan2.install 2024-03-26 14:40:41.000000000 +0100 @@ -0,0 +1,2 @@ +usr/lib/*/libnutscan.a +usr/lib/*/libnutscan.so.* diff -Nru nut-2.8.1/debian/libnutscan2.symbols nut-2.8.1/debian/libnutscan2.symbols --- nut-2.8.1/debian/libnutscan2.symbols 1970-01-01 01:00:00.000000000 +0100 +++ nut-2.8.1/debian/libnutscan2.symbols 2024-03-26 14:40:41.000000000 +0100 @@ -0,0 +1,49 @@ +libnutscan.so.2 libnutscan2 #MINVER# +* Build-Depends-Package: libnutscan-dev + curr_threads@Base 2.8.0 + max_threads@Base 2.8.0 + max_threads_netsnmp@Base 2.8.0 + max_threads_netxml@Base 2.8.0 + max_threads_oldnut@Base 2.8.0 + nut_debug_level@Base 2.8.0 + nut_prepare_search_paths@Base 2.8.1 + nut_report_config_flags@Base 2.8.1 + nutscan_add_device_to_device@Base 2.8.0 + nutscan_add_option_to_device@Base 2.8.0 + nutscan_avail_avahi@Base 2.8.0 + nutscan_avail_ipmi@Base 2.8.0 + nutscan_avail_nut@Base 2.8.0 + nutscan_avail_snmp@Base 2.8.0 + nutscan_avail_usb@Base 2.8.0 + nutscan_avail_xml_http@Base 2.8.0 + nutscan_cidr_to_ip@Base 2.8.0 + nutscan_device_type_strings@Base 2.8.0 + nutscan_display_parsable@Base 2.8.0 + nutscan_display_sanity_check@Base 2.8.1 + nutscan_display_sanity_check_serial@Base 2.8.1 + nutscan_display_ups_conf@Base 2.8.0 + nutscan_display_ups_conf_with_sanity_check@Base 2.8.1 + nutscan_free@Base 2.8.0 + nutscan_free_device@Base 2.8.0 + nutscan_get_serial_ports_list@Base 2.8.0 + nutscan_init@Base 2.8.0 + nutscan_ip_iter_inc@Base 2.8.0 + nutscan_ip_iter_init@Base 2.8.0 + nutscan_load_avahi_library@Base 2.8.0 + (arch=!hurd-any)nutscan_load_ipmi_library@Base 2.8.0 + nutscan_load_neon_library@Base 2.8.0 + nutscan_load_snmp_library@Base 2.8.0 + nutscan_load_upsclient_library@Base 2.8.0 + nutscan_load_usb_library@Base 2.8.0 + nutscan_new_device@Base 2.8.0 + nutscan_rewind_device@Base 2.8.0 + nutscan_scan_avahi@Base 2.8.0 + nutscan_scan_eaton_serial@Base 2.8.0 + nutscan_scan_ipmi@Base 2.8.0 + nutscan_scan_nut@Base 2.8.0 + nutscan_scan_snmp@Base 2.8.0 + nutscan_scan_usb@Base 2.8.0 + nutscan_scan_xml_http_range@Base 2.8.0 + nutscan_semaphore@Base 2.8.0 + s_upsdebugx@Base 2.8.0 + upsdebugx_report_search_paths@Base 2.8.1 diff -Nru nut-2.8.1/debian/libnutscan2t64.install nut-2.8.1/debian/libnutscan2t64.install --- nut-2.8.1/debian/libnutscan2t64.install 2024-01-11 17:01:16.000000000 +0100 +++ nut-2.8.1/debian/libnutscan2t64.install 1970-01-01 01:00:00.000000000 +0100 @@ -1,2 +0,0 @@ -lib/*/libnutscan.a -lib/*/libnutscan.so.* diff -Nru nut-2.8.1/debian/libnutscan2t64.lintian-overrides nut-2.8.1/debian/libnutscan2t64.lintian-overrides --- nut-2.8.1/debian/libnutscan2t64.lintian-overrides 2024-02-29 02:24:06.000000000 +0100 +++ nut-2.8.1/debian/libnutscan2t64.lintian-overrides 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -libnutscan2t64: package-name-doesnt-match-sonames libnutscan2 diff -Nru nut-2.8.1/debian/libnutscan2t64.symbols nut-2.8.1/debian/libnutscan2t64.symbols --- nut-2.8.1/debian/libnutscan2t64.symbols 2024-02-29 02:24:06.000000000 +0100 +++ nut-2.8.1/debian/libnutscan2t64.symbols 1970-01-01 01:00:00.000000000 +0100 @@ -1,49 +0,0 @@ -libnutscan.so.2 libnutscan2t64 #MINVER# -* Build-Depends-Package: libnutscan-dev - curr_threads@Base 2.8.0 - max_threads@Base 2.8.0 - max_threads_netsnmp@Base 2.8.0 - max_threads_netxml@Base 2.8.0 - max_threads_oldnut@Base 2.8.0 - nut_debug_level@Base 2.8.0 - nut_prepare_search_paths@Base 2.8.1 - nut_report_config_flags@Base 2.8.1 - nutscan_add_device_to_device@Base 2.8.0 - nutscan_add_option_to_device@Base 2.8.0 - nutscan_avail_avahi@Base 2.8.0 - nutscan_avail_ipmi@Base 2.8.0 - nutscan_avail_nut@Base 2.8.0 - nutscan_avail_snmp@Base 2.8.0 - nutscan_avail_usb@Base 2.8.0 - nutscan_avail_xml_http@Base 2.8.0 - nutscan_cidr_to_ip@Base 2.8.0 - nutscan_device_type_strings@Base 2.8.0 - nutscan_display_parsable@Base 2.8.0 - nutscan_display_sanity_check@Base 2.8.1 - nutscan_display_sanity_check_serial@Base 2.8.1 - nutscan_display_ups_conf@Base 2.8.0 - nutscan_display_ups_conf_with_sanity_check@Base 2.8.1 - nutscan_free@Base 2.8.0 - nutscan_free_device@Base 2.8.0 - nutscan_get_serial_ports_list@Base 2.8.0 - nutscan_init@Base 2.8.0 - nutscan_ip_iter_inc@Base 2.8.0 - nutscan_ip_iter_init@Base 2.8.0 - nutscan_load_avahi_library@Base 2.8.0 - (arch=!hurd-any)nutscan_load_ipmi_library@Base 2.8.0 - nutscan_load_neon_library@Base 2.8.0 - nutscan_load_snmp_library@Base 2.8.0 - nutscan_load_upsclient_library@Base 2.8.0 - nutscan_load_usb_library@Base 2.8.0 - nutscan_new_device@Base 2.8.0 - nutscan_rewind_device@Base 2.8.0 - nutscan_scan_avahi@Base 2.8.0 - nutscan_scan_eaton_serial@Base 2.8.0 - nutscan_scan_ipmi@Base 2.8.0 - nutscan_scan_nut@Base 2.8.0 - nutscan_scan_snmp@Base 2.8.0 - nutscan_scan_usb@Base 2.8.0 - nutscan_scan_xml_http_range@Base 2.8.0 - nutscan_semaphore@Base 2.8.0 - s_upsdebugx@Base 2.8.0 - upsdebugx_report_search_paths@Base 2.8.1 diff -Nru nut-2.8.1/debian/libupsclient6t64.install nut-2.8.1/debian/libupsclient6t64.install --- nut-2.8.1/debian/libupsclient6t64.install 2024-01-11 17:01:16.000000000 +0100 +++ nut-2.8.1/debian/libupsclient6t64.install 2024-03-26 14:40:41.000000000 +0100 @@ -1 +1 @@ -lib/*/libupsclient.so.* +usr/lib/*/libupsclient.so.* diff -Nru nut-2.8.1/debian/libupsclient6t64.postinst nut-2.8.1/debian/libupsclient6t64.postinst --- nut-2.8.1/debian/libupsclient6t64.postinst 1970-01-01 01:00:00.000000000 +0100 +++ nut-2.8.1/debian/libupsclient6t64.postinst 2024-03-26 14:40:41.000000000 +0100 @@ -0,0 +1,13 @@ +#!/bin/sh + +set -e + +# begin-remove-after: released:trixie +if test "$1" = configure; then + for f in libupsclient.so.6 libupsclient.so.6.0.1; do + dpkg-divert --no-rename --package libupsclient6t64 --divert "/lib/#DEB_HOST_MULTIARCH#/$f.usr-is-merged" --remove "/lib/#DEB_HOST_MULTIARCH#/$f" + done +fi +# end-remove-after + +#DEBHELPER# diff -Nru nut-2.8.1/debian/libupsclient6t64.preinst nut-2.8.1/debian/libupsclient6t64.preinst --- nut-2.8.1/debian/libupsclient6t64.preinst 1970-01-01 01:00:00.000000000 +0100 +++ nut-2.8.1/debian/libupsclient6t64.preinst 2024-03-26 14:40:41.000000000 +0100 @@ -0,0 +1,13 @@ +#!/bin/sh + +set -e + +# begin-remove-after: released:trixie +if test "$1" = upgrade || test "$1" = install; then + for f in libupsclient.so.6 libupsclient.so.6.0.1; do + dpkg-divert --no-rename --package libupsclient6t64 --divert "/lib/#DEB_HOST_MULTIARCH#/$f.usr-is-merged" --add "/lib/#DEB_HOST_MULTIARCH#/$f" + done +fi +# end-remove-after + +#DEBHELPER# diff -Nru nut-2.8.1/debian/nut-client.install nut-2.8.1/debian/nut-client.install --- nut-2.8.1/debian/nut-client.install 2024-01-11 17:01:16.000000000 +0100 +++ nut-2.8.1/debian/nut-client.install 2024-03-26 14:40:41.000000000 +0100 @@ -1,18 +1,18 @@ -debian/tmp/bin/upsc -debian/tmp/bin/upscmd -debian/tmp/bin/upslog -debian/tmp/bin/upsrw -debian/tmp/bin/upssched-cmd +debian/tmp/usr/bin/upsc +debian/tmp/usr/bin/upscmd +debian/tmp/usr/bin/upslog +debian/tmp/usr/bin/upsrw +debian/tmp/usr/bin/upssched-cmd debian/tmp/etc/nut/nut.conf debian/tmp/etc/nut/upsmon.conf debian/tmp/etc/nut/upssched.conf -debian/tmp/lib/nut/upsmon -debian/tmp/lib/systemd/system/nut-client.service -debian/tmp/lib/systemd/system/nut-monitor.service -debian/tmp/lib/systemd/system/nut.target -debian/tmp/lib/systemd/system/ups-monitor.service -debian/tmp/sbin/upsmon -debian/tmp/sbin/upssched +debian/tmp/usr/lib/nut/upsmon +debian/tmp/usr/lib/systemd/system/nut-client.service +debian/tmp/usr/lib/systemd/system/nut-monitor.service +debian/tmp/usr/lib/systemd/system/nut.target +debian/tmp/usr/lib/systemd/system/ups-monitor.service +debian/tmp/usr/sbin/upsmon +debian/tmp/usr/sbin/upssched debian/tmp/usr/share/apport/package-hooks/source_nut-client.py debian/tmp/usr/share/augeas/lenses/nuthostsconf.aug debian/tmp/usr/share/augeas/lenses/nutnutconf.aug diff -Nru nut-2.8.1/debian/nut-i2c.install nut-2.8.1/debian/nut-i2c.install --- nut-2.8.1/debian/nut-i2c.install 2024-01-11 17:01:16.000000000 +0100 +++ nut-2.8.1/debian/nut-i2c.install 2024-03-26 14:40:41.000000000 +0100 @@ -1,2 +1,2 @@ -debian/tmp/lib/nut/asem -debian/tmp/lib/nut/pijuice +debian/tmp/usr/lib/nut/asem +debian/tmp/usr/lib/nut/pijuice diff -Nru nut-2.8.1/debian/nut-ipmi.install nut-2.8.1/debian/nut-ipmi.install --- nut-2.8.1/debian/nut-ipmi.install 2024-01-11 17:01:16.000000000 +0100 +++ nut-2.8.1/debian/nut-ipmi.install 2024-03-26 14:40:41.000000000 +0100 @@ -1,2 +1,2 @@ -debian/tmp/*/udev/rules.d/52-nut-ipmipsu.rules -debian/tmp/lib/nut/nut-ipmipsu +debian/tmp/usr/lib/udev/rules.d/52-nut-ipmipsu.rules +debian/tmp/usr/lib/nut/nut-ipmipsu diff -Nru nut-2.8.1/debian/nut-modbus.install nut-2.8.1/debian/nut-modbus.install --- nut-2.8.1/debian/nut-modbus.install 2024-01-11 17:01:16.000000000 +0100 +++ nut-2.8.1/debian/nut-modbus.install 2024-03-26 14:40:41.000000000 +0100 @@ -1,6 +1,6 @@ -debian/tmp/lib/nut/adelsystem_cbi -debian/tmp/lib/nut/apc_modbus -debian/tmp/lib/nut/generic_modbus -debian/tmp/lib/nut/huawei-ups2000 -debian/tmp/lib/nut/phoenixcontact_modbus -debian/tmp/lib/nut/socomec_jbus +debian/tmp/usr/lib/nut/adelsystem_cbi +debian/tmp/usr/lib/nut/apc_modbus +debian/tmp/usr/lib/nut/generic_modbus +debian/tmp/usr/lib/nut/huawei-ups2000 +debian/tmp/usr/lib/nut/phoenixcontact_modbus +debian/tmp/usr/lib/nut/socomec_jbus diff -Nru nut-2.8.1/debian/nut-powerman-pdu.install nut-2.8.1/debian/nut-powerman-pdu.install --- nut-2.8.1/debian/nut-powerman-pdu.install 2024-01-11 17:01:16.000000000 +0100 +++ nut-2.8.1/debian/nut-powerman-pdu.install 2024-03-26 14:40:41.000000000 +0100 @@ -1 +1 @@ -debian/tmp/lib/nut/powerman-pdu +debian/tmp/usr/lib/nut/powerman-pdu diff -Nru nut-2.8.1/debian/nut-server.install nut-2.8.1/debian/nut-server.install --- nut-2.8.1/debian/nut-server.install 2024-01-11 17:01:16.000000000 +0100 +++ nut-2.8.1/debian/nut-server.install 2024-03-26 14:40:41.000000000 +0100 @@ -1,70 +1,70 @@ -debian/tmp/*/udev/rules.d/62-nut-usbups.rules -debian/tmp/bin/nut-scanner +debian/tmp/usr/lib/udev/rules.d/62-nut-usbups.rules +debian/tmp/usr/bin/nut-scanner debian/tmp/etc/avahi/services/nut.service debian/tmp/etc/nut/ups.conf debian/tmp/etc/nut/upsd.conf debian/tmp/etc/nut/upsd.users -debian/tmp/lib/nut/al175 -debian/tmp/lib/nut/apcsmart -debian/tmp/lib/nut/apcsmart-old -debian/tmp/lib/nut/apcupsd-ups -debian/tmp/lib/nut/bcmxcp -debian/tmp/lib/nut/bcmxcp_usb -debian/tmp/lib/nut/belkin -debian/tmp/lib/nut/belkinunv -debian/tmp/lib/nut/bestfcom -debian/tmp/lib/nut/bestfortress -debian/tmp/lib/nut/bestuferrups -debian/tmp/lib/nut/bestups -debian/tmp/lib/nut/blazer_ser -debian/tmp/lib/nut/blazer_usb -debian/tmp/lib/nut/clone -debian/tmp/lib/nut/clone-outlet -debian/tmp/lib/nut/dummy-ups -debian/tmp/lib/nut/etapro -debian/tmp/lib/nut/everups -debian/tmp/lib/nut/gamatronic -debian/tmp/lib/nut/genericups -debian/tmp/lib/nut/isbmex -debian/tmp/lib/nut/ivtscd -debian/tmp/lib/nut/liebert -debian/tmp/lib/nut/liebert-esp2 -debian/tmp/lib/nut/masterguard -debian/tmp/lib/nut/metasys -debian/tmp/lib/nut/mge-shut -debian/tmp/lib/nut/mge-utalk -debian/tmp/lib/nut/microdowell -debian/tmp/lib/nut/microsol-apc -debian/tmp/lib/nut/nutdrv_atcl_usb -debian/tmp/lib/nut/nutdrv_qx -debian/tmp/lib/nut/nutdrv_siemens-sitop -debian/tmp/lib/nut/oneac -debian/tmp/lib/nut/optiups -debian/tmp/lib/nut/powercom -debian/tmp/lib/nut/powerpanel -debian/tmp/lib/nut/rhino -debian/tmp/lib/nut/richcomm_usb -debian/tmp/lib/nut/riello_ser -debian/tmp/lib/nut/riello_usb -debian/tmp/lib/nut/safenet -debian/tmp/lib/nut/sms_ser -debian/tmp/lib/nut/solis -debian/tmp/lib/nut/tripplite -debian/tmp/lib/nut/tripplite_usb -debian/tmp/lib/nut/tripplitesu -debian/tmp/lib/nut/upscode2 -debian/tmp/lib/nut/upsd -debian/tmp/lib/nut/usbhid-ups -debian/tmp/lib/nut/victronups -debian/tmp/lib/systemd/system-shutdown/nutshutdown -debian/tmp/lib/systemd/system/nut-driver-enumerator.path -debian/tmp/lib/systemd/system/nut-driver-enumerator.service -debian/tmp/lib/systemd/system/nut-driver.target -debian/tmp/lib/systemd/system/nut-driver@.service -debian/tmp/lib/systemd/system/nut-server.service -debian/tmp/sbin/upsd -debian/tmp/sbin/upsdrvctl -debian/tmp/sbin/upsdrvsvcctl +debian/tmp/usr/lib/nut/al175 +debian/tmp/usr/lib/nut/apcsmart +debian/tmp/usr/lib/nut/apcsmart-old +debian/tmp/usr/lib/nut/apcupsd-ups +debian/tmp/usr/lib/nut/bcmxcp +debian/tmp/usr/lib/nut/bcmxcp_usb +debian/tmp/usr/lib/nut/belkin +debian/tmp/usr/lib/nut/belkinunv +debian/tmp/usr/lib/nut/bestfcom +debian/tmp/usr/lib/nut/bestfortress +debian/tmp/usr/lib/nut/bestuferrups +debian/tmp/usr/lib/nut/bestups +debian/tmp/usr/lib/nut/blazer_ser +debian/tmp/usr/lib/nut/blazer_usb +debian/tmp/usr/lib/nut/clone +debian/tmp/usr/lib/nut/clone-outlet +debian/tmp/usr/lib/nut/dummy-ups +debian/tmp/usr/lib/nut/etapro +debian/tmp/usr/lib/nut/everups +debian/tmp/usr/lib/nut/gamatronic +debian/tmp/usr/lib/nut/genericups +debian/tmp/usr/lib/nut/isbmex +debian/tmp/usr/lib/nut/ivtscd +debian/tmp/usr/lib/nut/liebert +debian/tmp/usr/lib/nut/liebert-esp2 +debian/tmp/usr/lib/nut/masterguard +debian/tmp/usr/lib/nut/metasys +debian/tmp/usr/lib/nut/mge-shut +debian/tmp/usr/lib/nut/mge-utalk +debian/tmp/usr/lib/nut/microdowell +debian/tmp/usr/lib/nut/microsol-apc +debian/tmp/usr/lib/nut/nutdrv_atcl_usb +debian/tmp/usr/lib/nut/nutdrv_qx +debian/tmp/usr/lib/nut/nutdrv_siemens-sitop +debian/tmp/usr/lib/nut/oneac +debian/tmp/usr/lib/nut/optiups +debian/tmp/usr/lib/nut/powercom +debian/tmp/usr/lib/nut/powerpanel +debian/tmp/usr/lib/nut/rhino +debian/tmp/usr/lib/nut/richcomm_usb +debian/tmp/usr/lib/nut/riello_ser +debian/tmp/usr/lib/nut/riello_usb +debian/tmp/usr/lib/nut/safenet +debian/tmp/usr/lib/nut/sms_ser +debian/tmp/usr/lib/nut/solis +debian/tmp/usr/lib/nut/tripplite +debian/tmp/usr/lib/nut/tripplite_usb +debian/tmp/usr/lib/nut/tripplitesu +debian/tmp/usr/lib/nut/upscode2 +debian/tmp/usr/lib/nut/upsd +debian/tmp/usr/lib/nut/usbhid-ups +debian/tmp/usr/lib/nut/victronups +debian/tmp/usr/lib/systemd/system-shutdown/nutshutdown +debian/tmp/usr/lib/systemd/system/nut-driver-enumerator.path +debian/tmp/usr/lib/systemd/system/nut-driver-enumerator.service +debian/tmp/usr/lib/systemd/system/nut-driver.target +debian/tmp/usr/lib/systemd/system/nut-driver@.service +debian/tmp/usr/lib/systemd/system/nut-server.service +debian/tmp/usr/sbin/upsd +debian/tmp/usr/sbin/upsdrvctl +debian/tmp/usr/sbin/upsdrvsvcctl debian/tmp/usr/lib/tmpfiles.d/nut-common-tmpfiles.conf debian/tmp/usr/libexec/nut-driver-enumerator.sh debian/tmp/usr/share/apport/package-hooks/source_nut-server.py diff -Nru nut-2.8.1/debian/nut-snmp.install nut-2.8.1/debian/nut-snmp.install --- nut-2.8.1/debian/nut-snmp.install 2024-01-11 17:01:16.000000000 +0100 +++ nut-2.8.1/debian/nut-snmp.install 2024-03-26 14:40:41.000000000 +0100 @@ -1 +1 @@ -debian/tmp/lib/nut/snmp-ups +debian/tmp/usr/lib/nut/snmp-ups diff -Nru nut-2.8.1/debian/nut-xml.install nut-2.8.1/debian/nut-xml.install --- nut-2.8.1/debian/nut-xml.install 2024-01-11 17:01:16.000000000 +0100 +++ nut-2.8.1/debian/nut-xml.install 2024-03-26 14:40:41.000000000 +0100 @@ -1 +1 @@ -debian/tmp/lib/nut/netxml-ups +debian/tmp/usr/lib/nut/netxml-ups diff -Nru nut-2.8.1/debian/rules nut-2.8.1/debian/rules --- nut-2.8.1/debian/rules 2024-02-29 02:26:19.000000000 +0100 +++ nut-2.8.1/debian/rules 2024-03-26 14:40:41.000000000 +0100 @@ -7,7 +7,7 @@ include /usr/share/dpkg/buildflags.mk include /usr/share/dpkg/pkg-info.mk -DEB_CONFIGURE_EXTRA_FLAGS := --prefix= \ +DEB_CONFIGURE_EXTRA_FLAGS := --prefix=/usr \ --sysconfdir=/etc/nut \ --includedir=/usr/include \ --mandir=/usr/share/man \ @@ -19,16 +19,16 @@ --enable-static \ --with-statepath=/run/nut \ --with-altpidpath=/run/nut \ - --with-drvpath=/lib/nut \ + --with-drvpath=/usr/lib/nut \ --with-cgipath=/usr/lib/cgi-bin/nut \ --with-htmlpath=/usr/share/nut/www \ --with-pidpath=/run/nut \ --datadir=/usr/share/nut \ --with-pkgconfig-dir=/usr/lib/$(DEB_HOST_MULTIARCH)/pkgconfig \ --with-user=nut --with-group=nut \ - --with-udev-dir=/lib/udev \ - --with-systemdsystemunitdir=/lib/systemd/system \ - --with-systemdshutdowndir=/lib/systemd/system-shutdown \ + --with-udev-dir=/usr/lib/udev \ + --with-systemdsystemunitdir=/usr/lib/systemd/system \ + --with-systemdshutdowndir=/usr/lib/systemd/system-shutdown \ --with-systemdtmpfilesdir=/usr/lib/tmpfiles.d \ --with-python=python3 --with-python3=/usr/bin/python3 @@ -79,36 +79,15 @@ mv $${f} $(CURDIR)/debian/tmp/etc/nut/$${nf}; \ done - # Move -dev file to /usr - mv $(CURDIR)/debian/tmp/lib/$(DEB_HOST_MULTIARCH)/libupsclient.a \ - $(CURDIR)/debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)/libupsclient.a - rm -f $(CURDIR)/debian/tmp/lib/$(DEB_HOST_MULTIARCH)/libupsclient.so - ln -s /lib/$(DEB_HOST_MULTIARCH)/libupsclient.so.6 \ - $(CURDIR)/debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)/libupsclient.so - mv $(CURDIR)/debian/tmp/lib/$(DEB_HOST_MULTIARCH)/libnutclient.a \ - $(CURDIR)/debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)/libnutclient.a - rm -f $(CURDIR)/debian/tmp/lib/$(DEB_HOST_MULTIARCH)/libnutclient.so - ln -s /lib/$(DEB_HOST_MULTIARCH)/libnutclient.so.2 \ - $(CURDIR)/debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)/libnutclient.so - mv $(CURDIR)/debian/tmp/lib/$(DEB_HOST_MULTIARCH)/libnutclientstub.a \ - $(CURDIR)/debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)/libnutclientstub.a - rm -f $(CURDIR)/debian/tmp/lib/$(DEB_HOST_MULTIARCH)/libnutclientstub.so - ln -s /lib/$(DEB_HOST_MULTIARCH)/libnutclientstub.so.1 \ - $(CURDIR)/debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)/libnutclientstub.so - - rm -f $(CURDIR)/debian/tmp/lib/$(DEB_HOST_MULTIARCH)/libnutscan.so - ln -s /lib/$(DEB_HOST_MULTIARCH)/libnutscan.so.2 \ - $(CURDIR)/debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)/libnutscan.so - # Move daemons and install wrappers - mv $(CURDIR)/debian/tmp/sbin/upsmon $(CURDIR)/debian/tmp/lib/nut/upsmon - mv $(CURDIR)/debian/tmp/sbin/upsd $(CURDIR)/debian/tmp/lib/nut/upsd - install -m 0755 debian/local/upsmon $(CURDIR)/debian/tmp/sbin/upsmon - install -m 0755 debian/local/upsd $(CURDIR)/debian/tmp/sbin/upsd + mv $(CURDIR)/debian/tmp/usr/sbin/upsmon $(CURDIR)/debian/tmp/usr/lib/nut/upsmon + mv $(CURDIR)/debian/tmp/usr/sbin/upsd $(CURDIR)/debian/tmp/usr/lib/nut/upsd + install -m 0755 debian/local/upsmon $(CURDIR)/debian/tmp/usr/sbin/upsmon + install -m 0755 debian/local/upsd $(CURDIR)/debian/tmp/usr/sbin/upsd # Add a symlink to mask the LSB initscript - ln -s nut-monitor.service $(CURDIR)/debian/tmp/lib/systemd/system/nut-client.service - ln -s /dev/null $(CURDIR)/debian/tmp/lib/systemd/system/ups-monitor.service + ln -s nut-monitor.service $(CURDIR)/debian/tmp/usr/lib/systemd/system/nut-client.service + ln -s /dev/null $(CURDIR)/debian/tmp/usr/lib/systemd/system/ups-monitor.service # install apport hooks install -D -m 644 debian/source_nut.py $(CURDIR)/debian/tmp/usr/share/apport/package-hooks/source_nut-server.py