Bug#1062319: libgphoto2: NMU diff for 64-bit time_t transition

2024-02-28 Thread Benjamin Drung
Source: libgphoto2
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
diff -Nru libgphoto2-2.5.31/debian/changelog libgphoto2-2.5.31/debian/changelog
--- libgphoto2-2.5.31/debian/changelog  2023-12-06 17:46:28.0 +
+++ libgphoto2-2.5.31/debian/changelog  2024-02-28 12:26:32.0 +
@@ -1,3 +1,10 @@
+libgphoto2 (2.5.31-2.1) unstable; urgency=medium
+
+  * Non-maintainer upload.
+  * Rename libraries for 64-bit time_t transition.  Closes: #1062319
+
+ -- Benjamin Drung   Wed, 28 Feb 2024 12:26:32 +
+
 libgphoto2 (2.5.31-2) unstable; urgency=medium
 
   [ Andreas Metzler ]
diff -Nru libgphoto2-2.5.31/debian/control libgphoto2-2.5.31/debian/control
--- libgphoto2-2.5.31/debian/control2023-12-01 06:32:29.0 +
+++ libgphoto2-2.5.31/debian/control2024-02-28 12:26:32.0 +
@@ -4,7 +4,7 @@
 Maintainer: Debian PhotoTools Maintainers 

 Uploaders:
  Ferenc Wágner ,
-Build-Depends: debhelper-compat (= 13),
+Build-Depends: dpkg-dev (>= 1.22.5), debhelper-compat (= 13),
graphviz,
libcurl4-openssl-dev,
libexif-dev,
@@ -32,7 +32,7 @@
 Architecture: any
 Multi-Arch: same
 Depends: libexif-dev,
- libgphoto2-6 (= ${binary:Version}),
+ libgphoto2-6t64 (= ${binary:Version}),
  pkg-config,
  ${misc:Depends}
 Breaks: libgphoto2-2-dev (<< 2.5.2-1~)
@@ -57,11 +57,12 @@
  .
  This package contains the development documentation.
 
-Package: libgphoto2-port12
+Package: libgphoto2-port12t64
+Provides: ${t64:Provides}
 Architecture: any
 Multi-Arch: same
-Breaks: libgphoto2-port10 (>= 2.5.7)
-Replaces: libgphoto2-port10 (>= 2.5.7)
+Breaks: libgphoto2-port12 (<< ${source:Version}), libgphoto2-port10 (>= 2.5.7)
+Replaces: libgphoto2-port12, libgphoto2-port10 (>= 2.5.7)
 Pre-Depends: ${misc:Pre-Depends}
 Depends: ${misc:Depends}, ${shlibs:Depends}
 Suggests: gphoto2
@@ -72,7 +73,10 @@
  .
  This package contains the runtime code for port access.
 
-Package: libgphoto2-6
+Package: libgphoto2-6t64
+Provides: ${t64:Provides}
+Replaces: libgphoto2-6
+Breaks: libgphoto2-6 (<< ${source:Version})
 Architecture: any
 Multi-Arch: same
 Pre-Depends: ${misc:Pre-Depends}
diff -Nru libgphoto2-2.5.31/debian/libgphoto2-6.README.Debian 
libgphoto2-2.5.31/debian/libgphoto2-6.README.Debian
--- libgphoto2-2.5.31/debian/libgphoto2-6.README.Debian 2023-12-01 
06:32:29.0 +
+++ libgphoto2-2.5.31/debian/libgphoto2-6.README.Debian 1970-01-01 
00:00:00.0 +
@@ -1,33 +0,0 @@
-Using libgphoto2 as a normal user
--
-
-This version of libgphoto2-installs udev files in /lib/udev/rules.d/ to
-allow camera access to all members of group 'plugdev'.
-
-This means the only configuration is to add authorized users to the 'plugdev'
-group.  Note that group changes will only apply when you relog.
-
-udev may fail to set group ownership for cameras that are not explicitly known
-by gphoto2, if you know your camera is a generic PTP model not handled by udev,
-you can create a file in /etc/udev/rules.d/, say z25_my_camera.rules, with such
-a content:
-
-ACTION=="add", SYSFS{idVendor}=="", SYSFS{idProduct}=="", \
-  MODE="0660", GROUP="plugdev"
-
-You can get  and  value with lsusb, for example:
-
-  Bus 001 Device 010: ID 04a9:3125 Canon, Inc.
-  
- 
-
-You can also send the USB ID as a Debian bug report or to gphoto2 development
-mailing list at gphoto-de...@lists.sourceforge.net
-
-Note: before 2.2.1-9, the group was not 'plugdev' but 'camera'.
-
-Note: 2.5.23 has OUTDATED.txt file. The camlibs for cameras (and driver) older
-  than 15 years have been default disabled for installation. Please see
-  the changelog file for more information.
-  /usr/share/doc/libgphoto2-6/OUTDATED.txt
-  /usr/share/doc/libgphoto2-6/changelog.gz
diff -Nru libgphoto2-2.5.31/debian/libgphoto2-6.install 
libgphoto2-2.5.31/debian/libgphoto2-6.install
--- libgphoto2-2.5.31/debian/libgphoto2-6.install   2023-12-01 
06:32:29.0 +
+++ libgphoto2-2.5.31/debian/libgphoto2-6.install   1970-01-01 
00:00:00.0 +
@@ -1,7 +0,0 @@
-# Watch out: $(major) from debian/rules is seen here, target directory is 
libgphoto2-$(major):
-usr/lib/*/libgphoto2.so.*

Bug#1062319: libgphoto2: NMU diff for 64-bit time_t transition

2024-01-31 Thread Steve Langasek
Source: libgphoto2
Version: 2.5.31-2
Severity: serious
Tags: patch pending
Justification: library ABI skew on upgrade
User: debian-...@lists.debian.org
Usertags: time-t

Dear maintainer,

As part of the 64-bit time_t transition required to support 32-bit
architectures in 2038 and beyond
(https://wiki.debian.org/ReleaseGoals/64bit-time), we have identified
libgphoto2 as a source package shipping runtime libraries whose ABI
either is affected by the change in size of time_t, or could not be
analyzed via abi-compliance-checker (and therefore to be on the safe
side we assume is affected).

To ensure that inconsistent combinations of libraries with their
reverse-dependencies are never installed together, it is necessary to
have a library transition, which is most easily done by renaming the
runtime library package.

Since turning on 64-bit time_t is being handled centrally through a change
to the default dpkg-buildflags (https://bugs.debian.org/1037136), it is
important that libraries affected by this ABI change all be uploaded close
together in time.  Therefore I have prepared a 0-day NMU for libgphoto2
which will initially be uploaded to experimental if possible, then to
unstable after packages have cleared binary NEW.

Please find the patch for this NMU attached.

If you have any concerns about this patch, please reach out ASAP.  Although
this package will be uploaded to experimental immediately, there will be a
period of several days before we begin uploads to unstable; so if information
becomes available that your package should not be included in the transition,
there is time for us to amend the planned uploads.



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

Kernel: Linux 6.5.0-14-generic (SMP w/12 CPU threads; PREEMPT)
Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_OOT_MODULE
Locale: LANG=C, LC_CTYPE=C.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
diff -Nru libgphoto2-2.5.31/debian/changelog libgphoto2-2.5.31/debian/changelog
--- libgphoto2-2.5.31/debian/changelog  2023-12-06 17:46:28.0 +
+++ libgphoto2-2.5.31/debian/changelog  2024-02-01 01:54:58.0 +
@@ -1,3 +1,10 @@
+libgphoto2 (2.5.31-2.1) experimental; urgency=medium
+
+  * Non-maintainer upload.
+  * Rename libraries for 64-bit time_t transition.
+
+ -- Steve Langasek   Thu, 01 Feb 2024 01:54:58 +
+
 libgphoto2 (2.5.31-2) unstable; urgency=medium
 
   [ Andreas Metzler ]
diff -Nru libgphoto2-2.5.31/debian/control libgphoto2-2.5.31/debian/control
--- libgphoto2-2.5.31/debian/control2023-12-01 06:32:29.0 +
+++ libgphoto2-2.5.31/debian/control2024-02-01 01:54:58.0 +
@@ -32,7 +32,7 @@
 Architecture: any
 Multi-Arch: same
 Depends: libexif-dev,
- libgphoto2-6 (= ${binary:Version}),
+ libgphoto2-6t64 (= ${binary:Version}),
  pkg-config,
  ${misc:Depends}
 Breaks: libgphoto2-2-dev (<< 2.5.2-1~)
@@ -57,11 +57,12 @@
  .
  This package contains the development documentation.
 
-Package: libgphoto2-port12
+Package: libgphoto2-port12t64
+Provides: ${t64:Provides}
 Architecture: any
 Multi-Arch: same
-Breaks: libgphoto2-port10 (>= 2.5.7)
-Replaces: libgphoto2-port10 (>= 2.5.7)
+Breaks: libgphoto2-port12 (<< ${source:Version}), libgphoto2-port10 (>= 2.5.7)
+Replaces: libgphoto2-port12, libgphoto2-port10 (>= 2.5.7)
 Pre-Depends: ${misc:Pre-Depends}
 Depends: ${misc:Depends}, ${shlibs:Depends}
 Suggests: gphoto2
@@ -72,7 +73,10 @@
  .
  This package contains the runtime code for port access.
 
-Package: libgphoto2-6
+Package: libgphoto2-6t64
+Provides: ${t64:Provides}
+Replaces: libgphoto2-6
+Breaks: libgphoto2-6 (<< ${source:Version})
 Architecture: any
 Multi-Arch: same
 Pre-Depends: ${misc:Pre-Depends}
diff -Nru 
libgphoto2-2.5.31/debian/libgphoto2-6/usr/lib/udev/hwdb.d/20-libgphoto2-6.hwdb 
libgphoto2-2.5.31/debian/libgphoto2-6/usr/lib/udev/hwdb.d/20-libgphoto2-6.hwdb
--- 
libgphoto2-2.5.31/debian/libgphoto2-6/usr/lib/udev/hwdb.d/20-libgphoto2-6.hwdb  
1970-01-01 00:00:00.0 +
+++ 
libgphoto2-2.5.31/debian/libgphoto2-6/usr/lib/udev/hwdb.d/20-libgphoto2-6.hwdb  
2024-02-01 01:54:58.0 +
@@ -0,0 +1 @@
+# hardware database file for libgphoto2 devices
diff -Nru libgphoto2-2.5.31/debian/libgphoto2-6.README.Debian 
libgphoto2-2.5.31/debian/libgphoto2-6.README.Debian
--- libgphoto2-2.5.31/debian/libgphoto2-6.README.Debian 2023-12-01 
06:32:29.0 +
+++ libgphoto2-2.5.31/debian/libgphoto2-6.README.Debian 1970-01-01 
00:00:00.0 +
@@ -1,33 +0,0 @@
-Using libgphoto2 as a normal user
--
-
-This version of libgphoto2-installs udev files in /lib/udev/rules.d/ to
-allow camera access to all members of group 'plugdev'.
-
-This means the only configuration is to add authorized users to the 'plugdev'