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
avro-c 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).
Hi Robert,
On Tue, Jan 30, 2024 at 02:05:11PM -0500, Robert Edmonds wrote:
Steve Langasek wrote:
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 avro-c 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).
Hi, Steve:
I'm not aware of anything in avro-c that embeds time_t, or really any platform-provided structs, into the API/ABI. Can you point me to the
actual changes in the avro-c ABI due to this change?
Thanks!
avro-c falls into the second of these categories, "or could not be analyzed and therefore we assume is affected".
Output of the attempt to analyze the package with abi-compliance-checker: https://adrien.dcln.fr/misc/armhf-time_t/2024-01-17/logs/libavro-dev/base/log.txt
This shows there are headers that can't be compiled because they're Windows-specific. So it seems counterproductive to ship these at all in Debian?
If this header were removed from the package, or if a quirk were added to https://salsa.debian.org/vorlon/armhf-time_t/-/blob/main/check-armhf-time_t?ref_type=heads
to exclude the incorrect headers from the analysis, we could confirm that avro-c is unaffected and avoid unnecessary NMUs / transitions to unstable.
I guess you have to do it that way since there isn't really anything universal and machine readable that says: this is the public API header
file to include to use this library.
This shows there are headers that can't be compiled because they're Windows-specific. So it seems counterproductive to ship these at all in Debian?
If this header were removed from the package, or if a quirk were added to https://salsa.debian.org/vorlon/armhf-time_t/-/blob/main/check-armhf-time_t?ref_type=heads
to exclude the incorrect headers from the analysis, we could confirm that avro-c is unaffected and avoid unnecessary NMUs / transitions to unstable.
If there is a way to quirk the avro-c package for this analysis so you
only include /usr/include/avro.h rather than every header file shipped
in the -dev package I think it would let your analysis succeed, without missing anything, and, I would guess that that analysis would show no
ABI changes and thus no ABI transition is necessary.
I'm also open to just dropping those ms*.h files from the -dev package
which should just work without any other changes without breaking
anything else, but I haven't tested it.
Sysop: | Keyop |
---|---|
Location: | Huddersfield, West Yorkshire, UK |
Users: | 297 |
Nodes: | 16 (2 / 14) |
Uptime: | 11:48:10 |
Calls: | 6,666 |
Files: | 12,214 |
Messages: | 5,336,442 |