Bug#1062092: coin3: NMU diff for 64-bit time_t transition
Steve Langasek
vorlon at debian.org
Sun Mar 17 22:01:47 GMT 2024
Although the package renaming in this patch appears to have been correct,
the actual code fails to build on 32-bit archs with 64-bit time_t. Please
find an updated NMU patch that corrects this issue.
I am uploading this change to unstable.
On Wed, Feb 28, 2024 at 04:52:14PM +0000, Steve Langasek wrote:
> 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-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 coin3-4.0.2+ds/debian/changelog coin3-4.0.2+ds/debian/changelog
> --- coin3-4.0.2+ds/debian/changelog 2023-12-09 15:57:42.000000000 +0000
> +++ coin3-4.0.2+ds/debian/changelog 2024-02-28 16:47:51.000000000 +0000
> @@ -1,3 +1,10 @@
> +coin3 (4.0.2+ds-1.1) unstable; urgency=medium
> +
> + * Non-maintainer upload.
> + * Rename libraries for 64-bit time_t transition. Closes: #1062092
> +
> + -- Steve Langasek <vorlon at debian.org> Wed, 28 Feb 2024 16:47:51 +0000
> +
> coin3 (4.0.2+ds-1) unstable; urgency=medium
>
> * Team upload.
> diff -Nru coin3-4.0.2+ds/debian/control coin3-4.0.2+ds/debian/control
> --- coin3-4.0.2+ds/debian/control 2023-12-09 15:56:48.000000000 +0000
> +++ coin3-4.0.2+ds/debian/control 2024-02-28 16:47:51.000000000 +0000
> @@ -3,7 +3,7 @@
> Uploaders: Leopold Palomo-Avellaneda <leo at alaxarxa.net>
> Section: graphics
> Priority: optional
> -Build-Depends: debhelper-compat (= 13),
> +Build-Depends: dpkg-dev (>= 1.22.5), debhelper-compat (= 13),
> cmake,
> doxygen,
> libexpat-dev,
> @@ -25,7 +25,10 @@
> Vcs-Git: https://salsa.debian.org/science-team/coin3.git
> Homepage: https://github.com/coin3d
>
> -Package: libcoin80c
> +Package: libcoin80t64
> +Provides: ${t64:Provides}
> +X-Time64-Compat: libcoin80c
> +Breaks: libcoin80c (<< ${source:Version})
> Architecture: any
> Multi-Arch: same
> Section: libs
> @@ -37,7 +40,7 @@
> libsimage-dev,
> zlib1g
> Pre-Depends: ${misc:Pre-Depends}
> -Replaces: libcoin80v5
> +Replaces: libcoin80c, libcoin80v5
> Description: high-level 3D graphics kit implementing the Open Inventor API
> Coin is an OpenGL-based, retain-mode 3D graphics library that
> implements the Open Inventor 2.1 API. It also includes support for
> @@ -52,7 +55,7 @@
> Package: libcoin-dev
> Architecture: any
> Section: libdevel
> -Depends: libcoin80c (= ${binary:Version}),
> +Depends: libcoin80t64 (= ${binary:Version}),
> libgl-dev,
> libopengl-dev,
> libglew-dev,
> @@ -93,7 +96,7 @@
> Multi-Arch: foreign
> Section: libs
> Depends: ${misc:Depends}
> -Suggests: libcoin80c
> +Suggests: libcoin80t64
> Replaces: libcoin80-runtime
> Breaks: libcoin80-runtime
> Description: high-level 3D graphics kit - external data files
> diff -Nru coin3-4.0.2+ds/debian/libcoin80c.install coin3-4.0.2+ds/debian/libcoin80c.install
> --- coin3-4.0.2+ds/debian/libcoin80c.install 2023-12-09 15:56:48.000000000 +0000
> +++ coin3-4.0.2+ds/debian/libcoin80c.install 1970-01-01 00:00:00.000000000 +0000
> @@ -1 +0,0 @@
> -usr/lib/*/lib*.so.*
> diff -Nru coin3-4.0.2+ds/debian/libcoin80t64.install coin3-4.0.2+ds/debian/libcoin80t64.install
> --- coin3-4.0.2+ds/debian/libcoin80t64.install 1970-01-01 00:00:00.000000000 +0000
> +++ coin3-4.0.2+ds/debian/libcoin80t64.install 2023-12-09 15:56:48.000000000 +0000
> @@ -0,0 +1 @@
> +usr/lib/*/lib*.so.*
> diff -Nru coin3-4.0.2+ds/debian/libcoin80t64.lintian-overrides coin3-4.0.2+ds/debian/libcoin80t64.lintian-overrides
> --- coin3-4.0.2+ds/debian/libcoin80t64.lintian-overrides 1970-01-01 00:00:00.000000000 +0000
> +++ coin3-4.0.2+ds/debian/libcoin80t64.lintian-overrides 2024-02-28 16:46:37.000000000 +0000
> @@ -0,0 +1 @@
> +libcoin80t64: package-name-doesnt-match-sonames libcoin80c
--
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/
slangasek at ubuntu.com vorlon at debian.org
-------------- next part --------------
diff -Nru coin3-4.0.2+ds/debian/changelog coin3-4.0.2+ds/debian/changelog
--- coin3-4.0.2+ds/debian/changelog 2023-12-09 15:57:42.000000000 +0000
+++ coin3-4.0.2+ds/debian/changelog 2024-03-17 21:56:00.000000000 +0000
@@ -1,3 +1,18 @@
+coin3 (4.0.2+ds-1.2) unstable; urgency=medium
+
+ * Non-maintainer upload.
+ * debian/patches/64-bit-time-t-compat.patch: compatibility with 64-bit
+ time_t. Closes LP: #2058160.
+
+ -- Steve Langasek <vorlon at debian.org> Sun, 17 Mar 2024 21:56:00 +0000
+
+coin3 (4.0.2+ds-1.1) unstable; urgency=medium
+
+ * Non-maintainer upload.
+ * Rename libraries for 64-bit time_t transition. Closes: #1062092
+
+ -- Steve Langasek <vorlon at debian.org> Wed, 28 Feb 2024 16:47:51 +0000
+
coin3 (4.0.2+ds-1) unstable; urgency=medium
* Team upload.
diff -Nru coin3-4.0.2+ds/debian/control coin3-4.0.2+ds/debian/control
--- coin3-4.0.2+ds/debian/control 2023-12-09 15:56:48.000000000 +0000
+++ coin3-4.0.2+ds/debian/control 2024-03-17 21:55:39.000000000 +0000
@@ -1,9 +1,10 @@
Source: coin3
-Maintainer: Debian Science Team <debian-science-maintainers at lists.alioth.debian.org>
+Maintainer: Ubuntu Developers <ubuntu-devel-discuss at lists.ubuntu.com>
+XSBC-Original-Maintainer: Debian Science Team <debian-science-maintainers at lists.alioth.debian.org>
Uploaders: Leopold Palomo-Avellaneda <leo at alaxarxa.net>
Section: graphics
Priority: optional
-Build-Depends: debhelper-compat (= 13),
+Build-Depends: dpkg-dev (>= 1.22.5), debhelper-compat (= 13),
cmake,
doxygen,
libexpat-dev,
@@ -25,7 +26,10 @@
Vcs-Git: https://salsa.debian.org/science-team/coin3.git
Homepage: https://github.com/coin3d
-Package: libcoin80c
+Package: libcoin80t64
+Provides: ${t64:Provides}
+X-Time64-Compat: libcoin80c
+Breaks: libcoin80c (<< ${source:Version})
Architecture: any
Multi-Arch: same
Section: libs
@@ -37,7 +41,7 @@
libsimage-dev,
zlib1g
Pre-Depends: ${misc:Pre-Depends}
-Replaces: libcoin80v5
+Replaces: libcoin80c, libcoin80v5
Description: high-level 3D graphics kit implementing the Open Inventor API
Coin is an OpenGL-based, retain-mode 3D graphics library that
implements the Open Inventor 2.1 API. It also includes support for
@@ -52,7 +56,7 @@
Package: libcoin-dev
Architecture: any
Section: libdevel
-Depends: libcoin80c (= ${binary:Version}),
+Depends: libcoin80t64 (= ${binary:Version}),
libgl-dev,
libopengl-dev,
libglew-dev,
@@ -93,7 +97,7 @@
Multi-Arch: foreign
Section: libs
Depends: ${misc:Depends}
-Suggests: libcoin80c
+Suggests: libcoin80t64
Replaces: libcoin80-runtime
Breaks: libcoin80-runtime
Description: high-level 3D graphics kit - external data files
diff -Nru coin3-4.0.2+ds/debian/libcoin80c.install coin3-4.0.2+ds/debian/libcoin80c.install
--- coin3-4.0.2+ds/debian/libcoin80c.install 2023-12-09 15:56:48.000000000 +0000
+++ coin3-4.0.2+ds/debian/libcoin80c.install 1970-01-01 00:00:00.000000000 +0000
@@ -1 +0,0 @@
-usr/lib/*/lib*.so.*
diff -Nru coin3-4.0.2+ds/debian/libcoin80t64.install coin3-4.0.2+ds/debian/libcoin80t64.install
--- coin3-4.0.2+ds/debian/libcoin80t64.install 1970-01-01 00:00:00.000000000 +0000
+++ coin3-4.0.2+ds/debian/libcoin80t64.install 2023-12-09 15:56:48.000000000 +0000
@@ -0,0 +1 @@
+usr/lib/*/lib*.so.*
diff -Nru coin3-4.0.2+ds/debian/libcoin80t64.lintian-overrides coin3-4.0.2+ds/debian/libcoin80t64.lintian-overrides
--- coin3-4.0.2+ds/debian/libcoin80t64.lintian-overrides 1970-01-01 00:00:00.000000000 +0000
+++ coin3-4.0.2+ds/debian/libcoin80t64.lintian-overrides 2024-02-28 16:46:37.000000000 +0000
@@ -0,0 +1 @@
+libcoin80t64: package-name-doesnt-match-sonames libcoin80c
diff -Nru coin3-4.0.2+ds/debian/patches/64-bit-time-t-compat.patch coin3-4.0.2+ds/debian/patches/64-bit-time-t-compat.patch
--- coin3-4.0.2+ds/debian/patches/64-bit-time-t-compat.patch 1970-01-01 00:00:00.000000000 +0000
+++ coin3-4.0.2+ds/debian/patches/64-bit-time-t-compat.patch 2024-03-17 21:55:39.000000000 +0000
@@ -0,0 +1,21 @@
+Description: compatibility with 64-bit time_t
+ tv_usec is (unnecessarily) a 64-bit type when _TIME_BITS=64 is enabled.
+ use 'long long' in this case as it's the only suitable public type.
+Author: Steve Langasek <steve.langasek at canonical.com>
+Forwarded: no
+Last-Update: 2024-03-17
+Bug-Ubuntu: https://bugs.launchpad.net/bugs/2058160
+
+Index: coin3-4.0.2+ds/CMakeLists.txt
+===================================================================
+--- coin3-4.0.2+ds.orig/CMakeLists.txt
++++ coin3-4.0.2+ds/CMakeLists.txt
+@@ -814,7 +814,7 @@
+
+ check_type_size("((struct timeval*)0)->tv_usec" TIMEVAL_TV_USEC)
+ if(HAVE_TIMEVAL_TV_USEC)
+- coin_find_int_type_with_size(SIM_TIMEVAL_TV_USEC_T ${TIMEVAL_TV_USEC} "suseconds_t" "long")
++ coin_find_int_type_with_size(SIM_TIMEVAL_TV_USEC_T ${TIMEVAL_TV_USEC} "suseconds_t" "long" "long long")
+ if(NOT SIM_TIMEVAL_TV_USEC_T)
+ message(FATAL_ERROR "TIMEVAL_TV_USEC: Neither of checked types (suseconds_t, long) were of requested size ${TIMEVAL_TV_USEC}")
+ endif()
diff -Nru coin3-4.0.2+ds/debian/patches/series coin3-4.0.2+ds/debian/patches/series
--- coin3-4.0.2+ds/debian/patches/series 2023-12-09 15:57:42.000000000 +0000
+++ coin3-4.0.2+ds/debian/patches/series 2024-03-17 21:55:39.000000000 +0000
@@ -1,2 +1,3 @@
0002-Added-c-suffix-to-SO_VERSION.patch
0007-Bump-cmake_minimum_required.patch
+64-bit-time-t-compat.patch
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <http://alioth-lists.debian.net/pipermail/debian-science-maintainers/attachments/20240317/8dadf16d/attachment-0001.sig>
More information about the debian-science-maintainers
mailing list