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

Bug#435662: Russell Coker: SE Linux Policy Packaging for a Distribution



Hi there!

BTW, this is *not* a bug in any X.Org package, but in apt/aptitude.
When not specified, aptitude does the same as apt-get.

On Wed, 20 Aug 2008 01:37:50 +0200, Luca Capello wrote:
> BTW, this is particular annoying since when installing Debian on the
> Opemoko FreeRunner [1], we need to first install all the -video-* and
> -input-* packages and then remove them [2].
[...]
> Footnotes: 
> [1] http://wiki.debian.org/DebianOnFreeRunner
> [2] http://git.debian.org/?p=pkg-fso/files.git;a=blob;f=install.sh

The situation has evolved WRT X.Org after the new X.Org dependency on
HAL/kbd as per

  http://bugs.debian.org/515214


1) on my ThinkPad X60, with install-recommends false and kbd already
   installed (around mid-April 2009, but not checked with aptitude):
   =====
   gismo:~# apt-get install xserver-xorg-video-intel
   [...]
   The following extra packages will be installed:
     acl consolekit hal libaudit0 libck-connector0 libdrm-intel1
     libfontenc1 libpciaccess0 libpolkit-dbus2 libpolkit-grant2
     libpolkit2 libxaw7 libxfont1 libxkbfile1 libxmu6 policykit
     x11-xkb-utils xserver-common xserver-xorg xserver-xorg-core
     xserver-xorg-input-evdev
   [...]

   gismo:~# apt-get install xserver-xorg
   [...]
   The following extra packages will be installed:
     acl consolekit hal libaudit0 libck-connector0 libdrm-intel1
     libfontenc1 libpciaccess0 libpolkit-dbus2 libpolkit-grant2
     libpolkit2 libxaw7 libxfont1 libxkbfile1 libxmu6 policykit
     x11-xkb-utils xserver-common xserver-xorg-core
     xserver-xorg-input-evdev xserver-xorg-video-all
     xserver-xorg-video-apm xserver-xorg-video-ark
     xserver-xorg-video-ati xserver-xorg-video-chips
     xserver-xorg-video-cirrus xserver-xorg-video-fbdev
     xserver-xorg-video-i128 xserver-xorg-video-intel
     xserver-xorg-video-mach64 xserver-xorg-video-mga
     xserver-xorg-video-neomagic xserver-xorg-video-nv
     xserver-xorg-video-openchrome xserver-xorg-video-r128
     xserver-xorg-video-radeon xserver-xorg-video-radeonhd
     xserver-xorg-video-rendition xserver-xorg-video-s3
     xserver-xorg-video-s3virge xserver-xorg-video-savage
     xserver-xorg-video-siliconmotion xserver-xorg-video-sis
     xserver-xorg-video-sisusb xserver-xorg-video-tdfx
     xserver-xorg-video-trident xserver-xorg-video-tseng
     xserver-xorg-video-v4l xserver-xorg-video-vesa
     xserver-xorg-video-vmware xserver-xorg-video-voodoo
   [...]

   gismo:~#
   =====


2) apt-get on a clean chroot created by cdebootstrap my Openmoko
   FreeRunner, again with install-recommends false:
   =====
   root@om-gta02:/# apt-get install xserver-xorg-video-fbdev
   [...]
   The following extra packages will be installed:
     acl console-common console-data console-setup console-terminus
     consolekit cpp cpp-4.3 dbus gcc-4.3-base hal hal-info kbd libaudit0
     libck-connector0 libdbus-1-3 libdbus-glib-1-2 libdrm2 libexpat1
     libfontenc1 libfreetype6 libgcrypt11 libglib2.0-0 libgmp3c2
     libgpg-error0 libhal-storage1 libhal1 libice6 libmpfr1ldbl libpci3
     libpciaccess0 libpcre3 libpixman-1-0 libpolkit-dbus2
     libpolkit-grant2 libpolkit2 libsm6 libx11-6 libx11-data libxau6
     libxaw7 libxcb1 libxdmcp6 libxext6 libxfont1 libxkbfile1 libxmu6
     libxpm4 libxt6 pciutils pm-utils policykit powermgmt-base usbutils
     x11-common x11-xkb-utils xkb-data xserver-common xserver-xorg
     xserver-xorg-core xserver-xorg-input-evdev
   [...]

   root@om-gta02:/# apt-get install xserver-xorg
   [...]
   The following extra packages will be installed:
     acl console-common console-data console-setup console-terminus
     consolekit cpp cpp-4.3 dbus gcc-4.3-base hal hal-info kbd libaudit0
     libck-connector0 libdbus-1-3 libdbus-glib-1-2 libdrm2 libexpat1
     libfontenc1 libfreetype6 libgcrypt11 libglib2.0-0 libgmp3c2
     libgpg-error0 libhal-storage1 libhal1 libice6 libmpfr1ldbl libpci3
     libpciaccess0 libpcre3 libpixman-1-0 libpolkit-dbus2
     libpolkit-grant2 libpolkit2 libsm6 libx11-6 libx11-data libxau6
     libxaw7 libxcb1 libxdmcp6 libxext6 libxfont1 libxkbfile1 libxmu6
     libxpm4 libxt6 pciutils pm-utils policykit powermgmt-base usbutils
     x11-common x11-xkb-utils xkb-data xserver-common xserver-xorg-core
     xserver-xorg-input-evdev xserver-xorg-video-all
     xserver-xorg-video-apm xserver-xorg-video-ark
     xserver-xorg-video-ati xserver-xorg-video-chips
     xserver-xorg-video-cirrus xserver-xorg-video-fbdev
     xserver-xorg-video-i128 xserver-xorg-video-i740
     xserver-xorg-video-mach64 xserver-xorg-video-mga
     xserver-xorg-video-neomagic xserver-xorg-video-nv
     xserver-xorg-video-r128 xserver-xorg-video-radeon
     xserver-xorg-video-radeonhd xserver-xorg-video-rendition
     xserver-xorg-video-s3 xserver-xorg-video-s3virge
     xserver-xorg-video-savage xserver-xorg-video-siliconmotion
     xserver-xorg-video-sis xserver-xorg-video-sisusb
     xserver-xorg-video-tdfx xserver-xorg-video-trident
     xserver-xorg-video-tseng xserver-xorg-video-v4l
     xserver-xorg-video-vesa xserver-xorg-video-voodoo
   [...]

   root@om-gta02:/#
   =====


