Bug#651550: libstdc++6 4.6.1-4 breaks libstdc++6-4.4-dev 4.4.5-8 but doesn't "conflict" with it
# breaks partial upgrades (policy §3.5)
severity 651550 serious
tags 651550 + patch
quit
Joerg Schneider wrote:
> On 20.12.2011 14:14, Matthias Klose wrote:
>> libgcc1 has:
>> Breaks: gcc-4.1, gcc-4.3 (<< 4.3.6-1), gcc-4.4 (<< 4.4.6-4), gcc-4.5 (<< 4.5.3-2)
>
> I'm not sure why, but when I upgraded libstdc++6 to 4.6.2-5 I was
> not required to also upgrade libstdc++6-4.4-dev
Suppose as the first step of my squeeze->wheezy upgrade I try to
upgrade libstdc++6 to the version in wheezy, with no other change.
To satisfy dependencies, gcc-4.6-base will be installed. libgcc1 is
not be upgraded because its version already satisfies "(>= 1:4.1.1)"
in squeeze. I never hit the Breaks.
Surveying other gcc libs:
- libgccmath is not enabled in squeeze (nor in wheezy, for that matter),
so we don't have to worry about it.
- libquadmath is not enabled in squeeze, either.
- libssp is bundled with gcc-4.6, so not a worry.
- libobjc3 bumped soname, so it's safe. libobjc2 is affected.
- libgo0 is not present in squeeze.
- the remainder are affected.
How about this patch?
debian/changelog | 6 ++++--
debian/control.m4 | 8 +++++++-
2 files changed, 11 insertions(+), 3 deletions(-)
diff --git i/debian/changelog w/debian/changelog
index d97913f2..8c6f7799 100644
--- i/debian/changelog
+++ w/debian/changelog
@@ -1,7 +1,9 @@
gcc-4.6 (4.6.2-15.1) local; urgency=low
- * libstdc++ depends on libc (>= 2.11) for STB_GNU_UNIQUE support
- (Eugene V. Lyubimkin). Closes: #584572.
+ * libstdc++6: Depends on libc (>= 2.11) for STB_GNU_UNIQUE support
+ (Eugene V. Lyubimkin). Closes: #584572.
+ * libstdc++6, libobjc2, libgfortran3, libmudflap0, libgomp1: Breaks
+ pre-multiarch gcc. Closes: #651550.
* libstdc++6: Lower priority from required to important.
-- Jonathan Nieder <jrnieder@gmail.com> Fri, 24 Feb 2012 02:38:01 -0600
diff --git i/debian/control.m4 w/debian/control.m4
index fb8d4d48..5ba91787 100644
--- i/debian/control.m4
+++ w/debian/control.m4
@@ -652,6 +652,7 @@ Package: libmudflap`'MF_SO`'LS
Architecture: ifdef(`TARGET',`all',`any')
ifdef(`TARGET',`dnl',ifdef(`MULTIARCH', `Multi-Arch: same
Pre-Depends: multiarch-support
+Breaks: ${multiarch:breaks}
')`Provides: libmudflap'MF_SO`-armel [armel], libmudflap'MF_SO`-armhf [armhf]')
Section: ifdef(`TARGET',`devel',`libs')
Priority: ifdef(`TARGET',`extra',`PRI(optional)')
@@ -865,6 +866,7 @@ Section: ifdef(`TARGET',`devel',`libs')
Architecture: ifdef(`TARGET',`all',`any')
ifdef(`TARGET',`dnl',ifdef(`MULTIARCH', `Multi-Arch: same
Pre-Depends: multiarch-support
+Breaks: ${multiarch:breaks}
')`Provides: libgomp'GOMP_SO`-armel [armel], libgomp'GOMP_SO`-armhf [armhf]')
Priority: ifdef(`TARGET',`extra',`PRI(optional)')
Depends: BASEDEP, ${shlibs:Depends}, ${misc:Depends}
@@ -1184,7 +1186,8 @@ Section: ifdef(`TARGET',`devel',`libs')
Architecture: ifdef(`TARGET',`all',`any')
ifdef(`TARGET',`dnl',ifdef(`MULTIARCH', `Multi-Arch: same
Pre-Depends: multiarch-support
-')`Provides: libobjc'OBJC_SO`-armel [armel], libobjc'OBJC_SO`-armhf [armhf]')
+ifelse(OBJC_SO,`2',`Breaks: ${multiarch:breaks}
+',`')')`Provides: libobjc'OBJC_SO`-armel [armel], libobjc'OBJC_SO`-armhf [armhf]')
Priority: ifdef(`TARGET',`extra',`PRI(optional)')
Depends: BASEDEP, ${shlibs:Depends}, ${misc:Depends}
Description: Runtime library for GNU Objective-C applications
@@ -1355,6 +1358,7 @@ Section: ifdef(`TARGET',`devel',`libs')
Architecture: ifdef(`TARGET',`all',`any')
ifdef(`TARGET',`dnl',ifdef(`MULTIARCH', `Multi-Arch: same
Pre-Depends: multiarch-support
+Breaks: ${multiarch:breaks}
')`Provides: libgfortran'FORTRAN_SO`-armel [armel], libgfortran'FORTRAN_SO`-armhf [armhf]')
Priority: ifdef(`TARGET',`extra',PRI(optional))
Depends: BASEDEP, ${shlibs:Depends}, ${misc:Depends}
@@ -1485,6 +1489,7 @@ Section: libs
Architecture: NEON_ARCHS
ifdef(`MULTIARCH', `Multi-Arch: same
Pre-Depends: multiarch-support
+Breaks: ${multiarch:breaks}
')`'dnl
Priority: extra
Depends: BASEDEP, libgcc1-neon`'LS, ${shlibs:Depends}, ${misc:Depends}
@@ -1831,6 +1836,7 @@ Depends: BASEDEP, ${dep:libc}, ${shlibs:Depends}, ${misc:Depends}
ifdef(`TARGET',`Provides: libstdc++CXX_SO-TARGET-dcv1',
ifdef(`MULTIARCH', `Multi-Arch: same
Pre-Depends: multiarch-support
+Breaks: ${multiarch:breaks}
')`Provides: libstdc++'CXX_SO`-armel [armel], libstdc++'CXX_SO`-armhf [armhf]')
Conflicts: scim (<< 1.4.2-1)
Description: GNU Standard C++ Library v3`'ifdef(`TARGET)',` (TARGET)', `')
Reply to: