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

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: