Re: breaking the xserver-xorg-* circular dependency?
On 2008-12-04 21:54 +0100, Sven Joachim wrote:
> On 2008-12-04 21:17 +0100, Julien Cristau wrote:
>
>> Hi,
>>
>> for some reason, the etch->lenny upgrade results in epic fail when using
>> aptitude, because random X driver packages get removed.
>
> At least if one accepts the first solution offered by aptitude, the
> subsequent ones are usually better.
>
>> I'm not quite sure why it does that, but one candidate explanation is
>> the circular dependency between xserver-xorg, xserver-xorg-core and all
>> X drivers. Does someone have time to test such an upgrade, first with
>> the packages currently in lenny, and then with a modified
>> xserver-xorg-core that doesn't depend on xserver-xorg?
Short summary: no success, forget about the idea. For details, read on.
> I volunteer for such a task (probably not tomorrow, but I should have
> time over the weekend).
Did this today:
- debootstrapped an etch chroot
- aptitude install xserver-xorg-core
- change sources.list to lenny
- aptitude install aptitude
- aptitude -s full-upgrade
As had been confirmed several times before, aptitude wants to remove
xserver-xorg-video-all in this situation.
> Do you have an apt-gettable repository for the
> modified xserver-xorg-core?
Apparently not, so I built my own. The results were less than
satisfactory:
,----
| # aptitude -s full-upgrade
| Reading package lists... Done
| Building dependency tree
| Reading state information... Done
| Reading extended state information
| Initializing package states... Done
| Reading task descriptions... Done
| The following packages are BROKEN:
| libsasl2
| The following NEW packages will be installed:
| bash-completion{a} dbus{a} dbus-x11{a} libdbus-1-3{a} libgnutls26{a} libhal1{a}
| libldap-2.4-2{a} libpixman-1-0{a} libxcb-xlib0{a} libxcb1{a} lzma{a} netcat-traditional{a}
| uuid-runtime{a}
| The following packages will be REMOVED:
| debconf-utils{u} defoma{u} discover1{u} discover1-data{u} file{u} fontconfig-config{u}
| libcap1{u} libdb4.2{u} libdb4.3{u} libdb4.4{u} libdiscover1{a} libfontconfig1{u} libfs6{u}
| libmagic1{u} libopencdk8{u} libsm6{u} libttf2{u} libxaw7{u} libxcursor1{u} libxext6{u}
| libxfixes3{u} libxft2{u} libxi6{u} libxkbfile1{u} libxmu6{u} libxmuu1{u} libxpm4{u}
| libxrandr2{u} libxrender1{u} libxss1{u} libxt6{u} libxtrap6{u} libxtst6{u} libxv1{u}
| libxxf86dga1{u} libxxf86vm1{u} mdetect{u} perl{u} perl-doc{u} perl-modules{u} ttf-dejavu{u}
| ucf{u} xbase-clients{u} xresprobe{u} xserver-xorg{u} xserver-xorg-input-all{u}
| xserver-xorg-input-evdev{u} xserver-xorg-input-kbd{u} xserver-xorg-input-mouse{u}
| xserver-xorg-input-synaptics{u} xserver-xorg-input-wacom{u} xserver-xorg-video-all{u}
| xserver-xorg-video-apm{a} xserver-xorg-video-ark{a} xserver-xorg-video-ati{a}
| xserver-xorg-video-chips{u} xserver-xorg-video-cirrus{u} xserver-xorg-video-cyrix{u}
| xserver-xorg-video-dummy{u} xserver-xorg-video-fbdev{a} xserver-xorg-video-glint{a}
| xserver-xorg-video-i128{u} xserver-xorg-video-i740{u} xserver-xorg-video-i810{u}
| xserver-xorg-video-imstt{u} xserver-xorg-video-mga{a} xserver-xorg-video-neomagic{u}
| xserver-xorg-video-newport{a} xserver-xorg-video-nsc{a} xserver-xorg-video-nv{a}
| xserver-xorg-video-rendition{a} xserver-xorg-video-s3{a} xserver-xorg-video-s3virge{a}
| xserver-xorg-video-savage{u} xserver-xorg-video-siliconmotion{a} xserver-xorg-video-sis{a}
| xserver-xorg-video-sisusb{u} xserver-xorg-video-tdfx{a} xserver-xorg-video-tga{a}
| xserver-xorg-video-trident{a} xserver-xorg-video-tseng{u} xserver-xorg-video-v4l{a}
| xserver-xorg-video-vesa{a} xserver-xorg-video-vga{a} xserver-xorg-video-via{a}
| xserver-xorg-video-vmware{u} xserver-xorg-video-voodoo{u}
| The following packages will be upgraded:
| adduser base-files base-passwd bash bsdmainutils bsdutils coreutils cpio cron debconf
| debconf-i18n debian-archive-keyring debianutils dhcp3-client dhcp3-common diff dmidecode dpkg
| dselect e2fslibs e2fsprogs ed findutils gcc-4.1-base gnupg gpgv grep groff-base gzip hostname
| ifupdown info initscripts iptables iputils-ping klogd laptop-detect libacl1 libattr1
| libblkid1 libbz2-1.0 libcomerr2 libdrm2 libexpat1 libfontenc1 libfreetype6 libgcc1
| libgcrypt11 libgpg-error0 liblocale-gettext-perl libncurses5 libnewt0.52 libpam-modules
| libpam-runtime libpam0g libpng12-0 libpopt0 libreadline5 libsasl2-2 libselinux1 libsepol1
| libsigc++-2.0-0c2a libslang2 libss2 libssl0.9.8 libtasn1-3 libtext-charwidth-perl
| libtext-iconv-perl libtext-wrapi18n-perl libusb-0.1-4 libuuid1 libwrap0 libx11-6 libx11-data
| libxau6 libxdmcp6 libxfont1 login logrotate lsb-base makedev man-db manpages mawk mktemp
| module-init-tools mount nano ncurses-base ncurses-bin net-tools netbase netcat openbsd-inetd
| passwd perl-base procps readline-common sed sysklogd sysv-rc sysvinit sysvinit-utils tar
| tasksel tasksel-data tcpd traceroute update-inetd util-linux vim-common vim-tiny wget
| whiptail x11-common xfonts-base xfonts-encodings xfonts-utils xkb-data xserver-xorg-core
| zlib1g
| The following packages are RECOMMENDED but will NOT be installed:
| bsd-mailx citadel-mta courier-mta esmtp-run exim4 exim4-daemon-heavy exim4-daemon-light
| heirloom-mailx libfribidi0 libsasl2-modules mailutils mailx masqmail msmtp-mta nullmailer
| postfix psmisc sendmail-bin ssmtp xmail
| 121 packages upgraded, 13 newly installed, 93 to remove and 0 not upgraded.
| Need to get 42.1MB/46.2MB of archives. After unpacking 54.3MB will be freed.
| The following packages have unmet dependencies:
| libsasl2: Depends: libsasl2-2 (= 2.1.22.dfsg1-8) but 2.1.22.dfsg1-23 is to be installed.
| The following actions will resolve these dependencies:
|
| Remove the following packages:
| libsasl2
|
| Install the following packages:
| libsasl2-modules [2.1.22.dfsg1-23 (testing)]
|
| Score is 106
`----
The problem is that xserver-xorg was marked as "automatically installed"
and nothing depends on it, so aptitude decides to remove it. :-(
While this will probably not be the case on most systems, a significant
minority of them will have this problem.
Telling aptitude that I want to keep xserver-xorg runs into the original
problem where only the second solution is right:
,----
| # aptitude unmarkauto xserver-xorg
| Reading package lists... Done
| Building dependency tree
| Reading state information... Done
| Reading extended state information
| Initializing package states... Done
| Reading task descriptions... Done
| No packages will be installed, upgraded, or removed.
| 0 packages upgraded, 0 newly installed, 0 to remove and 202 not upgraded.
| Need to get 0B of archives. After unpacking 0B will be used.
| Writing extended state information... Done
| Reading package lists... Done
| Building dependency tree
| Reading state information... Done
| Reading extended state information
| Initializing package states... Done
| Reading task descriptions... Done
|
| # aptitude -s full-upgrade
| Reading package lists... Done
| Building dependency tree
| Reading state information... Done
| Reading extended state information
| Initializing package states... Done
| Reading task descriptions... Done
| The following packages are BROKEN:
| libsasl2 xserver-xorg-video-all
| The following NEW packages will be installed:
| bash-completion{a} cpp{a} cpp-4.3{a} dbus{a} dbus-x11{a} libdbus-1-3{a} libgl1-mesa-dri{a} libgmp3c2{a} libgnutls26{a} libhal1{a}
| libldap-2.4-2{a} libmpfr1ldbl{a} libpci3{a} libpixman-1-0{a} libvolume-id0{a} libxcb-xlib0{a} libxcb1{a} libxdamage1{a} lzma{a}
| netcat-traditional{a} udev{a} uuid-runtime{a} x11-xkb-utils{a} xserver-xorg-video-intel{a} xserver-xorg-video-mach64{a}
| xserver-xorg-video-r128{a} xserver-xorg-video-radeon{a} xserver-xorg-video-radeonhd{a}
| The following packages will be REMOVED:
| debconf-utils{u} defoma{u} discover1{u} discover1-data{u} file{u} fontconfig-config{u} libcap1{u} libdb4.2{u} libdb4.3{u} libdb4.4{u}
| libdiscover1{a} libfontconfig1{u} libfs6{u} libft-perl{u} libgnutls13{u} libldap2{u} liblzo1{u} libmagic1{u} libopencdk8{u}
| libttf2{u} libxcursor1{u} libxft2{u} libxmuu1{u} libxrandr2{u} libxrender1{u} libxss1{u} libxtrap6{u} libxtst6{u} libxv1{u}
| libxxf86dga1{u} mdetect{u} perl{u} perl-doc{u} perl-modules{u} ttf-dejavu{u} ucf{u} xbase-clients{u} xresprobe{u}
| xserver-xorg-video-apm{a} xserver-xorg-video-ark{a} xserver-xorg-video-ati{a} xserver-xorg-video-fbdev{a} xserver-xorg-video-glint{a}
| xserver-xorg-video-mga{a} xserver-xorg-video-newport{a} xserver-xorg-video-nsc{a} xserver-xorg-video-nv{a}
| xserver-xorg-video-rendition{a} xserver-xorg-video-s3{a} xserver-xorg-video-s3virge{a} xserver-xorg-video-siliconmotion{a}
| xserver-xorg-video-sis{a} xserver-xorg-video-tdfx{a} xserver-xorg-video-tga{a} xserver-xorg-video-trident{a}
| xserver-xorg-video-v4l{a} xserver-xorg-video-vesa{a} xserver-xorg-video-vga{a} xserver-xorg-video-via{a}
| The following packages will be upgraded:
| adduser base-files base-passwd bash bsdmainutils bsdutils coreutils cpio cron debconf debconf-i18n debian-archive-keyring debianutils
| dhcp3-client dhcp3-common diff dmidecode dpkg dselect e2fslibs e2fsprogs ed findutils gcc-4.1-base gnupg gpgv grep groff-base gzip
| hostname ifupdown info initscripts iptables iputils-ping klogd laptop-detect libacl1 libattr1 libblkid1 libbz2-1.0 libcomerr2 libdrm2
| libexpat1 libfontenc1 libfreetype6 libgcc1 libgcrypt11 libgl1-mesa-glx libgpg-error0 libice6 liblocale-gettext-perl libncurses5
| libnewt0.52 libpam-modules libpam-runtime libpam0g libpng12-0 libpopt0 libreadline5 libsasl2-2 libselinux1 libsepol1
| libsigc++-2.0-0c2a libslang2 libsm6 libss2 libssl0.9.8 libtasn1-3 libtext-charwidth-perl libtext-iconv-perl libtext-wrapi18n-perl
| libusb-0.1-4 libuuid1 libwrap0 libx11-6 libx11-data libxau6 libxaw7 libxdmcp6 libxext6 libxfixes3 libxfont1 libxi6 libxkbfile1
| libxmu6 libxpm4 libxt6 libxxf86vm1 login logrotate lsb-base makedev man-db manpages mawk mktemp module-init-tools mount nano
| ncurses-base ncurses-bin net-tools netbase netcat openbsd-inetd passwd perl-base procps readline-common sed sysklogd sysv-rc sysvinit
| sysvinit-utils tar tasksel tasksel-data tcpd traceroute update-inetd util-linux vim-common vim-tiny wget whiptail x11-common
| xfonts-base xfonts-encodings xfonts-utils xkb-data xserver-xorg xserver-xorg-core xserver-xorg-input-all xserver-xorg-input-evdev
| xserver-xorg-input-kbd xserver-xorg-input-mouse xserver-xorg-input-synaptics xserver-xorg-input-wacom xserver-xorg-video-chips
| xserver-xorg-video-cirrus xserver-xorg-video-cyrix xserver-xorg-video-dummy xserver-xorg-video-i128 xserver-xorg-video-i740
| xserver-xorg-video-i810 xserver-xorg-video-imstt xserver-xorg-video-neomagic xserver-xorg-video-savage xserver-xorg-video-sisusb
| xserver-xorg-video-tseng xserver-xorg-video-vmware xserver-xorg-video-voodoo zlib1g
| The following packages are RECOMMENDED but will NOT be installed:
| bsd-mailx citadel-mta courier-mta esmtp-run exim4 exim4-daemon-heavy exim4-daemon-light heirloom-mailx libfribidi0 libsasl2-modules
| mailutils mailx masqmail msmtp-mta nullmailer postfix psmisc sendmail-bin ssmtp xmail
| 155 packages upgraded, 28 newly installed, 59 to remove and 0 not upgraded.
| Need to get 62.2MB/66.3MB of archives. After unpacking 1002kB will be freed.
| The following packages have unmet dependencies:
| libsasl2: Depends: libsasl2-2 (= 2.1.22.dfsg1-8) but 2.1.22.dfsg1-23 is to be installed.
| xserver-xorg-video-all: Depends: xserver-xorg-video-apm but it is not installable
| Depends: xserver-xorg-video-ark but it is not installable
| Depends: xserver-xorg-video-ati but it is not installable
| Depends: xserver-xorg-video-fbdev but it is not installable
| Depends: xserver-xorg-video-glint but it is not installable
| Depends: xserver-xorg-video-mga but it is not installable
| Depends: xserver-xorg-video-nsc but it is not installable
| Depends: xserver-xorg-video-nv but it is not installable
| Depends: xserver-xorg-video-rendition but it is not installable
| Depends: xserver-xorg-video-s3 but it is not installable
| Depends: xserver-xorg-video-s3virge but it is not installable
| Depends: xserver-xorg-video-siliconmotion but it is not installable
| Depends: xserver-xorg-video-sis but it is not installable
| Depends: xserver-xorg-video-tdfx but it is not installable
| Depends: xserver-xorg-video-tga but it is not installable
| Depends: xserver-xorg-video-trident but it is not installable
| Depends: xserver-xorg-video-vesa but it is not installable
| Depends: xserver-xorg-video-vga but it is not installable
| Depends: xserver-xorg-video-openchrome but it is not installable or
| xserver-xorg-video-via but it is not installable
| Depends: xserver-xorg-video-v4l but it is not installable
| The following actions will resolve these dependencies:
|
| Remove the following packages:
| libsasl2
| xserver-xorg-video-all
|
| Install the following packages:
| libsasl2-modules [2.1.22.dfsg1-23 (testing)]
|
| Score is -185
|
| Accept this solution? [Y/n/q/?] n
| The following actions will resolve these dependencies:
|
| Remove the following packages:
| libsasl2
|
| Install the following packages:
| libsasl2-modules [2.1.22.dfsg1-23 (testing)]
|
| Upgrade the following packages:
| xserver-xorg-video-apm [1:1.1.1-3 (now) -> 1:1.2.0-1 (testing)]
| xserver-xorg-video-ark [1:0.6.0-3 (now) -> 1:0.7.0-1 (testing)]
| xserver-xorg-video-ati [1:6.6.3-2 (now) -> 1:6.9.0-1+lenny4 (testing)]
| xserver-xorg-video-fbdev [1:0.3.1-1 (now) -> 1:0.4.0-1 (testing)]
| xserver-xorg-video-glint [1:1.1.1-3 (now) -> 1:1.2.1-1 (testing)]
| xserver-xorg-video-mga [1:1.4.4.dfsg.1-2 (now) -> 1:1.4.9.dfsg-1 (testing)]
| xserver-xorg-video-nsc [1:2.8.1-3 (now) -> 1:2.8.3-4 (testing)]
| xserver-xorg-video-nv [1:2.0.3-1 (now) -> 1:2.1.10-1 (testing)]
| xserver-xorg-video-rendition [1:4.1.0.dfsg.1-4 (now) -> 1:4.2.0.dfsg.1-2 (testing)]
| xserver-xorg-video-s3 [1:0.4.1-5 (now) -> 1:0.6.0-1 (testing)]
| xserver-xorg-video-s3virge [1:1.9.1-3 (now) -> 1:1.10.1-1 (testing)]
| xserver-xorg-video-siliconmotion [1:1.4.1-4 (now) -> 1:1.6.0-1 (testing)]
| xserver-xorg-video-sis [1:0.9.1-4 (now) -> 1:0.10.0-1 (testing)]
| xserver-xorg-video-tdfx [1:1.3.0-1 (now) -> 1:1.4.0-1 (testing)]
| xserver-xorg-video-tga [1:1.1.0-3 (now) -> 1:1.1.0-9 (testing)]
| xserver-xorg-video-trident [1:1.2.3-1 (now) -> 1:1.3.0-1 (testing)]
| xserver-xorg-video-v4l [0.1.1-3 (now) -> 0.2.0-1 (testing)]
| xserver-xorg-video-vesa [1:1.3.0-1 (now) -> 1:1.3.0-4 (testing)]
| xserver-xorg-video-vga [1:4.1.0-3 (now) -> 1:4.1.0-8 (testing)]
| xserver-xorg-video-via [1:0.2.1-6 (now) -> 1:0.2.2-6 (testing)]
|
| Score is 1526
|
| Accept this solution? [Y/n/q/?]
`----
The same as with the packages currently in Lenny, so we can probably
forget about the idea.
Sven
Reply to: