Source: gcc-14-cross
Severity: normal
X-Debbugs-Cc: emanuele.a...@collabora.com, r...@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 via email to