Bug#1085612: gcc-14-cross includes hardcoded version revision
Source: gcc-14-cross
Severity: normal
X-Debbugs-Cc: emanuele.aina@collabora.com, rrs@debian.org
Dear Maintainer
I think we found an issue with gcc-14-cross (and other packages with
similar relations like what-is-python) that causes it to misbehave
whenever a new upload happens without a matching upload of gcc-14.
In particular, the binaries produced by gcc-14-cross take their
version from gcc-14 only, disregarding the actual gcc-14-cross
version completely.
This means that uploading a new gcc-14-cross version without changing
gcc-14 will produce new binaries with the same version as the one
produced by the previous uploads, breaking the archive invariants.
We found this because for our derivative we are using OBS which always
appends a build revision to the changelog on every build and it did not
have any effect on gcc-14-cross package. This behavior should apply
to Debian as well.
For instance, at the moment Debian has the sources:
* gcc-14 14.2.0-6
* gcc-14-cross 7
And the binaries:
* gcc-14-source 14.2.0-6
* gcc-14-aarch64-linux-gnu 14.2.0-6cross1
The issue is that any update to gcc-14-cross alone would still result
in gcc-14-aarch64-linux-gnu 14.2.0-6cross1, since the version of
gcc-14-cross is not reflected in the version of gcc-14-aarch64-linux-gnu
in any way.
A potential approach that would avoid the issue would be to concatenate
the gcc-14-cross version to the generated version,
(gcc-14-source version + "cross" + gcc-14-cross version); for instance
getting gcc-14-aarch64-linux-gnu 14.2.0-6cross7.
Would it be useful to you if we were to submit a patch to do that?
Thank you!
-- System Information:
Debian Release: trixie/sid
APT prefers testing
APT policy: (990, 'testing'), (500, 'unstable-debug'), (500, 'testing-debug'), (500, 'stable-updates'), (500, 'stable-security'), (500, 'oldstable-updates'), (500, 'oldstable-security'), (500, 'oldoldstable'), (500, 'unstable'), (500, 'stable'), (500, 'oldstable'), (100, 'experimental')
Architecture: amd64 (x86_64)
Kernel: Linux 6.11.2-amd64 (SMP w/16 CPU threads; PREEMPT)
Locale: LANG=en_IN.UTF-8, LC_CTYPE=en_IN.UTF-8 (charmap=UTF-8), LANGUAGE=en_US
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled
Reply to: