Unfortunately, compiz FTBFS on armel and armhf because libstartup-notification is not 64-bit time_t-safe. I have uploaded a follow-up NMU to fix this. Please find attached the comprehensive NMU patch.
On Wed, Feb 28, 2024 at 05:32:03PM +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) -- 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 compiz-0.8.18/debian/changelog compiz-0.8.18/debian/changelog --- compiz-0.8.18/debian/changelog 2023-01-01 21:58:27.000000000 +0000 +++ compiz-0.8.18/debian/changelog 2024-03-16 01:19:57.000000000 +0000 @@ -1,3 +1,18 @@ +compiz (2:0.8.18-5.2) unstable; urgency=medium + + * Non-maintainer upload. + * debian/patches/64-bit-time-t-compat.patch: fix build with + _TIME_BITS=64. + + -- Steve Langasek <vor...@debian.org> Sat, 16 Mar 2024 01:19:57 +0000 + +compiz (2:0.8.18-5.1) unstable; urgency=medium + + * Non-maintainer upload. + * Rename libraries for 64-bit time_t transition. Closes: #1061901 + + -- Steve Langasek <vor...@debian.org> Wed, 28 Feb 2024 17:31:21 +0000 + compiz (2:0.8.18-5) unstable; urgency=medium [ Samuel Thibault ] diff -Nru compiz-0.8.18/debian/control compiz-0.8.18/debian/control --- compiz-0.8.18/debian/control 2023-01-01 21:58:27.000000000 +0000 +++ compiz-0.8.18/debian/control 2024-02-28 17:31:21.000000000 +0000 @@ -3,7 +3,7 @@ Priority: optional Maintainer: Hypra Team <b...@hypra.fr> Uploaders: Samuel Thibault <sthiba...@debian.org> -Build-Depends: debhelper-compat (= 13), +Build-Depends: dpkg-dev (>= 1.22.5), debhelper-compat (= 13), intltool, libcairo2-dev, libglib2.0-dev, @@ -159,7 +159,10 @@ This package contains the standard plugins that come with compiz. Compiz without these plugins is not very useful. -Package: libdecoration0 +Package: libdecoration0t64 +Provides: ${t64:Provides} +Replaces: libdecoration0 +Breaks: libdecoration0 (<< ${source:Version}) Section: libs Architecture: any Multi-Arch: same @@ -174,7 +177,7 @@ Section: libdevel Architecture: any Multi-Arch: same -Depends: libdecoration0 (= ${binary:Version}), +Depends: libdecoration0t64 (= ${binary:Version}), ${misc:Depends}, libx11-dev, libxrender-dev diff -Nru compiz-0.8.18/debian/libdecoration0.install compiz-0.8.18/debian/libdecoration0.install --- compiz-0.8.18/debian/libdecoration0.install 2018-10-27 12:09:18.000000000 +0000 +++ compiz-0.8.18/debian/libdecoration0.install 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -usr/lib/libdecoration*.so.* diff -Nru compiz-0.8.18/debian/libdecoration0t64.install compiz-0.8.18/debian/libdecoration0t64.install --- compiz-0.8.18/debian/libdecoration0t64.install 1970-01-01 00:00:00.000000000 +0000 +++ compiz-0.8.18/debian/libdecoration0t64.install 2018-10-27 12:09:18.000000000 +0000 @@ -0,0 +1 @@ +usr/lib/libdecoration*.so.* diff -Nru compiz-0.8.18/debian/libdecoration0t64.lintian-overrides compiz-0.8.18/debian/libdecoration0t64.lintian-overrides --- compiz-0.8.18/debian/libdecoration0t64.lintian-overrides 1970-01-01 00:00:00.000000000 +0000 +++ compiz-0.8.18/debian/libdecoration0t64.lintian-overrides 2024-02-28 17:29:20.000000000 +0000 @@ -0,0 +1 @@ +libdecoration0t64: package-name-doesnt-match-sonames libdecoration0 diff -Nru compiz-0.8.18/debian/patches/64-bit-time-t-compat.patch compiz-0.8.18/debian/patches/64-bit-time-t-compat.patch --- compiz-0.8.18/debian/patches/64-bit-time-t-compat.patch 1970-01-01 00:00:00.000000000 +0000 +++ compiz-0.8.18/debian/patches/64-bit-time-t-compat.patch 2024-03-16 01:19:57.000000000 +0000 @@ -0,0 +1,30 @@ +Description: fix build with _TIME_BITS=64 + The startup-notification API takes a long * where it ought to have always + taken a time_t *. As a consequence, changing the size of time_t makes + callers fail to build. Work around this by safely casting to a long. + This will continue to work on 32-bit systems until 2038, by which time + all the 32-bit systems will be dead or no longer running GUIs or at least + not using libstartup-notification0. +Author: Steve Langasek <steve.langa...@canonical.com> +Forwarded: no +Last-Update: 2024-03-15 + +Index: compiz-0.8.18/src/screen.c +=================================================================== +--- compiz-0.8.18.orig/src/screen.c ++++ compiz-0.8.18/src/screen.c +@@ -748,9 +748,12 @@ + + for (s = screen->startupSequences; s; s = s->next) + { ++ /* workaround for broken startup-notification api that uses ++ a long where it should have used time_t */ ++ long seconds, useconds; + sn_startup_sequence_get_last_active_time (s->sequence, +- &active.tv_sec, +- &active.tv_usec); ++ &seconds, ++ &useconds); + + elapsed = ((((double) now.tv_sec - active.tv_sec) * 1000000.0 + + (now.tv_usec - active.tv_usec))) / 1000.0; diff -Nru compiz-0.8.18/debian/patches/series compiz-0.8.18/debian/patches/series --- compiz-0.8.18/debian/patches/series 2022-02-08 21:39:26.000000000 +0000 +++ compiz-0.8.18/debian/patches/series 2024-03-16 01:18:26.000000000 +0000 @@ -1,3 +1,4 @@ default_options.patch fade rsvg-header +64-bit-time-t-compat.patch diff -Nru compiz-0.8.18/debian/rules compiz-0.8.18/debian/rules --- compiz-0.8.18/debian/rules 2021-09-26 11:10:56.000000000 +0000 +++ compiz-0.8.18/debian/rules 2024-02-28 17:31:20.000000000 +0000 @@ -31,8 +31,8 @@ dh_install ! mkdir debian/compiz-dev/usr/lib/$(DEB_HOST_MULTIARCH) || \ mv debian/compiz-dev/usr/lib/pkgconfig debian/compiz-dev/usr/lib/$(DEB_HOST_MULTIARCH)/ - ! mkdir debian/libdecoration0/usr/lib/$(DEB_HOST_MULTIARCH) || \ - mv debian/libdecoration0/usr/lib/libdecoration* debian/libdecoration0/usr/lib/$(DEB_HOST_MULTIARCH)/ + ! mkdir debian/libdecoration0t64/usr/lib/$(DEB_HOST_MULTIARCH) || \ + mv debian/libdecoration0t64/usr/lib/libdecoration* debian/libdecoration0t64/usr/lib/$(DEB_HOST_MULTIARCH)/ ! mkdir debian/libdecoration0-dev/usr/lib/$(DEB_HOST_MULTIARCH) || \ ( mv debian/libdecoration0-dev/usr/lib/pkgconfig debian/libdecoration0-dev/usr/lib/$(DEB_HOST_MULTIARCH)/ && \ mv debian/libdecoration0-dev/usr/lib/libdecoration* debian/libdecoration0-dev/usr/lib/$(DEB_HOST_MULTIARCH)/ ) @@ -46,7 +46,7 @@ rm -f debian/compiz-plugins/usr/share/compiz/core.xml override_dh_makeshlibs: - dh_makeshlibs -plibdecoration0 -V'libdecoration0 (>= 2:0.8.14-0~)' + dh_makeshlibs -plibdecoration0t64 -V'libdecoration0t64 (>= 2:0.8.14-0~)' override_dh_gencontrol: dh_gencontrol -- -Vcoreabiversion=$(CORE_ABIVERSION)
signature.asc
Description: PGP signature