3) aptitude on the same chroot as above:
   =====
   root@om-gta02:/# aptitude install xserver-xorg-video-fbdev
   [...]
   The following NEW packages will be installed:
     acl{a} console-common{a} console-data{a} console-setup{a} console-terminus{a}
     consolekit{a} cpp{a} cpp-4.3{a} dbus{a} gcc-4.3-base{a} hal{a} hal-info{a} kbd{a} libaudit0{a}
     libck-connector0{a} libdbus-1-3{a} libdbus-glib-1-2{a} libdrm2{a} libexpat1{a}
     libfontenc1{a} libfreetype6{a} libgcrypt11{a} libglib2.0-0{a} libgmp3c2{a}
     libgpg-error0{a} libhal-storage1{a} libhal1{a} libice6{a} libmpfr1ldbl{a} libpci3{a}
     libpciaccess0{a} libpcre3{a} libpixman-1-0{a} libpolkit-dbus2{a}
     libpolkit-grant2{a} libpolkit2{a} libsm6{a} libx11-6{a} libx11-data{a} libxau6{a}
     libxaw7{a} libxcb1{a} libxdmcp6{a} libxext6{a} libxfont1{a} libxkbfile1{a} libxmu6{a}
     libxpm4{a} libxt6{a} pciutils{a} pm-utils{a} policykit{a} powermgmt-base{a} usbutils{a}
     x11-common{a} x11-xkb-utils{a} xkb-data{a} xserver-common{a} xserver-xorg{a}
     xserver-xorg-core{a} xserver-xorg-input-evdev{a}
     xserver-xorg-video-fbdev
   [...]

   root@om-gta02:/#
   =====


While people can now choose a single xserver-xorg-video-* package,
however the apt/aptitude bug is still there, only now related to the
console-* packages.  This because of:

- kbd depends on "console-common | console-setup"

- console-common depends on both "console-data, kbd | console-tools"

- xserver-xorg depends on "console-setup"
    http://bugs.debian.org/523960

Thus, if I install *both* kbd and xserver-xorg, I do not need
console-common (and the dependent console-data).  However, apt (and
aptitude as well) still wants to install it.  This is indeed a bug.


However, while looking at the situation in more details I discovered a
second bug, this time restricted to apt only.  Since now on the
"offending" package is kbd.


1) for apt-get, the order in which packages are asked to be installed
   counts:
   =====
   root@om-gta02:/# apt-get install kbd
   [...]
   The following extra packages will be installed:
     console-common console-data
   [...]

   root@om-gta02:/# apt-get install kbd console-setup
   [...]
   The following extra packages will be installed:
     console-common console-data console-terminus xkb-data
   [...]

   root@om-gta02:/# apt-get install console-setup kbd
   [...]
   The following extra packages will be installed:
     console-terminus xkb-data
   [...]

   root@om-gta02:/#
   =====


2) apt-get behaves correctly if asked to remove the not-needed package:
   =====
   root@om-gta02:/# apt-get install kbd console-data-
   [...]
   Package console-data is not installed, so not removed
   The following extra packages will be installed:
     console-setup console-terminus xkb-data
   [...]

   root@om-gta02:/#
   =====


3) aptitude correctly resolves the dependencies when explicitly asked,
   independently of the package order:
   =====
   root@om-gta02:/# aptitude install kbd
   [...]
   The following NEW packages will be installed:
     console-common{a} console-data{a} kbd
   [...]

   root@om-gta02:/# aptitude install kbd console-setup
   [...]
   The following NEW packages will be installed:
     console-setup console-terminus{a} kbd xkb-data{a}
   [...]

   root@om-gta02:/#
   =====


Note that because of this second bug, if someone (like the Debian
FreeSmartphone.Org team) wants to install one single
xserver-xorg-video-* package avoiding the console-data installation,
this has to be done with:

  # apt-get install xserver-xorg-video-fbdev console-data-

or

  # aptitude install xserver-xorg-video-fbdev console-setup


Thx, bye,
Gismo / Luca

Attachment: pgp2HAspFrckc.pgp
Description: PGP signature


Reply to: