reassign 677582 gcc-4.7-base 4.7.2-2 reopen 677582 thanks On 2012-09-21 14:22, Andreas Beckmann wrote: [...] > I'm now trying to add these Breaks to gcc-4.7-base, that can't be held > back, hopefully.
Attached is a diff that finally fixes this upgrade issue, hopefully. gcc-4.7-base isn't that "optional" as gcc-4.4-base, so it can't be held back, actually enforcing the Breaks vs. ancient gcj. I looked a bit into the history where these Breaks originated, and since gcc-4.7-base Breaks old versions of gcc-4.6-base, I think it would be the right thing to do and add the Breaks vs. 4.4, too. * gcc-4.7-base: ensure smooth upgrades from squeeze by adding Breaks: gcj-4.4-base (<< 4.4.6-9~), gnat-4.4-base (<< 4.4.6-3~) as in gcc-4.4-base (multiarch patches re-worked in 4.6.1-8/4.4.6-9). Fixes some squeeze->wheezy upgrade paths where apt chooses to hold back gcc-4.4-base and keep gcj-4.4-base installed instead of upgrading gcc-4.4-base and removing the obsolete gcj-4.4-base (Andreas Beckmann). (Closes: #677582) The recent changes on gcc-4.4 that attempted to fix this issue by upgrading Breaks to Conflicts could be reverted, but they can be left as is as they won't do harm (should just add a lintian warning for a versioned Conflicts). I tested this patch with piuparts upgrade tests (squeeze->sid) on a selection of the affected java packages (there are about 60-70 in total, checked around 10 from different sources), and all passed once I added an extra repository with the updated gcc-4.7 packages. Andreas
diff -u gcc-4.7-4.7.2/debian/changelog gcc-4.7-4.7.2/debian/changelog --- gcc-4.7-4.7.2/debian/changelog +++ gcc-4.7-4.7.2/debian/changelog @@ -1,3 +1,16 @@ +gcc-4.7 (4.7.2-2.1) UNRELEASED; urgency=low + + * Non-maintainer upload. + * gcc-4.7-base: ensure smooth upgrades from squeeze by adding + Breaks: gcj-4.4-base (<< 4.4.6-9~), gnat-4.4-base (<< 4.4.6-3~) + as in gcc-4.4-base (multiarch patches re-worked in 4.6.1-8/4.4.6-9). + Fixes some squeeze->wheezy upgrade paths where apt chooses to hold back + gcc-4.4-base and keep gcj-4.4-base installed instead of upgrading + gcc-4.4-base and removing the obsolete gcj-4.4-base (Andreas Beckmann). + (Closes: #677582) + + -- Andreas Beckmann <deb...@abeckmann.de> Sat, 22 Sep 2012 01:31:33 +0200 + gcc-4.7 (4.7.2-2) unstable; urgency=low * Fix PR tree-optimization/54563 (), PR target/54564 (fma builtin fix), diff -u gcc-4.7-4.7.2/debian/control gcc-4.7-4.7.2/debian/control --- gcc-4.7-4.7.2/debian/control +++ gcc-4.7-4.7.2/debian/control @@ -18,7 +18,7 @@ Priority: required Depends: ${misc:Depends} Replaces: ${base:Replaces} -Breaks: gcj-4.6-base (<< 4.6.1-4~), gnat-4.6 (<< 4.6.1-5~), dehydra (<= 0.9.hg20110609-2) +Breaks: gcj-4.4-base (<< 4.4.6-9~), gnat-4.4-base (<< 4.4.6-3~), gcj-4.6-base (<< 4.6.1-4~), gnat-4.6 (<< 4.6.1-5~), dehydra (<= 0.9.hg20110609-2) Description: GCC, the GNU Compiler Collection (base package) This package contains files common to all languages and libraries contained in the GNU Compiler Collection (GCC). diff -u gcc-4.7-4.7.2/debian/control.m4 gcc-4.7-4.7.2/debian/control.m4 --- gcc-4.7-4.7.2/debian/control.m4 +++ gcc-4.7-4.7.2/debian/control.m4 @@ -105,7 +105,7 @@ Priority: PRI(required) Depends: ${misc:Depends} Replaces: ${base:Replaces} -Breaks: gcj-4.6-base (<< 4.6.1-4~), gnat-4.6 (<< 4.6.1-5~), dehydra (<= 0.9.hg20110609-2) +Breaks: gcj-4.4-base (<< 4.4.6-9~), gnat-4.4-base (<< 4.4.6-3~), gcj-4.6-base (<< 4.6.1-4~), gnat-4.6 (<< 4.6.1-5~), dehydra (<= 0.9.hg20110609-2) Description: GCC, the GNU Compiler Collection (base package) This package contains files common to all languages and libraries contained in the GNU Compiler Collection (GCC).