Bug#677582: needs to be fixed in gcc-4.7-base (gcc-4.4-base: upgrade problems since removal of gcj-4.4)
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 <debian@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).
Reply to: