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