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

Reply via email to