[Pkg-electronics-devel] Bug#1062623: libsigrok: NMU diff for 64-bit time_t transition

Benjamin Drung bdrung at debian.org
Wed Feb 28 19:46:07 GMT 2024


Source: libsigrok
Dear maintainer,

Please find attached a final version of this patch for the time_t
transition.  This patch is being uploaded to unstable.

Note that this adds a versioned build-dependency on dpkg-dev, to guard
against accidental backports with a wrong ABI.

Thanks!


-- System Information:
Debian Release: trixie/sid
  APT prefers unstable
  APT policy: (500, 'unstable'), (1, 'experimental')
Architecture: amd64 (x86_64)

Kernel: Linux 6.5.0-21-generic (SMP w/16 CPU threads; PREEMPT)
Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE
Locale: LANG=C, LC_CTYPE=C.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: unable to detect
-------------- next part --------------
diff -Nru libsigrok-0.5.2/debian/changelog libsigrok-0.5.2/debian/changelog
--- libsigrok-0.5.2/debian/changelog	2023-12-03 19:43:23.000000000 +0000
+++ libsigrok-0.5.2/debian/changelog	2024-02-28 19:45:25.000000000 +0000
@@ -1,3 +1,10 @@
+libsigrok (0.5.2-5.1) unstable; urgency=medium
+
+  * Non-maintainer upload.
+  * Rename libraries for 64-bit time_t transition.  Closes: #1062623
+
+ -- Benjamin Drung <bdrung at debian.org>  Wed, 28 Feb 2024 19:45:25 +0000
+
 libsigrok (0.5.2-5) unstable; urgency=medium
 
   [ Debian Janitor ]
diff -Nru libsigrok-0.5.2/debian/control libsigrok-0.5.2/debian/control
--- libsigrok-0.5.2/debian/control	2023-12-03 18:34:52.000000000 +0000
+++ libsigrok-0.5.2/debian/control	2024-02-28 19:45:25.000000000 +0000
@@ -2,7 +2,7 @@
 Priority: optional
 Maintainer: Debian Electronics Packaging Team <pkg-electronics-devel at alioth-lists.debian.net>
 Uploaders: Jonathan McDowell <noodles at earth.li>
-Build-Depends: check,
+Build-Depends: dpkg-dev (>= 1.22.5), check,
 	debhelper-compat (= 13),
 	doxygen,
 	libbluetooth-dev,
@@ -26,7 +26,7 @@
 Section: libdevel
 Architecture: any
 Multi-Arch: same
-Depends: libsigrok4 (= ${binary:Version}), ${misc:Depends},
+Depends: libsigrok4t64 (= ${binary:Version}), ${misc:Depends},
 	libbluetooth-dev,
 	libftdi1-dev,
 	libglib2.0-dev,
@@ -40,7 +40,10 @@
  .
  This package contains the header files and other development files.
 
-Package: libsigrok4
+Package: libsigrok4t64
+Provides: ${t64:Provides}
+Replaces: libsigrok4
+Breaks: libsigrok4 (<< ${source:Version})
 Architecture: any
 Multi-Arch: same
 Pre-Depends: ${misc:Pre-Depends}
@@ -55,7 +58,7 @@
 Section: libdevel
 Architecture: any
 Multi-Arch: same
-Depends: libsigrokcxx4 (= ${binary:Version}),
+Depends: libsigrokcxx4t64 (= ${binary:Version}),
  libsigrok-dev (= ${binary:Version}),
  ${misc:Depends}
 Description: sigrok C++ bindings - development files
@@ -64,7 +67,10 @@
  .
  This package contains the C++ header files and other development files.
 
-Package: libsigrokcxx4
+Package: libsigrokcxx4t64
+Provides: ${t64:Provides}
+Replaces: libsigrokcxx4
+Breaks: libsigrokcxx4 (<< ${source:Version})
 Architecture: any
 Multi-Arch: same
 Pre-Depends: ${misc:Pre-Depends}
diff -Nru libsigrok-0.5.2/debian/libsigrok4.dirs libsigrok-0.5.2/debian/libsigrok4.dirs
--- libsigrok-0.5.2/debian/libsigrok4.dirs	2023-12-03 18:34:52.000000000 +0000
+++ libsigrok-0.5.2/debian/libsigrok4.dirs	1970-01-01 00:00:00.000000000 +0000
@@ -1,2 +0,0 @@
-usr/lib
-usr/share
diff -Nru libsigrok-0.5.2/debian/libsigrok4.docs libsigrok-0.5.2/debian/libsigrok4.docs
--- libsigrok-0.5.2/debian/libsigrok4.docs	2023-12-03 18:34:52.000000000 +0000
+++ libsigrok-0.5.2/debian/libsigrok4.docs	1970-01-01 00:00:00.000000000 +0000
@@ -1,3 +0,0 @@
-NEWS
-README
-README.devices
diff -Nru libsigrok-0.5.2/debian/libsigrok4.install libsigrok-0.5.2/debian/libsigrok4.install
--- libsigrok-0.5.2/debian/libsigrok4.install	2023-12-03 18:34:52.000000000 +0000
+++ libsigrok-0.5.2/debian/libsigrok4.install	1970-01-01 00:00:00.000000000 +0000
@@ -1,4 +0,0 @@
-usr/lib/udev/rules.d/*sigrok*
-usr/lib/*/libsigrok.so.*
-usr/share/icons/hicolor/*/mimetypes/libsigrok.*
-usr/share/mime/packages/*sigrok*
diff -Nru libsigrok-0.5.2/debian/libsigrok4.lintian-overrides libsigrok-0.5.2/debian/libsigrok4.lintian-overrides
--- libsigrok-0.5.2/debian/libsigrok4.lintian-overrides	2023-12-03 18:34:52.000000000 +0000
+++ libsigrok-0.5.2/debian/libsigrok4.lintian-overrides	1970-01-01 00:00:00.000000000 +0000
@@ -1,6 +0,0 @@
-# begin-remove-after: released:forky
-# protective diversion for upgrades of files moved from / to /usr
-libsigrok4: diversion-for-unknown-file lib/udev/rules.d/60-libsigrok.rules [preinst:*]
-libsigrok4: diversion-for-unknown-file lib/udev/rules.d/61-libsigrok-plugdev.rules [preinst:*]
-libsigrok4: diversion-for-unknown-file lib/udev/rules.d/61-libsigrok-uaccess.rules [preinst:*]
-# end-remove-after
diff -Nru libsigrok-0.5.2/debian/libsigrok4.postinst libsigrok-0.5.2/debian/libsigrok4.postinst
--- libsigrok-0.5.2/debian/libsigrok4.postinst	2023-12-03 18:34:52.000000000 +0000
+++ libsigrok-0.5.2/debian/libsigrok4.postinst	1970-01-01 00:00:00.000000000 +0000
@@ -1,23 +0,0 @@
-#!/bin/sh
-set -e
-
-# begin-remove-after: released:forky
-# protective diversion of files moved from / to /usr, to avoid file loss.
-# Only for upgrades.
-if [ "$1" = "configure" ]; then
-    # At this point, the package will have installed the same file in */usr*.
-    dpkg-divert --package usr-is-merged --no-rename \
-        --divert /lib/udev/rules.d/60-libsigrok.rules.usr-is-merged \
-        --remove /lib/udev/rules.d/60-libsigrok.rules
-    dpkg-divert --package usr-is-merged --no-rename \
-        --divert /lib/udev/rules.d/61-libsigrok-plugdev.rules.usr-is-merged \
-        --remove /lib/udev/rules.d/61-libsigrok-plugdev.rules
-    dpkg-divert --package usr-is-merged --no-rename \
-        --divert /lib/udev/rules.d/61-libsigrok-uaccess.rules.usr-is-merged \
-        --remove /lib/udev/rules.d/61-libsigrok-uaccess.rules
-fi
-# end-remove-after
-
-#DEBHELPER#
-
-exit 0
diff -Nru libsigrok-0.5.2/debian/libsigrok4.postrm libsigrok-0.5.2/debian/libsigrok4.postrm
--- libsigrok-0.5.2/debian/libsigrok4.postrm	2023-12-03 18:34:52.000000000 +0000
+++ libsigrok-0.5.2/debian/libsigrok4.postrm	1970-01-01 00:00:00.000000000 +0000
@@ -1,23 +0,0 @@
-#!/bin/sh
-set -e
-
-# begin-remove-after: released:forky
-# protective diversion of files moved from / to /usr, to avoid file loss.
-# Only for upgrades.
-if [ "$1" = "remove" ] && [ "$DPKG_MAINTSCRIPT_PACKAGE_REFCOUNT" = "1" ]; then
-    # Cleanup in case package is removed before upgrade is finished (postinst ran).
-    dpkg-divert --package usr-is-merged --no-rename \
-        --divert /lib/udev/rules.d/60-libsigrok.rules.usr-is-merged \
-        --remove /lib/udev/rules.d/60-libsigrok.rules
-    dpkg-divert --package usr-is-merged --no-rename \
-        --divert /lib/udev/rules.d/61-libsigrok-plugdev.rules.usr-is-merged \
-        --remove /lib/udev/rules.d/61-libsigrok-plugdev.rules
-    dpkg-divert --package usr-is-merged --no-rename \
-        --divert /lib/udev/rules.d/61-libsigrok-uaccess.rules.usr-is-merged \
-        --remove /lib/udev/rules.d/61-libsigrok-uaccess.rules
-fi
-# end-remove-after
-
-#DEBHELPER#
-
-exit 0
diff -Nru libsigrok-0.5.2/debian/libsigrok4.preinst libsigrok-0.5.2/debian/libsigrok4.preinst
--- libsigrok-0.5.2/debian/libsigrok4.preinst	2023-12-03 18:34:52.000000000 +0000
+++ libsigrok-0.5.2/debian/libsigrok4.preinst	1970-01-01 00:00:00.000000000 +0000
@@ -1,22 +0,0 @@
-#!/bin/sh
-set -e
-
-# begin-remove-after: released:forky
-# protective diversion of files moved from / to /usr, to avoid file loss.
-# Only for upgrades.
-if [ "$1" = "upgrade" ]; then
-    dpkg-divert --package usr-is-merged --no-rename \
-        --divert /lib/udev/rules.d/60-libsigrok.rules.usr-is-merged \
-        --add /lib/udev/rules.d/60-libsigrok.rules
-    dpkg-divert --package usr-is-merged --no-rename \
-        --divert /lib/udev/rules.d/61-libsigrok-plugdev.rules.usr-is-merged \
-        --add /lib/udev/rules.d/61-libsigrok-plugdev.rules
-    dpkg-divert --package usr-is-merged --no-rename \
-        --divert /lib/udev/rules.d/61-libsigrok-uaccess.rules.usr-is-merged \
-        --add /lib/udev/rules.d/61-libsigrok-uaccess.rules
-fi
-# end-remove-after
-
-#DEBHELPER#
-
-exit 0
diff -Nru libsigrok-0.5.2/debian/libsigrok4t64.dirs libsigrok-0.5.2/debian/libsigrok4t64.dirs
--- libsigrok-0.5.2/debian/libsigrok4t64.dirs	1970-01-01 00:00:00.000000000 +0000
+++ libsigrok-0.5.2/debian/libsigrok4t64.dirs	2023-12-03 18:34:52.000000000 +0000
@@ -0,0 +1,2 @@
+usr/lib
+usr/share
diff -Nru libsigrok-0.5.2/debian/libsigrok4t64.docs libsigrok-0.5.2/debian/libsigrok4t64.docs
--- libsigrok-0.5.2/debian/libsigrok4t64.docs	1970-01-01 00:00:00.000000000 +0000
+++ libsigrok-0.5.2/debian/libsigrok4t64.docs	2023-12-03 18:34:52.000000000 +0000
@@ -0,0 +1,3 @@
+NEWS
+README
+README.devices
diff -Nru libsigrok-0.5.2/debian/libsigrok4t64.install libsigrok-0.5.2/debian/libsigrok4t64.install
--- libsigrok-0.5.2/debian/libsigrok4t64.install	1970-01-01 00:00:00.000000000 +0000
+++ libsigrok-0.5.2/debian/libsigrok4t64.install	2023-12-03 18:34:52.000000000 +0000
@@ -0,0 +1,4 @@
+usr/lib/udev/rules.d/*sigrok*
+usr/lib/*/libsigrok.so.*
+usr/share/icons/hicolor/*/mimetypes/libsigrok.*
+usr/share/mime/packages/*sigrok*
diff -Nru libsigrok-0.5.2/debian/libsigrok4t64.lintian-overrides libsigrok-0.5.2/debian/libsigrok4t64.lintian-overrides
--- libsigrok-0.5.2/debian/libsigrok4t64.lintian-overrides	1970-01-01 00:00:00.000000000 +0000
+++ libsigrok-0.5.2/debian/libsigrok4t64.lintian-overrides	2024-02-28 19:44:29.000000000 +0000
@@ -0,0 +1,7 @@
+# begin-remove-after: released:forky
+# protective diversion for upgrades of files moved from / to /usr
+libsigrok4t64: diversion-for-unknown-file lib/udev/rules.d/60-libsigrok.rules [preinst:*]
+libsigrok4t64: diversion-for-unknown-file lib/udev/rules.d/61-libsigrok-plugdev.rules [preinst:*]
+libsigrok4t64: diversion-for-unknown-file lib/udev/rules.d/61-libsigrok-uaccess.rules [preinst:*]
+# end-remove-after
+libsigrok4t64: package-name-doesnt-match-sonames libsigrok4
diff -Nru libsigrok-0.5.2/debian/libsigrok4t64.postrm libsigrok-0.5.2/debian/libsigrok4t64.postrm
--- libsigrok-0.5.2/debian/libsigrok4t64.postrm	1970-01-01 00:00:00.000000000 +0000
+++ libsigrok-0.5.2/debian/libsigrok4t64.postrm	2024-02-28 19:45:22.000000000 +0000
@@ -0,0 +1,20 @@
+#!/bin/sh
+set -e
+
+# protective diversion of files moved from / to /usr, to avoid file loss.
+if [ "$1" = "remove" ] && [ "$DPKG_MAINTSCRIPT_PACKAGE_REFCOUNT" = "1" ]; then
+    # Cleanup in case package is removed before upgrade is finished (postinst ran).
+    dpkg-divert --package usr-is-merged --no-rename \
+        --divert /lib/udev/rules.d/60-libsigrok.rules.usr-is-merged \
+        --remove /lib/udev/rules.d/60-libsigrok.rules
+    dpkg-divert --package usr-is-merged --no-rename \
+        --divert /lib/udev/rules.d/61-libsigrok-plugdev.rules.usr-is-merged \
+        --remove /lib/udev/rules.d/61-libsigrok-plugdev.rules
+    dpkg-divert --package usr-is-merged --no-rename \
+        --divert /lib/udev/rules.d/61-libsigrok-uaccess.rules.usr-is-merged \
+        --remove /lib/udev/rules.d/61-libsigrok-uaccess.rules
+fi
+
+#DEBHELPER#
+
+exit 0
diff -Nru libsigrok-0.5.2/debian/libsigrok4t64.preinst libsigrok-0.5.2/debian/libsigrok4t64.preinst
--- libsigrok-0.5.2/debian/libsigrok4t64.preinst	1970-01-01 00:00:00.000000000 +0000
+++ libsigrok-0.5.2/debian/libsigrok4t64.preinst	2024-02-28 19:45:22.000000000 +0000
@@ -0,0 +1,25 @@
+#!/bin/sh
+set -e
+
+# protective diversion of files moved from / to /usr, to avoid file loss.
+# These protect both from M-A:same shared file loss and from loss due to moving
+# from libsigrok4 to libsigrok4t64.
+if [ "$1" = upgrade ] || [ "$1" = install ]; then
+    dpkg-divert --package usr-is-merged --no-rename \
+        --divert /lib/udev/rules.d/60-libsigrok.rules.usr-is-merged \
+        --add /lib/udev/rules.d/60-libsigrok.rules
+    dpkg-divert --package usr-is-merged --no-rename \
+        --divert /lib/udev/rules.d/61-libsigrok-plugdev.rules.usr-is-merged \
+        --add /lib/udev/rules.d/61-libsigrok-plugdev.rules
+    dpkg-divert --package usr-is-merged --no-rename \
+        --divert /lib/udev/rules.d/61-libsigrok-uaccess.rules.usr-is-merged \
+        --add /lib/udev/rules.d/61-libsigrok-uaccess.rules
+
+    # These diversions are supposed to be taken over from libsigrok4, which
+    # will attempt to remove them in postinst and postrm. Prevent that.
+    rm -f /var/lib/dpkg/libsigrok4:*.postinst /var/lib/dpkg/libsigrok4:*.postrm
+fi
+
+#DEBHELPER#
+
+exit 0
diff -Nru libsigrok-0.5.2/debian/libsigrokcxx4.dirs libsigrok-0.5.2/debian/libsigrokcxx4.dirs
--- libsigrok-0.5.2/debian/libsigrokcxx4.dirs	2023-12-03 18:34:52.000000000 +0000
+++ libsigrok-0.5.2/debian/libsigrokcxx4.dirs	1970-01-01 00:00:00.000000000 +0000
@@ -1 +0,0 @@
-usr/lib
diff -Nru libsigrok-0.5.2/debian/libsigrokcxx4.install libsigrok-0.5.2/debian/libsigrokcxx4.install
--- libsigrok-0.5.2/debian/libsigrokcxx4.install	2023-12-03 18:34:52.000000000 +0000
+++ libsigrok-0.5.2/debian/libsigrokcxx4.install	1970-01-01 00:00:00.000000000 +0000
@@ -1 +0,0 @@
-usr/lib/*/libsigrokcxx.so.*
diff -Nru libsigrok-0.5.2/debian/libsigrokcxx4t64.dirs libsigrok-0.5.2/debian/libsigrokcxx4t64.dirs
--- libsigrok-0.5.2/debian/libsigrokcxx4t64.dirs	1970-01-01 00:00:00.000000000 +0000
+++ libsigrok-0.5.2/debian/libsigrokcxx4t64.dirs	2023-12-03 18:34:52.000000000 +0000
@@ -0,0 +1 @@
+usr/lib
diff -Nru libsigrok-0.5.2/debian/libsigrokcxx4t64.install libsigrok-0.5.2/debian/libsigrokcxx4t64.install
--- libsigrok-0.5.2/debian/libsigrokcxx4t64.install	1970-01-01 00:00:00.000000000 +0000
+++ libsigrok-0.5.2/debian/libsigrokcxx4t64.install	2023-12-03 18:34:52.000000000 +0000
@@ -0,0 +1 @@
+usr/lib/*/libsigrokcxx.so.*
diff -Nru libsigrok-0.5.2/debian/libsigrokcxx4t64.lintian-overrides libsigrok-0.5.2/debian/libsigrokcxx4t64.lintian-overrides
--- libsigrok-0.5.2/debian/libsigrokcxx4t64.lintian-overrides	1970-01-01 00:00:00.000000000 +0000
+++ libsigrok-0.5.2/debian/libsigrokcxx4t64.lintian-overrides	2024-02-28 19:44:29.000000000 +0000
@@ -0,0 +1 @@
+libsigrokcxx4t64: package-name-doesnt-match-sonames libsigrokcxx4


More information about the Pkg-electronics-devel mailing list