[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: