Source: cross-toolchain-base Version: 74 Severity: normal Tags: patch X-Debbugs-Cc: Helmut Grohne <hel...@subdivi.de>
Hi, This is a follow-up from the discussion from bug#1100544, which listed 3 proposal to fix the issue: | 1. glibc should conditionally emit these Conflicts. When a particular | environment variable is set by c-t-b, their emission is suppressed. | | 2. Someone (me?) develops a c-t-b patch that discards the conflicts in | the repacking step as that also is the step that fixes | coinstallability. | | 3. We revert those conflicts in trixie and retry with more time in | forky. It happens that 2 is already implemented for libc*-cross [1], so it is trivial to expand it to libc*-dev*-cross: diff -Nru cross-toolchain-base-74/debian/rules cross-toolchain-base-74+nmu1/debian/rules --- cross-toolchain-base-74/debian/rules 2025-03-15 12:14:49.000000000 +0100 +++ cross-toolchain-base-74+nmu1/debian/rules 2025-03-17 22:04:48.000000000 +0100 @@ -946,8 +946,7 @@ || echo 'Multi-Arch: foreign' >> $$tmp/DEBIAN/control; \ esac; \ case "$$pkgname" in \ - libc*-dev*-cross) ;; \ - libc*-cross) \ + libc*-cross | libc*-dev*-cross) \ sed -i -E '/^Conflicts:/s/ libc[^,]*(,|$$)//g;/^Conflicts: *$$/d' $$tmp/DEBIAN/control; \ esac; \ newdeb=`echo $$deb|sed -e "s/\(.*\)_\(.*\)_\(.*\)/\1_\2$(CROSS_EXT)_\3/g"`; \ To me, it looks like the best option because: - I doesn't make sense to have a different implementation to remove the conflicts for libc*-cross and libc*-dev*-cross. - This has less risk of breakage than the current situation of patching glibc code, the patch stop being applicable for any small change on the glibc control file. - cross-toolchain-base is the one mangling the files in the just produced libc* and libc*-dev packages to create libc*-cross and libc*-dev*-cross. As such it is the place where the file conflict is removed, and thus the place where the conflicts should be removed. In addition, there are already other parts of the DEBIAN/control file mangled here. I have tested the attached patch, and I can confirm it remove the conflicts. In addition it removes conflicts with hurd packages, which currently do not exist, but would also not be an issue as files are in a different location after mangling them to create the cross package. Regards Aurelien [1] https://salsa.debian.org/toolchain-team/cross-toolchain-base/-/commit/4adefe059103029dc0fdb9f6fcaec62980d8d033
diff -Nru cross-toolchain-base-74/debian/changelog cross-toolchain-base-74+nmu1/debian/changelog --- cross-toolchain-base-74/debian/changelog 2025-03-15 12:14:49.000000000 +0100 +++ cross-toolchain-base-74+nmu1/debian/changelog 2025-03-17 22:04:48.000000000 +0100 @@ -1,3 +1,12 @@ +cross-toolchain-base (74+nmu1) unstable; urgency=medium + + * Don't let the libc*-dev*-cross multilib packages conflict with each other. + * Stop reverting: + * debian/control.in/*: mirror existing Conflicts: of libc6 multilib packages + to libc6-dev multilib packages. + + -- Aurelien Jarno <aure...@debian.org> Mon, 17 Mar 2025 22:04:48 +0100 + cross-toolchain-base (74) unstable; urgency=medium * Build using gcc 14.2.0-18. diff -Nru cross-toolchain-base-74/debian/patches/glibc/debian/remove-multilib-conflicts.diff cross-toolchain-base-74+nmu1/debian/patches/glibc/debian/remove-multilib-conflicts.diff --- cross-toolchain-base-74/debian/patches/glibc/debian/remove-multilib-conflicts.diff 2025-03-15 12:14:49.000000000 +0100 +++ cross-toolchain-base-74+nmu1/debian/patches/glibc/debian/remove-multilib-conflicts.diff 1970-01-01 01:00:00.000000000 +0100 @@ -1,217 +0,0 @@ - * Revert: - * debian/control.in/*: mirror existing Conflicts: of libc6 multilib packages - to libc6-dev multilib packages. Closes: #1092278. - to be able to build cross compilers again. - -diff -Nru glibc-2.41/debian/control glibc-2.41/debian/control ---- glibc-2.41/debian/control 2025-02-04 17:27:16.000000000 +0100 -+++ glibc-2.41/debian/control 2025-03-15 06:07:01.000000000 +0100 -@@ -397,7 +397,6 @@ - Priority: optional - Provides: lib32c-dev - Depends: libc6-i386 (= ${binary:Version}) <!stage1>, libc6-dev (= ${binary:Version}), ${misc:Depends} --Conflicts: libc6-dev-amd64 [amd64], libc6-dev-amd64:i386 [x32], libc6-dev-i386:amd64 [x32], libc6-dev-i386:x32 [amd64], libc6-dev-mips32, libc6-dev-mips64, libc6-dev-mipsn32, libc6-dev-powerpc, libc6-dev-ppc64, libc6-dev-s390, libc6-dev-sparc, libc6-dev-sparc64, libc6-dev-x32 [x32], libc6-dev-x32:i386 [amd64] - Recommends: gcc-multilib - Build-Profiles: <!nobiarch> - Description: GNU C Library: 32-bit development libraries for AMD64 -@@ -423,7 +422,6 @@ - Priority: optional - Provides: lib32c-dev - Depends: libc6-sparc (= ${binary:Version}) <!stage1>, libc6-dev (= ${binary:Version}), ${misc:Depends} --Conflicts: libc6-dev-amd64, libc6-dev-i386, libc6-dev-mips32, libc6-dev-mips64, libc6-dev-mipsn32, libc6-dev-powerpc, libc6-dev-ppc64, libc6-dev-s390, libc6-dev-sparc64, libc6-dev-x32 - Recommends: gcc-multilib - Build-Profiles: <!nobiarch> - Description: GNU C Library: 32bit Development Libraries for SPARC -@@ -449,7 +447,6 @@ - Priority: optional - Provides: lib64c-dev - Depends: libc6-sparc64 (= ${binary:Version}) <!stage1>, libc6-dev (= ${binary:Version}), ${misc:Depends} --Conflicts: libc6-dev-amd64, libc6-dev-i386, libc6-dev-mips32, libc6-dev-mips64, libc6-dev-mipsn32, libc6-dev-powerpc, libc6-dev-ppc64, libc6-dev-s390, libc6-dev-sparc, libc6-dev-x32 - Recommends: gcc-multilib - Build-Profiles: <!nobiarch> - Description: GNU C Library: 64bit Development Libraries for UltraSPARC -@@ -475,7 +472,6 @@ - Priority: optional - Provides: lib32c-dev - Depends: libc6-s390 (= ${binary:Version}) <!stage1>, libc6-dev (= ${binary:Version}), ${misc:Depends} --Conflicts: libc6-dev-amd64, libc6-dev-i386, libc6-dev-mips32, libc6-dev-mips64, libc6-dev-mipsn32, libc6-dev-powerpc, libc6-dev-ppc64, libc6-dev-sparc, libc6-dev-sparc64, libc6-dev-x32 - Recommends: gcc-multilib - Build-Profiles: <!nobiarch> - Description: GNU C Library: 32bit Development Libraries for IBM zSeries -@@ -500,7 +496,6 @@ - Section: libdevel - Priority: optional - Depends: libc6-amd64 (= ${binary:Version}) <!stage1>, libc6-dev (= ${binary:Version}), ${misc:Depends} --Conflicts: libc6-dev-amd64:i386 [x32], libc6-dev-amd64:x32 [i386], libc6-dev-i386 [i386], libc6-dev-i386:amd64 [x32], libc6-dev-mips32, libc6-dev-mips64, libc6-dev-mipsn32, libc6-dev-powerpc, libc6-dev-ppc64, libc6-dev-s390, libc6-dev-sparc, libc6-dev-sparc64, libc6-dev-x32 [x32], libc6-dev-x32:amd64 [i386] - Recommends: gcc-multilib - Provides: lib64c-dev - Build-Profiles: <!nobiarch> -@@ -527,7 +522,6 @@ - Priority: optional - Provides: lib32c-dev - Depends: libc6-powerpc (= ${binary:Version}) <!stage1>, libc6-dev (= ${binary:Version}), ${misc:Depends} --Conflicts: libc6-dev-amd64, libc6-dev-i386, libc6-dev-mips32, libc6-dev-mips64, libc6-dev-mipsn32, libc6-dev-ppc64, libc6-dev-s390, libc6-dev-sparc, libc6-dev-sparc64, libc6-dev-x32 - Recommends: gcc-multilib - Build-Profiles: <!nobiarch> - Description: GNU C Library: 32bit powerpc development libraries for ppc64 -@@ -553,7 +547,6 @@ - Priority: optional - Provides: lib64c-dev - Depends: libc6-ppc64 (= ${binary:Version}) <!stage1>, libc6-dev (= ${binary:Version}), ${misc:Depends} --Conflicts: libc6-dev-amd64, libc6-dev-i386, libc6-dev-mips32, libc6-dev-mips64, libc6-dev-mipsn32, libc6-dev-powerpc, libc6-dev-s390, libc6-dev-sparc, libc6-dev-sparc64, libc6-dev-x32 - Recommends: gcc-multilib - Build-Profiles: <!nobiarch> - Description: GNU C Library: 64bit Development Libraries for PowerPC64 -@@ -582,7 +575,6 @@ - libc6-dev-mipsn32 (= ${binary:Version}) [mips64 mips64el mips64r6 mips64r6el], - libc6-dev-mips64 (= ${binary:Version}) [mipsn32 mipsn32el mipsn32r6 mipsn32r6el], - ${misc:Depends} --Conflicts: libc6-dev-amd64, libc6-dev-i386, libc6-dev-mips32:mips64 [mips64el mips64r6 mips64r6el mipsn32 mipsn32el mipsn32r6 mipsn32r6el], libc6-dev-mips32:mips64el [mips64 mips64r6 mips64r6el mipsn32 mipsn32el mipsn32r6 mipsn32r6el], libc6-dev-mips32:mips64r6 [mips64 mips64el mips64r6el mipsn32 mipsn32el mipsn32r6 mipsn32r6el], libc6-dev-mips32:mips64r6el [mips64 mips64el mips64r6 mipsn32 mipsn32el mipsn32r6 mipsn32r6el], libc6-dev-mips32:mipsn32 [mips64 mips64el mips64r6 mips64r6el mipsn32el mipsn32r6 mipsn32r6el], libc6-dev-mips32:mipsn32el [mips64 mips64el mips64r6 mips64r6el mipsn32 mipsn32r6 mipsn32r6el], libc6-dev-mips32:mipsn32r6 [mips64 mips64el mips64r6 mips64r6el mipsn32 mipsn32el mipsn32r6el], libc6-dev-mips32:mipsn32r6el [mips64 mips64el mips64r6 mips64r6el mipsn32 mipsn32el mipsn32r6], libc6-dev-mips64 [mips64 mips64el mips64r6 mips64r6el], libc6-dev-mips64:mips [mipsn32 mipsn32el mipsn32r6 mipsn32r6el], libc6-dev-mips64:mipsel [mipsn32 mipsn32el mipsn32r6 mipsn32r6el], libc6-dev-mips64:mipsn32 [mipsn32el mipsn32r6 mipsn32r6el], libc6-dev-mips64:mipsn32el [mipsn32 mipsn32r6 mipsn32r6el], libc6-dev-mips64:mipsn32r6 [mipsn32 mipsn32el mipsn32r6el], libc6-dev-mips64:mipsn32r6el [mipsn32 mipsn32el mipsn32r6], libc6-dev-mips64:mipsr6 [mipsn32 mipsn32el mipsn32r6 mipsn32r6el], libc6-dev-mips64:mipsr6el [mipsn32 mipsn32el mipsn32r6 mipsn32r6el], libc6-dev-mipsn32 [mipsn32 mipsn32el mipsn32r6 mipsn32r6el], libc6-dev-mipsn32:mips [mips64 mips64el mips64r6 mips64r6el], libc6-dev-mipsn32:mips64 [mips64el mips64r6 mips64r6el], libc6-dev-mipsn32:mips64el [mips64 mips64r6 mips64r6el], libc6-dev-mipsn32:mips64r6 [mips64 mips64el mips64r6el], libc6-dev-mipsn32:mips64r6el [mips64 mips64el mips64r6], libc6-dev-mipsn32:mipsel [mips64 mips64el mips64r6 mips64r6el], libc6-dev-mipsn32:mipsr6 [mips64 mips64el mips64r6 mips64r6el], libc6-dev-mipsn32:mipsr6el [mips64 mips64el mips64r6 mips64r6el], libc6-dev-powerpc, libc6-dev-ppc64, libc6-dev-s390, libc6-dev-sparc, libc6-dev-sparc64, libc6-dev-x32 - Recommends: gcc-multilib - Build-Profiles: <!nobiarch> - Description: GNU C Library: o32 Development Libraries for MIPS -@@ -608,7 +600,6 @@ - Priority: optional - Provides: libn32c-dev - Depends: libc6-mipsn32 (= ${binary:Version}) <!stage1>, libc6-dev-mips64 (= ${binary:Version}) [mips mipsel mipsr6 mipsr6el], libc6-dev (= ${binary:Version}), ${misc:Depends} --Conflicts: libc6-dev-amd64, libc6-dev-i386, libc6-dev-mips32 [mips mipsel mipsr6 mipsr6el], libc6-dev-mips32:mips64 [mips64el mips64r6 mips64r6el], libc6-dev-mips32:mips64el [mips64 mips64r6 mips64r6el], libc6-dev-mips32:mips64r6 [mips64 mips64el mips64r6el], libc6-dev-mips32:mips64r6el [mips64 mips64el mips64r6], libc6-dev-mips32:mipsn32 [mips64 mips64el mips64r6 mips64r6el], libc6-dev-mips32:mipsn32el [mips64 mips64el mips64r6 mips64r6el], libc6-dev-mips32:mipsn32r6 [mips64 mips64el mips64r6 mips64r6el], libc6-dev-mips32:mipsn32r6el [mips64 mips64el mips64r6 mips64r6el], libc6-dev-mips64 [mips64 mips64el mips64r6 mips64r6el], libc6-dev-mips64:mips [mipsel mipsr6 mipsr6el], libc6-dev-mips64:mipsel [mips mipsr6 mipsr6el], libc6-dev-mips64:mipsn32 [mips mipsel mipsr6 mipsr6el], libc6-dev-mips64:mipsn32el [mips mipsel mipsr6 mipsr6el], libc6-dev-mips64:mipsn32r6 [mips mipsel mipsr6 mipsr6el], libc6-dev-mips64:mipsn32r6el [mips mipsel mipsr6 mipsr6el], libc6-dev-mips64:mipsr6 [mips mipsel mipsr6el], libc6-dev-mips64:mipsr6el [mips mipsel mipsr6], libc6-dev-mipsn32:mips [mips64 mips64el mips64r6 mips64r6el mipsel mipsr6 mipsr6el], libc6-dev-mipsn32:mips64 [mips mips64el mips64r6 mips64r6el mipsel mipsr6 mipsr6el], libc6-dev-mipsn32:mips64el [mips mips64 mips64r6 mips64r6el mipsel mipsr6 mipsr6el], libc6-dev-mipsn32:mips64r6 [mips mips64 mips64el mips64r6el mipsel mipsr6 mipsr6el], libc6-dev-mipsn32:mips64r6el [mips mips64 mips64el mips64r6 mipsel mipsr6 mipsr6el], libc6-dev-mipsn32:mipsel [mips mips64 mips64el mips64r6 mips64r6el mipsr6 mipsr6el], libc6-dev-mipsn32:mipsr6 [mips mips64 mips64el mips64r6 mips64r6el mipsel mipsr6el], libc6-dev-mipsn32:mipsr6el [mips mips64 mips64el mips64r6 mips64r6el mipsel mipsr6], libc6-dev-powerpc, libc6-dev-ppc64, libc6-dev-s390, libc6-dev-sparc, libc6-dev-sparc64, libc6-dev-x32 - Recommends: gcc-multilib - Build-Profiles: <!nobiarch> - Description: GNU C Library: n32 Development Libraries for MIPS64 -@@ -634,7 +625,6 @@ - Priority: optional - Provides: lib64c-dev - Depends: libc6-mips64 (= ${binary:Version}) <!stage1>, libc6-dev (= ${binary:Version}), ${misc:Depends} --Conflicts: libc6-dev-amd64, libc6-dev-i386, libc6-dev-mips32 [mips mipsel mipsr6 mipsr6el], libc6-dev-mips32:mips64 [mipsn32 mipsn32el mipsn32r6 mipsn32r6el], libc6-dev-mips32:mips64el [mipsn32 mipsn32el mipsn32r6 mipsn32r6el], libc6-dev-mips32:mips64r6 [mipsn32 mipsn32el mipsn32r6 mipsn32r6el], libc6-dev-mips32:mips64r6el [mipsn32 mipsn32el mipsn32r6 mipsn32r6el], libc6-dev-mips32:mipsn32 [mipsn32el mipsn32r6 mipsn32r6el], libc6-dev-mips32:mipsn32el [mipsn32 mipsn32r6 mipsn32r6el], libc6-dev-mips32:mipsn32r6 [mipsn32 mipsn32el mipsn32r6el], libc6-dev-mips32:mipsn32r6el [mipsn32 mipsn32el mipsn32r6], libc6-dev-mips64:mips [mipsel mipsn32 mipsn32el mipsn32r6 mipsn32r6el mipsr6 mipsr6el], libc6-dev-mips64:mipsel [mips mipsn32 mipsn32el mipsn32r6 mipsn32r6el mipsr6 mipsr6el], libc6-dev-mips64:mipsn32 [mips mipsel mipsn32el mipsn32r6 mipsn32r6el mipsr6 mipsr6el], libc6-dev-mips64:mipsn32el [mips mipsel mipsn32 mipsn32r6 mipsn32r6el mipsr6 mipsr6el], libc6-dev-mips64:mipsn32r6 [mips mipsel mipsn32 mipsn32el mipsn32r6el mipsr6 mipsr6el], libc6-dev-mips64:mipsn32r6el [mips mipsel mipsn32 mipsn32el mipsn32r6 mipsr6 mipsr6el], libc6-dev-mips64:mipsr6 [mips mipsel mipsn32 mipsn32el mipsn32r6 mipsn32r6el mipsr6el], libc6-dev-mips64:mipsr6el [mips mipsel mipsn32 mipsn32el mipsn32r6 mipsn32r6el mipsr6], libc6-dev-mipsn32 [mipsn32 mipsn32el mipsn32r6 mipsn32r6el], libc6-dev-mipsn32:mips [mipsel mipsr6 mipsr6el], libc6-dev-mipsn32:mips64 [mips mipsel mipsr6 mipsr6el], libc6-dev-mipsn32:mips64el [mips mipsel mipsr6 mipsr6el], libc6-dev-mipsn32:mips64r6 [mips mipsel mipsr6 mipsr6el], libc6-dev-mipsn32:mips64r6el [mips mipsel mipsr6 mipsr6el], libc6-dev-mipsn32:mipsel [mips mipsr6 mipsr6el], libc6-dev-mipsn32:mipsr6 [mips mipsel mipsr6el], libc6-dev-mipsn32:mipsr6el [mips mipsel mipsr6], libc6-dev-powerpc, libc6-dev-ppc64, libc6-dev-s390, libc6-dev-sparc, libc6-dev-sparc64, libc6-dev-x32 - Recommends: gcc-multilib - Build-Profiles: <!nobiarch> - Description: GNU C Library: 64bit Development Libraries for MIPS64 -@@ -659,7 +649,6 @@ - Section: libdevel - Priority: optional - Depends: libc6-x32 (= ${binary:Version}) <!stage1>, libc6-dev-i386 (= ${binary:Version}) [amd64], libc6-dev-amd64 (= ${binary:Version}) [i386], libc6-dev (= ${binary:Version}), ${misc:Depends} --Conflicts: libc6-dev-amd64 [amd64], libc6-dev-amd64:x32 [i386], libc6-dev-i386 [i386], libc6-dev-i386:x32 [amd64], libc6-dev-mips32, libc6-dev-mips64, libc6-dev-mipsn32, libc6-dev-powerpc, libc6-dev-ppc64, libc6-dev-s390, libc6-dev-sparc, libc6-dev-sparc64, libc6-dev-x32:amd64 [i386], libc6-dev-x32:i386 [amd64] - Recommends: gcc-multilib - Build-Profiles: <!nobiarch> - Description: GNU C Library: X32 ABI Development Libraries for AMD64 -diff -Nru glibc-2.41/debian/control.in/amd64 glibc-2.41/debian/control.in/amd64 ---- glibc-2.41/debian/control.in/amd64 2025-02-04 15:07:48.000000000 +0100 -+++ glibc-2.41/debian/control.in/amd64 2025-03-15 06:07:01.000000000 +0100 -@@ -15,7 +15,6 @@ - Section: libdevel - Priority: optional - Depends: libc6-amd64 (= ${binary:Version}) <!stage1>, libc6-dev (= ${binary:Version}), ${misc:Depends} --Conflicts: libc6-dev-amd64:i386 [x32], libc6-dev-amd64:x32 [i386], libc6-dev-i386 [i386], libc6-dev-i386:amd64 [x32], libc6-dev-mips32, libc6-dev-mips64, libc6-dev-mipsn32, libc6-dev-powerpc, libc6-dev-ppc64, libc6-dev-s390, libc6-dev-sparc, libc6-dev-sparc64, libc6-dev-x32 [x32], libc6-dev-x32:amd64 [i386] - Recommends: gcc-multilib - Provides: lib64c-dev - Build-Profiles: <!nobiarch> -diff -Nru glibc-2.41/debian/control.in/i386 glibc-2.41/debian/control.in/i386 ---- glibc-2.41/debian/control.in/i386 2025-02-04 15:07:48.000000000 +0100 -+++ glibc-2.41/debian/control.in/i386 2025-03-15 06:07:01.000000000 +0100 -@@ -17,7 +17,6 @@ - Priority: optional - Provides: lib32c-dev - Depends: libc6-i386 (= ${binary:Version}) <!stage1>, libc6-dev (= ${binary:Version}), ${misc:Depends} --Conflicts: libc6-dev-amd64 [amd64], libc6-dev-amd64:i386 [x32], libc6-dev-i386:amd64 [x32], libc6-dev-i386:x32 [amd64], libc6-dev-mips32, libc6-dev-mips64, libc6-dev-mipsn32, libc6-dev-powerpc, libc6-dev-ppc64, libc6-dev-s390, libc6-dev-sparc, libc6-dev-sparc64, libc6-dev-x32 [x32], libc6-dev-x32:i386 [amd64] - Recommends: gcc-multilib - Build-Profiles: <!nobiarch> - Description: GNU C Library: 32-bit development libraries for AMD64 -diff -Nru glibc-2.41/debian/control.in/mips32 glibc-2.41/debian/control.in/mips32 ---- glibc-2.41/debian/control.in/mips32 2025-02-04 15:07:48.000000000 +0100 -+++ glibc-2.41/debian/control.in/mips32 2025-03-15 06:07:01.000000000 +0100 -@@ -19,7 +19,6 @@ - libc6-dev-mipsn32 (= ${binary:Version}) [mips64 mips64el mips64r6 mips64r6el], - libc6-dev-mips64 (= ${binary:Version}) [mipsn32 mipsn32el mipsn32r6 mipsn32r6el], - ${misc:Depends} --Conflicts: libc6-dev-amd64, libc6-dev-i386, libc6-dev-mips32:mips64 [mips64el mips64r6 mips64r6el mipsn32 mipsn32el mipsn32r6 mipsn32r6el], libc6-dev-mips32:mips64el [mips64 mips64r6 mips64r6el mipsn32 mipsn32el mipsn32r6 mipsn32r6el], libc6-dev-mips32:mips64r6 [mips64 mips64el mips64r6el mipsn32 mipsn32el mipsn32r6 mipsn32r6el], libc6-dev-mips32:mips64r6el [mips64 mips64el mips64r6 mipsn32 mipsn32el mipsn32r6 mipsn32r6el], libc6-dev-mips32:mipsn32 [mips64 mips64el mips64r6 mips64r6el mipsn32el mipsn32r6 mipsn32r6el], libc6-dev-mips32:mipsn32el [mips64 mips64el mips64r6 mips64r6el mipsn32 mipsn32r6 mipsn32r6el], libc6-dev-mips32:mipsn32r6 [mips64 mips64el mips64r6 mips64r6el mipsn32 mipsn32el mipsn32r6el], libc6-dev-mips32:mipsn32r6el [mips64 mips64el mips64r6 mips64r6el mipsn32 mipsn32el mipsn32r6], libc6-dev-mips64 [mips64 mips64el mips64r6 mips64r6el], libc6-dev-mips64:mips [mipsn32 mipsn32el mipsn32r6 mipsn32r6el], libc6-dev-mips64:mipsel [mipsn32 mipsn32el mipsn32r6 mipsn32r6el], libc6-dev-mips64:mipsn32 [mipsn32el mipsn32r6 mipsn32r6el], libc6-dev-mips64:mipsn32el [mipsn32 mipsn32r6 mipsn32r6el], libc6-dev-mips64:mipsn32r6 [mipsn32 mipsn32el mipsn32r6el], libc6-dev-mips64:mipsn32r6el [mipsn32 mipsn32el mipsn32r6], libc6-dev-mips64:mipsr6 [mipsn32 mipsn32el mipsn32r6 mipsn32r6el], libc6-dev-mips64:mipsr6el [mipsn32 mipsn32el mipsn32r6 mipsn32r6el], libc6-dev-mipsn32 [mipsn32 mipsn32el mipsn32r6 mipsn32r6el], libc6-dev-mipsn32:mips [mips64 mips64el mips64r6 mips64r6el], libc6-dev-mipsn32:mips64 [mips64el mips64r6 mips64r6el], libc6-dev-mipsn32:mips64el [mips64 mips64r6 mips64r6el], libc6-dev-mipsn32:mips64r6 [mips64 mips64el mips64r6el], libc6-dev-mipsn32:mips64r6el [mips64 mips64el mips64r6], libc6-dev-mipsn32:mipsel [mips64 mips64el mips64r6 mips64r6el], libc6-dev-mipsn32:mipsr6 [mips64 mips64el mips64r6 mips64r6el], libc6-dev-mipsn32:mipsr6el [mips64 mips64el mips64r6 mips64r6el], libc6-dev-powerpc, libc6-dev-ppc64, libc6-dev-s390, libc6-dev-sparc, libc6-dev-sparc64, libc6-dev-x32 - Recommends: gcc-multilib - Build-Profiles: <!nobiarch> - Description: GNU C Library: o32 Development Libraries for MIPS -diff -Nru glibc-2.41/debian/control.in/mips64 glibc-2.41/debian/control.in/mips64 ---- glibc-2.41/debian/control.in/mips64 2025-02-04 15:07:48.000000000 +0100 -+++ glibc-2.41/debian/control.in/mips64 2025-03-15 06:07:01.000000000 +0100 -@@ -16,7 +16,6 @@ - Priority: optional - Provides: lib64c-dev - Depends: libc6-mips64 (= ${binary:Version}) <!stage1>, libc6-dev (= ${binary:Version}), ${misc:Depends} --Conflicts: libc6-dev-amd64, libc6-dev-i386, libc6-dev-mips32 [mips mipsel mipsr6 mipsr6el], libc6-dev-mips32:mips64 [mipsn32 mipsn32el mipsn32r6 mipsn32r6el], libc6-dev-mips32:mips64el [mipsn32 mipsn32el mipsn32r6 mipsn32r6el], libc6-dev-mips32:mips64r6 [mipsn32 mipsn32el mipsn32r6 mipsn32r6el], libc6-dev-mips32:mips64r6el [mipsn32 mipsn32el mipsn32r6 mipsn32r6el], libc6-dev-mips32:mipsn32 [mipsn32el mipsn32r6 mipsn32r6el], libc6-dev-mips32:mipsn32el [mipsn32 mipsn32r6 mipsn32r6el], libc6-dev-mips32:mipsn32r6 [mipsn32 mipsn32el mipsn32r6el], libc6-dev-mips32:mipsn32r6el [mipsn32 mipsn32el mipsn32r6], libc6-dev-mips64:mips [mipsel mipsn32 mipsn32el mipsn32r6 mipsn32r6el mipsr6 mipsr6el], libc6-dev-mips64:mipsel [mips mipsn32 mipsn32el mipsn32r6 mipsn32r6el mipsr6 mipsr6el], libc6-dev-mips64:mipsn32 [mips mipsel mipsn32el mipsn32r6 mipsn32r6el mipsr6 mipsr6el], libc6-dev-mips64:mipsn32el [mips mipsel mipsn32 mipsn32r6 mipsn32r6el mipsr6 mipsr6el], libc6-dev-mips64:mipsn32r6 [mips mipsel mipsn32 mipsn32el mipsn32r6el mipsr6 mipsr6el], libc6-dev-mips64:mipsn32r6el [mips mipsel mipsn32 mipsn32el mipsn32r6 mipsr6 mipsr6el], libc6-dev-mips64:mipsr6 [mips mipsel mipsn32 mipsn32el mipsn32r6 mipsn32r6el mipsr6el], libc6-dev-mips64:mipsr6el [mips mipsel mipsn32 mipsn32el mipsn32r6 mipsn32r6el mipsr6], libc6-dev-mipsn32 [mipsn32 mipsn32el mipsn32r6 mipsn32r6el], libc6-dev-mipsn32:mips [mipsel mipsr6 mipsr6el], libc6-dev-mipsn32:mips64 [mips mipsel mipsr6 mipsr6el], libc6-dev-mipsn32:mips64el [mips mipsel mipsr6 mipsr6el], libc6-dev-mipsn32:mips64r6 [mips mipsel mipsr6 mipsr6el], libc6-dev-mipsn32:mips64r6el [mips mipsel mipsr6 mipsr6el], libc6-dev-mipsn32:mipsel [mips mipsr6 mipsr6el], libc6-dev-mipsn32:mipsr6 [mips mipsel mipsr6el], libc6-dev-mipsn32:mipsr6el [mips mipsel mipsr6], libc6-dev-powerpc, libc6-dev-ppc64, libc6-dev-s390, libc6-dev-sparc, libc6-dev-sparc64, libc6-dev-x32 - Recommends: gcc-multilib - Build-Profiles: <!nobiarch> - Description: GNU C Library: 64bit Development Libraries for MIPS64 -diff -Nru glibc-2.41/debian/control.in/mipsn32 glibc-2.41/debian/control.in/mipsn32 ---- glibc-2.41/debian/control.in/mipsn32 2025-02-04 15:07:48.000000000 +0100 -+++ glibc-2.41/debian/control.in/mipsn32 2025-03-15 06:07:01.000000000 +0100 -@@ -16,7 +16,6 @@ - Priority: optional - Provides: libn32c-dev - Depends: libc6-mipsn32 (= ${binary:Version}) <!stage1>, libc6-dev-mips64 (= ${binary:Version}) [mips mipsel mipsr6 mipsr6el], libc6-dev (= ${binary:Version}), ${misc:Depends} --Conflicts: libc6-dev-amd64, libc6-dev-i386, libc6-dev-mips32 [mips mipsel mipsr6 mipsr6el], libc6-dev-mips32:mips64 [mips64el mips64r6 mips64r6el], libc6-dev-mips32:mips64el [mips64 mips64r6 mips64r6el], libc6-dev-mips32:mips64r6 [mips64 mips64el mips64r6el], libc6-dev-mips32:mips64r6el [mips64 mips64el mips64r6], libc6-dev-mips32:mipsn32 [mips64 mips64el mips64r6 mips64r6el], libc6-dev-mips32:mipsn32el [mips64 mips64el mips64r6 mips64r6el], libc6-dev-mips32:mipsn32r6 [mips64 mips64el mips64r6 mips64r6el], libc6-dev-mips32:mipsn32r6el [mips64 mips64el mips64r6 mips64r6el], libc6-dev-mips64 [mips64 mips64el mips64r6 mips64r6el], libc6-dev-mips64:mips [mipsel mipsr6 mipsr6el], libc6-dev-mips64:mipsel [mips mipsr6 mipsr6el], libc6-dev-mips64:mipsn32 [mips mipsel mipsr6 mipsr6el], libc6-dev-mips64:mipsn32el [mips mipsel mipsr6 mipsr6el], libc6-dev-mips64:mipsn32r6 [mips mipsel mipsr6 mipsr6el], libc6-dev-mips64:mipsn32r6el [mips mipsel mipsr6 mipsr6el], libc6-dev-mips64:mipsr6 [mips mipsel mipsr6el], libc6-dev-mips64:mipsr6el [mips mipsel mipsr6], libc6-dev-mipsn32:mips [mips64 mips64el mips64r6 mips64r6el mipsel mipsr6 mipsr6el], libc6-dev-mipsn32:mips64 [mips mips64el mips64r6 mips64r6el mipsel mipsr6 mipsr6el], libc6-dev-mipsn32:mips64el [mips mips64 mips64r6 mips64r6el mipsel mipsr6 mipsr6el], libc6-dev-mipsn32:mips64r6 [mips mips64 mips64el mips64r6el mipsel mipsr6 mipsr6el], libc6-dev-mipsn32:mips64r6el [mips mips64 mips64el mips64r6 mipsel mipsr6 mipsr6el], libc6-dev-mipsn32:mipsel [mips mips64 mips64el mips64r6 mips64r6el mipsr6 mipsr6el], libc6-dev-mipsn32:mipsr6 [mips mips64 mips64el mips64r6 mips64r6el mipsel mipsr6el], libc6-dev-mipsn32:mipsr6el [mips mips64 mips64el mips64r6 mips64r6el mipsel mipsr6], libc6-dev-powerpc, libc6-dev-ppc64, libc6-dev-s390, libc6-dev-sparc, libc6-dev-sparc64, libc6-dev-x32 - Recommends: gcc-multilib - Build-Profiles: <!nobiarch> - Description: GNU C Library: n32 Development Libraries for MIPS64 -diff -Nru glibc-2.41/debian/control.in/powerpc glibc-2.41/debian/control.in/powerpc ---- glibc-2.41/debian/control.in/powerpc 2025-02-04 15:07:48.000000000 +0100 -+++ glibc-2.41/debian/control.in/powerpc 2025-03-15 06:07:01.000000000 +0100 -@@ -16,7 +16,6 @@ - Priority: optional - Provides: lib32c-dev - Depends: libc6-powerpc (= ${binary:Version}) <!stage1>, libc6-dev (= ${binary:Version}), ${misc:Depends} --Conflicts: libc6-dev-amd64, libc6-dev-i386, libc6-dev-mips32, libc6-dev-mips64, libc6-dev-mipsn32, libc6-dev-ppc64, libc6-dev-s390, libc6-dev-sparc, libc6-dev-sparc64, libc6-dev-x32 - Recommends: gcc-multilib - Build-Profiles: <!nobiarch> - Description: GNU C Library: 32bit powerpc development libraries for ppc64 -diff -Nru glibc-2.41/debian/control.in/ppc64 glibc-2.41/debian/control.in/ppc64 ---- glibc-2.41/debian/control.in/ppc64 2025-02-04 15:07:48.000000000 +0100 -+++ glibc-2.41/debian/control.in/ppc64 2025-03-15 06:07:01.000000000 +0100 -@@ -16,7 +16,6 @@ - Priority: optional - Provides: lib64c-dev - Depends: libc6-ppc64 (= ${binary:Version}) <!stage1>, libc6-dev (= ${binary:Version}), ${misc:Depends} --Conflicts: libc6-dev-amd64, libc6-dev-i386, libc6-dev-mips32, libc6-dev-mips64, libc6-dev-mipsn32, libc6-dev-powerpc, libc6-dev-s390, libc6-dev-sparc, libc6-dev-sparc64, libc6-dev-x32 - Recommends: gcc-multilib - Build-Profiles: <!nobiarch> - Description: GNU C Library: 64bit Development Libraries for PowerPC64 -diff -Nru glibc-2.41/debian/control.in/s390 glibc-2.41/debian/control.in/s390 ---- glibc-2.41/debian/control.in/s390 2025-02-04 15:07:48.000000000 +0100 -+++ glibc-2.41/debian/control.in/s390 2025-03-15 06:07:01.000000000 +0100 -@@ -16,7 +16,6 @@ - Priority: optional - Provides: lib32c-dev - Depends: libc6-s390 (= ${binary:Version}) <!stage1>, libc6-dev (= ${binary:Version}), ${misc:Depends} --Conflicts: libc6-dev-amd64, libc6-dev-i386, libc6-dev-mips32, libc6-dev-mips64, libc6-dev-mipsn32, libc6-dev-powerpc, libc6-dev-ppc64, libc6-dev-sparc, libc6-dev-sparc64, libc6-dev-x32 - Recommends: gcc-multilib - Build-Profiles: <!nobiarch> - Description: GNU C Library: 32bit Development Libraries for IBM zSeries -diff -Nru glibc-2.41/debian/control.in/sparc glibc-2.41/debian/control.in/sparc ---- glibc-2.41/debian/control.in/sparc 2025-02-04 15:07:48.000000000 +0100 -+++ glibc-2.41/debian/control.in/sparc 2025-03-15 06:07:01.000000000 +0100 -@@ -16,7 +16,6 @@ - Priority: optional - Provides: lib32c-dev - Depends: libc6-sparc (= ${binary:Version}) <!stage1>, libc6-dev (= ${binary:Version}), ${misc:Depends} --Conflicts: libc6-dev-amd64, libc6-dev-i386, libc6-dev-mips32, libc6-dev-mips64, libc6-dev-mipsn32, libc6-dev-powerpc, libc6-dev-ppc64, libc6-dev-s390, libc6-dev-sparc64, libc6-dev-x32 - Recommends: gcc-multilib - Build-Profiles: <!nobiarch> - Description: GNU C Library: 32bit Development Libraries for SPARC -diff -Nru glibc-2.41/debian/control.in/sparc64 glibc-2.41/debian/control.in/sparc64 ---- glibc-2.41/debian/control.in/sparc64 2025-02-04 15:07:48.000000000 +0100 -+++ glibc-2.41/debian/control.in/sparc64 2025-03-15 06:07:01.000000000 +0100 -@@ -16,7 +16,6 @@ - Priority: optional - Provides: lib64c-dev - Depends: libc6-sparc64 (= ${binary:Version}) <!stage1>, libc6-dev (= ${binary:Version}), ${misc:Depends} --Conflicts: libc6-dev-amd64, libc6-dev-i386, libc6-dev-mips32, libc6-dev-mips64, libc6-dev-mipsn32, libc6-dev-powerpc, libc6-dev-ppc64, libc6-dev-s390, libc6-dev-sparc, libc6-dev-x32 - Recommends: gcc-multilib - Build-Profiles: <!nobiarch> - Description: GNU C Library: 64bit Development Libraries for UltraSPARC -diff -Nru glibc-2.41/debian/control.in/x32 glibc-2.41/debian/control.in/x32 ---- glibc-2.41/debian/control.in/x32 2025-02-04 15:07:48.000000000 +0100 -+++ glibc-2.41/debian/control.in/x32 2025-03-15 06:07:01.000000000 +0100 -@@ -15,7 +15,6 @@ - Section: libdevel - Priority: optional - Depends: libc6-x32 (= ${binary:Version}) <!stage1>, libc6-dev-i386 (= ${binary:Version}) [amd64], libc6-dev-amd64 (= ${binary:Version}) [i386], libc6-dev (= ${binary:Version}), ${misc:Depends} --Conflicts: libc6-dev-amd64 [amd64], libc6-dev-amd64:x32 [i386], libc6-dev-i386 [i386], libc6-dev-i386:x32 [amd64], libc6-dev-mips32, libc6-dev-mips64, libc6-dev-mipsn32, libc6-dev-powerpc, libc6-dev-ppc64, libc6-dev-s390, libc6-dev-sparc, libc6-dev-sparc64, libc6-dev-x32:amd64 [i386], libc6-dev-x32:i386 [amd64] - Recommends: gcc-multilib - Build-Profiles: <!nobiarch> - Description: GNU C Library: X32 ABI Development Libraries for AMD64 diff -Nru cross-toolchain-base-74/debian/patches/glibc/debian/series cross-toolchain-base-74+nmu1/debian/patches/glibc/debian/series --- cross-toolchain-base-74/debian/patches/glibc/debian/series 2025-03-15 12:14:49.000000000 +0100 +++ cross-toolchain-base-74+nmu1/debian/patches/glibc/debian/series 2025-03-17 22:04:48.000000000 +0100 @@ -2,4 +2,3 @@ local-kill-locales.patch glibc-build-tools.diff no-libaudit.diff -remove-multilib-conflicts.diff diff -Nru cross-toolchain-base-74/debian/rules cross-toolchain-base-74+nmu1/debian/rules --- cross-toolchain-base-74/debian/rules 2025-03-15 12:14:49.000000000 +0100 +++ cross-toolchain-base-74+nmu1/debian/rules 2025-03-17 22:04:48.000000000 +0100 @@ -946,8 +946,7 @@ || echo 'Multi-Arch: foreign' >> $$tmp/DEBIAN/control; \ esac; \ case "$$pkgname" in \ - libc*-dev*-cross) ;; \ - libc*-cross) \ + libc*-cross | libc*-dev*-cross) \ sed -i -E '/^Conflicts:/s/ libc[^,]*(,|$$)//g;/^Conflicts: *$$/d' $$tmp/DEBIAN/control; \ esac; \ newdeb=`echo $$deb|sed -e "s/\(.*\)_\(.*\)_\(.*\)/\1_\2$(CROSS_EXT)_\3/g"`; \