Bug#677582: gcc-4.4-base: upgrade problems since removal of gcj-4.4
reassign 677582 gcc-4.4-base 4.4.7-1
tag 677582 patch
thanks
On 2012-08-03 07:58, Julien Cristau wrote:
> Does it make any difference if you change the Breaks to Conflicts?
Yes, it does. Therefore assigning the bug back to gcc-4.4
I'm testing a squeeze->wheezy distupgrade of the libgcj-bc package in a
minimal chroot that was created by piuparts.
# apt-cache policy gcc-4.4-base
gcc-4.4-base:
Installed: 4.4.5-8
Candidate: 4.4.7-1
Version table:
4.4.7-1 0
500 http://$MIRROR/debian/ wheezy/main amd64 Packages
*** 4.4.5-8 0
100 /var/lib/dpkg/status
# apt-get --no-y dist-upgrade
Reading package lists... Done
Building dependency tree
Reading state information... Done
Calculating upgrade... Done
The following NEW packages will be installed:
gcc-4.7-base gcj-4.7-base libapt-pkg4.12 libdb5.1 libgcj13 libgmp10
liblzma5 libmount1 libpam-modules-bin libsemanage-common libsemanage1
libssl1.0.0 libtinfo5 libustr-1.0-1
multiarch-support python2.7 python2.7-minimal ucf
The following packages have been kept back:
gcc-4.4-base
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 findutils gnupg gpgv grep gzip hostname
initscripts insserv libacl1 libasound2 libattr1 libblkid1 libbz2-1.0
libc-bin libc6 libcomerr2 libexpat1 libgcc1 libgcj-bc libgcj-common
liblocale-gettext-perl libncurses5 libncursesw5
libpam-modules libpam-runtime libpam0g libreadline6 libselinux1
libsepol1 libslang2 libsqlite3-0 libss2 libstdc++6
libtext-charwidth-perl libtext-iconv-perl libusb-0.1-4 libuuid1 login
lsb-base mawk mime-support mount ncurses-base ncurses-bin passwd
perl-base python python-minimal python2.6 python2.6-minimal
readline-common sed sensible-utils sysv-rc sysvinit
sysvinit-utils tar tzdata util-linux xz-utils zlib1g
76 upgraded, 18 newly installed, 0 to remove and 1 not upgraded.
[...]
OK, that's not what we want. There shouln't be packages "kept back".
Then I rebuilt gcc-4.4 with s/Breaks/Conflicts/ on gcj-4.4-base in the
gcc-4.4-base package:
Package: gcc-4.4-base
Source: gcc-4.4
Version: 4.4.7-2.1
Conflicts: gcj-4.4-base (<< 4.4.6-9~)
Breaks: gnat-4.4-base (<< 4.4.6-3~)
# apt-cache policy gcc-4.4-base
gcc-4.4-base:
Installed: 4.4.5-8
Candidate: 4.4.7-2.1
Version table:
4.4.7-2.1 0
500 file:/tmp/debs/ ./ Packages
4.4.7-1 0
500 http://$MIRROR/debian/ wheezy/main amd64 Packages
*** 4.4.5-8 0
100 /var/lib/dpkg/status
# apt-get --no-y dist-upgrade
Reading package lists... Done
Building dependency tree
Reading state information... Done
Calculating upgrade... Done
The following packages will be REMOVED:
gcj-4.4-base libgcj10
The following NEW packages will be installed:
gcc-4.7-base gcj-4.7-base libapt-pkg4.12 libdb5.1 libgcj13 libgmp10
liblzma5 libmount1 libpam-modules-bin libsemanage-common libsemanage1
libssl1.0.0 libtinfo5 libustr-1.0-1
multiarch-support python2.7 python2.7-minimal ucf
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 findutils gcc-4.4-base gnupg gpgv grep gzip
hostname initscripts insserv libacl1 libasound2 libattr1 libblkid1
libbz2-1.0 libc-bin libc6 libcomerr2 libexpat1 libgcc1 libgcj-bc
libgcj-common liblocale-gettext-perl libncurses5
libncursesw5 libpam-modules libpam-runtime libpam0g libreadline6
libselinux1 libsepol1 libslang2 libsqlite3-0 libss2 libstdc++6
libtext-charwidth-perl libtext-iconv-perl libusb-0.1-4
libuuid1 login lsb-base mawk mime-support mount ncurses-base
ncurses-bin passwd perl-base python python-minimal python2.6
python2.6-minimal readline-common sed sensible-utils sysv-rc
sysvinit sysvinit-utils tar tzdata util-linux xz-utils zlib1g
77 upgraded, 18 newly installed, 2 to remove and 0 not upgraded.
[...]
That looks much better!
Update is successful, afterwards:
# apt-cache policy gcc-4.4-base
gcc-4.4-base:
Installed: 4.4.7-2.1
Candidate: 4.4.7-2.1
Version table:
*** 4.4.7-2.1 0
500 file:/tmp/debs/ ./ Packages
100 /var/lib/dpkg/status
4.4.7-1 0
500 http://$MIRROR/debian/ wheezy/main amd64 Packages
So, please switch that Breaks to a Conflicts. I'm attaching the patch I
used in my test.
Andreas
diff -u gcc-4.4-4.4.7/debian/control gcc-4.4-4.4.7/debian/control
--- gcc-4.4-4.4.7/debian/control
+++ gcc-4.4-4.4.7/debian/control
@@ -17,7 +17,8 @@
Priority: required
Depends: ${misc:Depends}
Replaces: ${base:Replaces}
-Breaks: gcj-4.4-base (<< 4.4.6-9~), gnat-4.4-base (<< 4.4.6-3~)
+Breaks: gnat-4.4-base (<< 4.4.6-3~)
+Conflicts: gcj-4.4-base (<< 4.4.6-9~)
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.4-4.4.7/debian/control.m4 gcc-4.4-4.4.7/debian/control.m4
--- gcc-4.4-4.4.7/debian/control.m4
+++ gcc-4.4-4.4.7/debian/control.m4
@@ -109,7 +109,8 @@
Priority: PRI(required)
Depends: ${misc:Depends}
Replaces: ${base:Replaces}
-Breaks: gcj-4.4-base (<< 4.4.6-9~), gnat-4.4-base (<< 4.4.6-3~)
+Breaks: gnat-4.4-base (<< 4.4.6-3~)
+Conflicts: gcj-4.4-base (<< 4.4.6-9~)
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: