Bug#1065003: libhinawa: NMU diff for 64-bit time_t transition

2024-03-01 Thread Takashi Sakamoto
Hi Steve,

Thanks for your taking the issue, and providing the package. I'm an
maintainer of libhinawa upstream in kernel.org[1], and interested in the
issue of this NMU.

In my opinion, `time_t` type is not used in libhinawa. All of expressions
of hardware and system time stamp is typed by fixed size of variable (u32,
s32, s64) in public API. The rest of suspicious codes relate to glib2.0,
however in the case the issue affects to the other libraries I provides
(libhinoko[2], libhitaki[3])...

I would like you to provide the way to detect the issue in libhinawa.

[1] https://git.kernel.org/pub/scm/libs/ieee1394/libhinawa.git/
[2] https://tracker.debian.org/pkg/libhinoko
[3] https://tracker.debian.org/pkg/libhitaki


Thanks

Takashi Sakamoto



Bug#1065003: libhinawa: NMU diff for 64-bit time_t transition

2024-02-28 Thread Steve Langasek
Source: libhinawa
Version: 4.0.1-2
Severity: serious
Tags: patch pending sid trixie
Justification: library ABI skew on upgrade
User: debian-...@lists.debian.org
Usertags: time-t

Dear maintainer,

Apologies, but it appears that somehow we failed to file a bug report sooner
about libhinawa or upload it to experimental as part of this transition
preparation!  But libhinawa is identified as being affected, so I'm
reporting this now and doing a 0-day NMU to unstable.

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
libhinawa as a source package shipping runtime libraries whose ABI 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 libhinawa which
will be uploaded to unstable.

Please find the patch for this NMU attached.

-- 
Steve Langasek   Give me a lever long enough and a Free OS
Debian Developer   to set it on, and I can move the world.
Ubuntu Developer   https://www.debian.org/
slanga...@ubuntu.com vor...@debian.org
diff -Nru libhinawa-4.0.1/debian/changelog libhinawa-4.0.1/debian/changelog
--- libhinawa-4.0.1/debian/changelog2024-02-25 11:52:44.0 +
+++ libhinawa-4.0.1/debian/changelog2024-02-28 20:37:13.0 +
@@ -1,3 +1,10 @@
+libhinawa (4.0.1-2.1) unstable; urgency=medium
+
+  * Non-maintainer upload.
+  * Rename libraries for 64-bit time_t transition.
+
+ -- Steve Langasek   Wed, 28 Feb 2024 20:37:13 +
+
 libhinawa (4.0.1-2) unstable; urgency=medium
 
   [ Takashi Sakamoto ]
diff -Nru libhinawa-4.0.1/debian/control libhinawa-4.0.1/debian/control
--- libhinawa-4.0.1/debian/control  2024-02-25 11:52:44.0 +
+++ libhinawa-4.0.1/debian/control  2024-02-28 20:35:29.0 +
@@ -16,13 +16,14 @@
 Vcs-Browser: https://salsa.debian.org/debian/libhinawa/
 Vcs-Git: https://salsa.debian.org/debian/libhinawa.git
 
-Package: libhinawa4
+Package: libhinawa4t64
+Provides: ${t64:Provides}
 Architecture: linux-any
 Pre-Depends: ${misc:Pre-Depends}
 Depends: ${shlibs:Depends}, ${misc:Depends},
 libglib2.0-0 (>= 2.44.0)
-Breaks: libhinawa2 (<< 4.0.0)
-Replaces: libhinawa2 (<< 4.0.0)
+Breaks: libhinawa4 (<< ${source:Version}), libhinawa2 (<< 4.0.0)
+Replaces: libhinawa4, libhinawa2 (<< 4.0.0)
 Multi-Arch: same
 Description: I/O library for IEEE 1394 asynchronous transaction
  This is an I/O library to operate 1394 OHCI hardware for asynchronous
@@ -32,11 +33,11 @@
 Section: introspection
 Architecture: linux-any
 Depends: ${misc:Depends}, ${gir:Depends},
-libhinawa4 (= ${binary:Version}),
+libhinawa4t64 (= ${binary:Version}),
 Breaks: gir1.2-hinawa-3.0 (<< 4.0.0)
 Replaces: gir1.2-hinawa-3.0 (<< 4.0.0)
 Multi-Arch: same
-Description: GObjet introspection data for libhinawa4
+Description: GObjet introspection data for libhinawa4t64
  This package contains introspection data for libhinawa4. It can be
  used by packages using the GIRepository format to generate dynamic
  bindings, or it can be used by interpreters understanding the
@@ -46,7 +47,7 @@
 Section: libdevel
 Architecture: linux-any
 Depends: ${misc:Depends},
-libhinawa4 (= ${binary:Version}),
+libhinawa4t64 (= ${binary:Version}),
 libglib2.0-dev (>= 2.44.0),
 libgirepository1.0-dev (>= 1.32.1),
 gir1.2-hinawa-4.0 (= ${binary:Version})
diff -Nru libhinawa-4.0.1/debian/libhinawa4.install 
libhinawa-4.0.1/debian/libhinawa4.install
--- libhinawa-4.0.1/debian/libhinawa4.install   2024-02-25 11:52:44.0 
+
+++ libhinawa-4.0.1/debian/libhinawa4.install   1970-01-01 00:00:00.0 
+
@@ -1 +0,0 @@
-usr/lib/*/*.so.*
diff -Nru libhinawa-4.0.1/debian/libhinawa4.lintian-overrides 
libhinawa-4.0.1/debian/libhinawa4.lintian-overrides
--- libhinawa-4.0.1/debian/libhinawa4.lintian-overrides 2024-02-25 
11:52:44.0 +
+++ libhinawa-4.0.1/debian/libhinawa4.lintian-overrides 1970-01-01 
00:00:00.0 +
@@ -1 +0,0 @@
-libhinawa4: hardening-no-fortify-functions [usr/lib/*/libhinawa.so.*]
diff -Nru libhinawa-4.0.1/debian/libhinawa4.symbols 
libhinawa-4.0.1/debian/libhinawa4.symbols
--- libhinawa-4.0.1/debian/libhinawa4.symbols   2024-02-25 11:52:44.0 
+
+++ libhinawa-4.0.1/debian/libhinawa4.symbols   1970-01-01 00:00:00.0 
+
@@ -1,59 +0,0 @@