Linux Archive

Linux Archive (http://www.linux-archive.org/)
-   Debian GCC (http://www.linux-archive.org/debian-gcc/)
-   -   Bug#677582: needs to be fixed in gcc-4.7-base (gcc-4.4-base: upgrade problems since removal of gcj-4.4) (http://www.linux-archive.org/debian-gcc/706306-bug-677582-needs-fixed-gcc-4-7-base-gcc-4-4-base-upgrade-problems-since-removal-gcj-4-4-a.html)

Andreas Beckmann 09-22-2012 07:23 AM

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).

Matthias Klose 09-22-2012 10:08 AM

Bug#677582: needs to be fixed in gcc-4.7-base (gcc-4.4-base: upgrade problems since removal of gcj-4.4)
 
I don't want this in gcc-4.7. Please provide a patch for gcc-defaults. This
should work as well.

On 22.09.2012 09:23, Andreas Beckmann wrote:
> 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
>


--
To UNSUBSCRIBE, email to debian-gcc-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
Archive: 505D8E28.9070203@debian.org">http://lists.debian.org/505D8E28.9070203@debian.org

Andreas Beckmann 09-22-2012 01:04 PM

Bug#677582: needs to be fixed in gcc-4.7-base (gcc-4.4-base: upgrade problems since removal of gcj-4.4)
 
On 2012-09-22 12:08, Matthias Klose wrote:
> I don't want this in gcc-4.7. Please provide a patch for gcc-defaults. This
> should work as well.

That won't work, just tried it. The only package from gcc-defaults that
could be involved in the problematic upgrade paths is gcj-jre-headless
and that will be held back together with gcc-4.4-base after adding
Breaks: gcj-4.4-base (<< 4.4.6-9~)

The problem only manifests for a few java libraries (and their rdepends,
that cannot be tested due to these failures):

libcharva1-java 1.1.4-5
libcobra-java 0.98.4-4
libcrimson-java 1:1.1.3-11
libdtdparser-java 1.21a-5
libexml-java 0.0.20080703-4
libflute-java 1:1.1.6-3
libgcj-bc 4.7.1-1
libgdcm-java 2.2.1-1
libglpk-java 1.0.18-1
libgui-commands-java 1.1.43-6
libhsqldb-java 1.8.0.10-14
libjazzy-java 0.5.2-1
libjboss-aspects-java 4.2.3.GA-7
libjboss-classloader-java 2.0.6.GA-2
libjboss-cluster-java 4.2.3.GA-7
libjboss-connector-java 4.2.3.GA-7
libjboss-deployers-java 2.0.4.GA-2
libjboss-deployment-java 4.2.3.GA-7
libjboss-ejb3-java 4.2.3.GA-7
libjboss-ejb3x-java 4.2.3.GA-7
libjboss-integration-java 5.0.3.GA-2
libjboss-j2ee-java 4.2.3.GA-7
libjboss-jms-java 4.2.3.GA-7
libjboss-jmx-java 4.2.3.GA-7
libjboss-management-java 4.2.3.GA-7
libjboss-messaging-java 4.2.3.GA-7
libjboss-metadata-java 2.0.3.GA-1
libjboss-microcontainer-java 2.0.10.GA-2
libjboss-naming-java 4.2.3.GA-7
libjboss-reflect-java 2.0.3.GA-1
libjboss-security-java 4.2.3.GA-7
libjboss-server-java 4.2.3.GA-7
libjboss-system-java 4.2.3.GA-7
libjboss-test-java 4.2.3.GA-7
libjboss-transaction-java 4.2.3.GA-7
libjboss-vfs-java 2.0.1.GA-2
libjboss-web-services-java 0.0+svn5660+dak2-3
libjboss-webservices-java 4.2.3.GA-7
libjboss-xml-binding-java 2.0.3.GA-2
libjempbox-java 1:1.7.0+dfsg-3
libjgoodies-animation-java 1.2.0-5
libjgoodies-binding-java 2.1.0-1
libjmathtex-java 0.7~pre-6
libjmdns-java 3.4.1-2
libjorbis-java 0.0.17-2
libjrosetta-java 1.0.4-4
libjspeex-java 0.9.7-3
liblaf-plugin-java 1.0-2
libmp3spi-java 1.9.5-1
libsaxon-java 1:6.5.5-8
libsetools-java 3.3.7-3
libswing-layout-java 1.0.4-2
libvecmath-java 1.5.2-3
libvtk-java 5.8.0-13+b1
libxml-commons-resolver1.1-java 1.2-7
libxml-java 1.1.6.dfsg-3
libxmlgraphics-commons-java 1.4.dfsg-4

and my proposed gcc-4.7-base patch fixes all of them, just verified

Andreas


--
To UNSUBSCRIBE, email to debian-gcc-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
Archive: 505DB775.1080906@abeckmann.de">http://lists.debian.org/505DB775.1080906@abeckmann.de

Matthias Klose 09-23-2012 12:32 PM

Bug#677582: needs to be fixed in gcc-4.7-base (gcc-4.4-base: upgrade problems since removal of gcj-4.4)
 
On 22.09.2012 15:04, Andreas Beckmann wrote:
> On 2012-09-22 12:08, Matthias Klose wrote:
>> I don't want this in gcc-4.7. Please provide a patch for gcc-defaults. This
>> should work as well.
>
> That won't work, just tried it. The only package from gcc-defaults that
> could be involved in the problematic upgrade paths is gcj-jre-headless

wrong. You even include another one below:

> libgcj-bc 4.7.1-1

and libgcj-common.


--
To UNSUBSCRIBE, email to debian-gcc-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
Archive: 505F017B.4010409@debian.org">http://lists.debian.org/505F017B.4010409@debian.org

Andreas Beckmann 09-23-2012 09:22 PM

Bug#677582: needs to be fixed in gcc-4.7-base (gcc-4.4-base: upgrade problems since removal of gcj-4.4)
 
On 2012-09-23 14:32, Matthias Klose wrote:
> On 22.09.2012 15:04, Andreas Beckmann wrote:
>> On 2012-09-22 12:08, Matthias Klose wrote:
>>> I don't want this in gcc-4.7. Please provide a patch for gcc-defaults. This
>>> should work as well.
>>
>> That won't work, just tried it. The only package from gcc-defaults that
>> could be involved in the problematic upgrade paths is gcj-jre-headless
>
> wrong. You even include another one below:
>
>> libgcj-bc 4.7.1-1
>
> and libgcj-common.

Oops, overlooked these two.
But libgcj-bc is uninteresting as it does not show up in the
dependencies of any other of the listed packages ...

libgcj-common is an interesting candidate for adding the Breaks, as it
is included in all the upgrade paths. Unfortunately there are still a
few failing upgrades, because squeeze's apt decides to keep the old
versions of gcc-4.4-base and libgcj-common instead of kicking out
gcj-4.4-base (and some old libs that depend on this).
I've tested both squeeze2sid and squeeze2wheezy, both had the same problems.

So the solution with updating gcc-4.7-base works better because it is a
new package, so during the distupgrade apt only has two choices
(install or keep uninstalled) and "keep uninstalled" means a lot of
packages cannot be upgraded. While for an updated (with additional breaks)
gcc-4.4-base or libgcj-common which already exist in squeeze, apt actually
has three choices: upgrade, keep old version or remove. And keeping a few
old packages may weigh less expensive than removing a small dependency
tree of obsolete packages (gcj-4.4 and libs and support and ...)

Andreas


One example where to updated libgcj-common is not working:

libxml-commons-resolver1.1-java

0m40.6s DEBUG: Starting command: ['chroot', '/tmp/piupartss/tmplfjm_c', 'apt-get', '-yf', 'dist-upgrade']
1m17.0s DUMP:
Reading package lists...
Building dependency tree...
Reading state information...
The following packages will be REMOVED:
defoma libpango1.0-common
The following NEW packages will be installed:
gcc-4.7-base libapt-pkg4.12 libatk1.0-data libclass-isa-perl libdb5.1
libffi5 libgdk-pixbuf2.0-0 libgdk-pixbuf2.0-common libjbig0 libjpeg8
liblzma5 libmount1 libp11-kit0 libpam-modules-bin libsemanage-common
libsemanage1 libssl1.0.0 libswitch-perl libtinfo5 libustr-1.0-1 libxcb-shm0
multiarch-support python2.7 python2.7-minimal
The following packages have been kept back:
gcc-4.4-base libgcj-common
The following packages will be upgraded:
apt base-files base-passwd bash bsdutils coreutils dash debconf debconf-i18n
debian-archive-keyring debianutils diffutils dpkg e2fslibs e2fsprogs file
findutils fontconfig fontconfig-config gnupg gpgv grep gzip hostname
initscripts insserv libacl1 libasound2 libatk1.0-0 libattr1 libavahi-client3
libavahi-common-data libavahi-common3 libblkid1 libbz2-1.0 libc-bin libc6
libcairo2 libcomerr2 libcups2 libdatrie1 libdbus-1-3 libexpat1
libfontconfig1 libfreetype6 libgcc1 libgcrypt11 libgdbm3 libglib2.0-0
libgnutls26 libgpg-error0 libgssapi-krb5-2 libgtk2.0-0 libgtk2.0-common
libice6 libjasper1 libjpeg62 libk5crypto3 libkeyutils1 libkrb5-3
libkrb5support0 liblocale-gettext-perl libmagic1 libncurses5 libncursesw5
libnewt0.52 libpam-modules libpam-runtime libpam0g libpango1.0-0 libpcre3
libpixman-1-0 libpng12-0 libpopt0 libreadline6 libselinux1 libsepol1
libslang2 libsm6 libsqlite3-0 libss2 libstdc++6 libtasn1-3
libtext-charwidth-perl libtext-iconv-perl libthai-data libthai0 libtiff4
libusb-0.1-4 libuuid1 libx11-6 libx11-data libxau6 libxcb-render-util0
libxcb-render0 libxcb1 libxcomposite1 libxcursor1 libxdamage1 libxdmcp6
libxext6 libxfixes3 libxft2 libxi6 libxinerama1
libxml-commons-resolver1.1-java libxml2 libxrandr2 libxrender1 libxtst6
login lsb-base mawk mime-support mount ncurses-base ncurses-bin passwd perl
perl-base perl-modules python python-minimal python2.6 python2.6-minimal
readline-common sed sensible-utils shared-mime-info sysv-rc sysvinit
sysvinit-utils tar ttf-dejavu-core tzdata ucf util-linux whiptail x11-common
xz-utils zlib1g
141 upgraded, 24 newly installed, 2 to remove and 2 not upgraded.
Need to get 74.8 MB of archives.
After this operation, 15.8 MB of additional disk space will be used.

while the gcc-4.7-base with updated Breaks produces the better result:

1m3.5s DEBUG: Starting command: ['chroot', '/tmp/piupartss/tmpI_VRBi', 'apt-get', '-yf', 'dist-upgrade']
1m44.5s DUMP:
Reading package lists...
Building dependency tree...
Reading state information...
The following packages will be REMOVED:
defoma gcj-4.4-base gcj-4.4-jre gcj-4.4-jre-headless libgcj10 libgcj10-awt
libpango1.0-common
The following NEW packages will be installed:
gcc-4.7-base libapt-pkg4.12 libatk1.0-data libclass-isa-perl libdb5.1
libdpkg-perl libffi5 libfile-fnmatch-perl libgdk-pixbuf2.0-0
libgdk-pixbuf2.0-common libjbig0 libjpeg8 liblzma5 libmount1 libp11-kit0
libpam-modules-bin libsemanage-common libsemanage1 libssl1.0.0
libswitch-perl libtimedate-perl libtinfo5 libustr-1.0-1 libxcb-shm0
multiarch-support python2.7 python2.7-minimal
The following packages will be upgraded:
apt base-files base-passwd bash bsdutils coreutils dash debconf debconf-i18n
debian-archive-keyring debianutils debsums diffutils dpkg e2fslibs e2fsprogs
file findutils fontconfig fontconfig-config gcc-4.4-base gnupg gpgv grep
gzip hostname initscripts insserv libacl1 libasound2 libatk1.0-0 libattr1
libavahi-client3 libavahi-common-data libavahi-common3 libblkid1 libbz2-1.0
libc-bin libc6 libcairo2 libcomerr2 libcups2 libdatrie1 libdbus-1-3
libexpat1 libfontconfig1 libfreetype6 libgcc1 libgcj-common libgcrypt11
libgdbm3 libglib2.0-0 libgnutls26 libgpg-error0 libgssapi-krb5-2 libgtk2.0-0
libgtk2.0-common libice6 libjasper1 libjpeg62 libk5crypto3 libkeyutils1
libkrb5-3 libkrb5support0 liblocale-gettext-perl libmagic1 libncurses5
libncursesw5 libnewt0.52 libpam-modules libpam-runtime libpam0g
libpango1.0-0 libpcre3 libpixman-1-0 libpng12-0 libpopt0 libreadline6
libselinux1 libsepol1 libslang2 libsm6 libsqlite3-0 libss2 libstdc++6
libtasn1-3 libtext-charwidth-perl libtext-iconv-perl libthai-data libthai0
libtiff4 libusb-0.1-4 libuuid1 libx11-6 libx11-data libxau6
libxcb-render-util0 libxcb-render0 libxcb1 libxcomposite1 libxcursor1
libxdamage1 libxdmcp6 libxext6 libxfixes3 libxft2 libxi6 libxinerama1
libxml-commons-resolver1.1-java libxml2 libxrandr2 libxrender1 libxtst6
login lsb-base mawk mime-support mount ncurses-base ncurses-bin passwd perl
perl-base perl-modules python python-minimal python2.6 python2.6-minimal
readline-common sed sensible-utils shared-mime-info sysv-rc sysvinit
sysvinit-utils tar ttf-dejavu-core tzdata ucf util-linux whiptail x11-common
xz-utils zlib1g
144 upgraded, 27 newly installed, 7 to remove and 0 not upgraded.
Need to get 75.6 MB/76.1 MB of archives.
After this operation, 38.4 MB disk space will be freed.


--
To UNSUBSCRIBE, email to debian-gcc-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
Archive: 505F7D8A.3090406@abeckmann.de">http://lists.debian.org/505F7D8A.3090406@abeckmann.de


All times are GMT. The time now is 11:55 AM.

VBulletin, Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO ©2007, Crawlability, Inc.