Source: gcc-defaults
Version: 1.233
Severity: minor
Tags: patch
X-Debbugs-Cc: [email protected]
User: [email protected]
Usertags: sparc

I think gcc-defaults is a bit confused about D and sparc.

debian/rules has:
 * multilib_archs contain sparc.
 * d_archs not containing sparc.
 * d_multilib_archs not contain sparc as a result.

This all looks sane.

The default debian/control has gdc-sparc-linux-gnu. This looks wrong. If
you add the current architecture to HOST_ARCHS_sparc, debian/control
also gains gdc-multilib-sparc-linux-gnu. This also looks wrong.

The way this presently works is not that the control generation
considers the aforementioned variables. Rather, there are awk scripts
discarding excess packages. And these awk scripts do not seem to
correctly handle the sparc case.

Patch attached.

Helmut
diff -Nru gcc-defaults-1.233/debian/changelog 
gcc-defaults-1.233+nmu1/debian/changelog
--- gcc-defaults-1.233/debian/changelog 2026-08-02 16:15:39.000000000 +0200
+++ gcc-defaults-1.233+nmu1/debian/changelog    2026-08-31 20:34:06.000000000 
+0200
@@ -1,3 +1,10 @@
+gcc-defaults (1.233+nmu1) UNRELEASED; urgency=medium
+
+  * Non-maintainer upload.
+  * Correctly mask sparc gdc packages from debian/control. (Closes: #-1)
+
+ -- Helmut Grohne <[email protected]>  Mon, 31 Aug 2026 20:34:06 +0200
+
 gcc-defaults (1.233) unstable; urgency=medium
 
   * Really build gm2 packages for powerpc and ppc64.
diff -Nru gcc-defaults-1.233/debian/control 
gcc-defaults-1.233+nmu1/debian/control
--- gcc-defaults-1.233/debian/control   2026-07-10 11:22:04.000000000 +0200
+++ gcc-defaults-1.233+nmu1/debian/control      2026-08-31 20:34:06.000000000 
+0200
@@ -4145,22 +4145,6 @@
  This is a dependency package providing the default GNU Go cross-compiler
  for the sparc architecture.
 
-Package: gdc-sparc-linux-gnu
-Priority: optional
-Architecture: sparc
-Multi-Arch: foreign
-Depends: cpp-sparc-linux-gnu (>= ${version:cpp}),
-  gdc-${pv:gdc}-sparc-linux-gnu ${reqv:gdc},
-  ${misc:Depends}
-Breaks: gdc (<< 4:13.2.0-3)
-Replaces: gdc (<< 4:13.2.0-3)
-Description: GNU D compiler (based on GCC) for the sparc architecture
- This is the GNU D compiler, which compiles D on platforms supported by
- the gcc compiler. It uses the gcc backend to generate optimized code.
- .
- This is a dependency package providing the default GNU D cross-compiler
- for the sparc architecture.
-
 Package: gm2-sparc-linux-gnu
 Priority: optional
 Architecture: sparc
diff -Nru gcc-defaults-1.233/debian/rules gcc-defaults-1.233+nmu1/debian/rules
--- gcc-defaults-1.233/debian/rules     2026-08-02 16:14:53.000000000 +0200
+++ gcc-defaults-1.233+nmu1/debian/rules        2026-08-31 20:34:06.000000000 
+0200
@@ -787,7 +791,7 @@
            debian/control.cross.in \
            $(if $(and $(filter yes,$(with_cross)),$(filter 
$(a),$(multilib_archs))), debian/control.cross-ml.in) \
            | awk '/^Package: gccgo-(arc|hppa|loongarch64|m68k|sh4)/ {skip=1} 
skip == 0 {print } /^$$/ && skip == 1 {skip=0}' \
-           | awk '/^Package: gdc-(alpha|arc|m68k|sh4)/ {skip=1} skip == 0 
{print } /^$$/ && skip == 1 {skip=0}' \
+           | awk '/^Package: gdc-(alpha|arc|multilib-sparc-|m68k|sh4|sparc-)/ 
{skip=1} skip == 0 {print } /^$$/ && skip == 1 {skip=0}' \
            | awk '/^Package: gm2-(sh4)-/ {skip=1} skip == 0 {print } /^$$/ && 
skip == 1 {skip=0}' \
            | awk '/^Package: 
gcobol-(alpha|arc|arm|hppa|i686|loongarch64|m68k|sh4|powerpc|powerpc64|s390|s390x|sh4|sparc|sparc64)-/
 {skip=1} skip == 0 {print } /^$$/ && skip == 1 {skip=0}' \
            | awk '/^Package: gcobol-(mips|x86-64-gnu|x86-64-linux-gnux32)/ 
{skip=1} skip == 0 {print } /^$$/ && skip == 1 {skip=0}' \

Reply via email to