#1062209 android-libbacktrace (et al): identified for time_t transition but no ABI in shlibs

Package:
android-libbase
Source:
android-libbase
Description:
Android base library
Submitter:
Steve Langasek
Date:
2024-05-21 08:21:05 UTC
Severity:
normal
#1062209#5
Date:
2024-01-31 18:39:30 UTC
From:
To:
Package: android-libbase
Version: 1:34.0.4-1
Severity: serious
User: debian-arm@lists.debian.org
Usertags: time-t

Hi Roger,

Analysis of the archive for the 64-bit time_t transition[0][1] identifies
android-libbase (and other libraries from android-platform-tools) as a
package shipping a library whose ABI changes on 32-bit architectures with
64-bit time_t.

However, android-libbase's shlibs file declares a dependency on a
library package name that contains no ABI information:

$ cat DEBIAN/shlibs
libbase 0 android-libbase (>= 34.0.4)
$

It is therefore not obvious that we should rename the package to
'android-libbaset64' as part of this transition, or to do similarly for the
other libraries built from this source.

Looking at the archive, there are packages built from both
android-platform-tools and from separate source packages that depend on this
library.

Since there is no self-evident thing to do with the library package name
here, we will not be handling this package as part of the mass NMUs.
Instead I am filing a serious bug because partial upgrades from bookworm to
trixie on 32-bit architectures (upgrading android-libbase without also
upgrading adb, fastboot, dexdump, etc) will result in ABI skew and may
result in broken behavior.

Thanks,

#1062209#10
Date:
2024-05-21 08:15:44 UTC
From:
To:
control: severity -1 normal

Thanks for reporting!  In the Android Tools case, the shared libs and packages
that use them are packaged together, often from the same source package, so I
can't see why we'd need special versions of it. And when we need to, we can use
strictly versioned depends, so it should be fine. I'm going to set the bug to
normal for now.

#1062209#17
Date:
2024-05-21 08:17:40 UTC
From:
To:
control: severity -1 normal

Thanks for reporting!  In the Android Tools case, the shared libs and packages
that use them are packaged together, often from the same source package, so I
can't see why we'd need special versions of it. And when we need to, we can use
strictly versioned depends, so it should be fine. I'm going to set the bug to
normal for now.