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

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: