TurnKey Linux's take on Ubuntu appliance development: KISS
Pau Garcia i Quiles
pgquiles at elpauer.org
Thu Jan 7 17:50:57 GMT 2010
> If you're interested in the deb installation procedure, take a look at
> the Debian Policy Manual, Chapter 6 - Package maintainer scripts and
> installation procedure [1].
>
> [1] http://www.debian.org/doc/debian-policy/ch-maintainerscripts.html
There is no information there about the order in which dependent
packages are configured.
I've done a quick test in my Karmic machine here: I've installed lyx
1.6.4-1ubuntu1, which has the following dependencies and
recommendations:
8<-----------------------
Depends: libaiksaurus-1.2-0c2a (>= 1.2.1+dev-0.12), libaspell15 (>=
0.60), libboost-regex1.38.0 (>= 1.38.0-1), libboost-signals1.38.0 (>=
1.38.0-1), libc6 (>= 2.7), libgcc1 (>= 1:4.1.1), libqtcore4 (>=
4.5.1), libqtgui4 (>= 4.5.1), libstdc++6 (>= 4.4.0), libx11-6, zlib1g
(>= 1:1.1.4), lyx-common (= 1.6.4-1ubuntu1), xdg-utils, mime-support
Recommends: texlive-latex-recommended, texlive-latex-extra,
texlive-fonts-recommended, preview-latex-style, dvipng, imagemagick,
psutils, ghostscript, poppler-utils, ttf-lyx, evince | pdf-viewer
8<-----------------------
This is the output:
8<-----------------------
pgquiles at mcpau:~$ sudo aptitude install lyx
[sudo] password for pgquiles:
Reading package lists... Done
Building dependency tree
Reading state information... Done
Reading extended state information
Initializing package states... Done
The following NEW packages will be installed:
dvipng{a} libaiksaurus-1.2-0c2a{a} libaiksaurus-1.2-data{a}
libt1-5{a} lyx lyx-common{a} psutils{a} ttf-lyx{a}
0 packages upgraded, 8 newly installed, 0 to remove and 1 not
upgraded.
Need to get 9,493kB of archives. After unpacking 44.4MB will be used.
Do you want to continue? [Y/n/?] y
Writing extended state information... Done
Get:1 http://archive.ubuntu.com karmic/main libt1-5 5.1.2-3 [154kB]
Get:2 http://archive.ubuntu.com karmic/main dvipng 1.11-1 [78.6kB]
Get:3 http://archive.ubuntu.com karmic/main libaiksaurus-1.2-data
1.2.1+dev-0.12-6 [318kB]
Get:4 http://archive.ubuntu.com karmic/main libaiksaurus-1.2-0c2a
1.2.1+dev-0.12-6 [23.1kB]
Get:5 http://archive.ubuntu.com karmic/universe lyx-common
1.6.4-1ubuntu1 [5,484kB]
Get:6 http://archive.ubuntu.com karmic/universe lyx 1.6.4-1ubuntu1
[3,168kB]
Get:7 http://archive.ubuntu.com karmic/main psutils 1.17-26 [89.9kB]
Get:8 http://archive.ubuntu.com karmic/universe ttf-lyx 1.6.4-1ubuntu1
[177kB]
Fetched 9,493kB in 15s (593kB/s)
Selecting previously deselected package libt1-5.
(Reading database ... 297640 files and directories currently
installed.)
Unpacking libt1-5 (from .../libt1-5_5.1.2-3_i386.deb) ...
Selecting previously deselected package dvipng.
Unpacking dvipng (from .../dvipng_1.11-1_i386.deb) ...
Selecting previously deselected package libaiksaurus-1.2-data.
Unpacking libaiksaurus-1.2-data (from
.../libaiksaurus-1.2-data_1.2.1+dev-0.12-6_all.deb) ...
Selecting previously deselected package libaiksaurus-1.2-0c2a.
Unpacking libaiksaurus-1.2-0c2a (from
.../libaiksaurus-1.2-0c2a_1.2.1+dev-0.12-6_i386.deb) ...
Selecting previously deselected package lyx-common.
Unpacking lyx-common (from .../lyx-common_1.6.4-1ubuntu1_all.deb) ...
Selecting previously deselected package lyx.
Unpacking lyx (from .../lyx_1.6.4-1ubuntu1_i386.deb) ...
Selecting previously deselected package psutils.
Unpacking psutils (from .../psutils_1.17-26_i386.deb) ...
Selecting previously deselected package ttf-lyx.
Unpacking ttf-lyx (from .../ttf-lyx_1.6.4-1ubuntu1_all.deb) ...
Processing triggers for install-info ...
install-info: warning: no info dir entry in `/usr/share/info/menu.info.gz'
Processing triggers for man-db ...
Processing triggers for hicolor-icon-theme ...
Processing triggers for menu ...
Setting up libt1-5 (5.1.2-3) ...
Setting up dvipng (1.11-1) ...
Ignoring install-info called from maintainer script
The package dvipng should be rebuild with new debhelper to get trigger support
Setting up libaiksaurus-1.2-data (1.2.1+dev-0.12-6) ...
Setting up libaiksaurus-1.2-0c2a (1.2.1+dev-0.12-6) ...
Setting up lyx-common (1.6.4-1ubuntu1) ...
Running mktexlsr. This may take some time... done.
Setting up lyx (1.6.4-1ubuntu1) ...
Setting up psutils (1.17-26) ...
Setting up ttf-lyx (1.6.4-1ubuntu1) ...
Updating fontconfig cache for /usr/share/fonts/truetype/ttf-lyx
No CIDSupplement specified for Batang-Regular, defaulting to 0.
No CIDSupplement specified for Batang-Bold, defaulting to 0.
No CIDSupplement specified for UMingCN, defaulting to 0.
No CIDSupplement specified for ZenHei-CNS, defaulting to 0.
No CIDSupplement specified for Dotum-Bold, defaulting to 0.
No CIDSupplement specified for ZenHei, defaulting to 0.
No CIDSupplement specified for Dotum-Regular, defaulting to 0.
Processing triggers for libc-bin ...
ldconfig deferred processing now taking place
Processing triggers for menu ...
Reading package lists... Done
Building dependency tree
Reading state information... Done
Reading extended state information
Initializing package states... Done
Writing extended state information... Done
8<-----------------------
Notice how dvipng, which is a 'Recommends' is configured BEFORE
libaiksaurus, which is a 'Depends' and is listed before dvipng. Before
you ask: noo, libaiksaurus does not depend on dvipng:
8<-----------------------
pgquiles at mcpau:~$ apt-cache depends libaiksaurus-1.2-0c2a
libaiksaurus-1.2-0c2a
Depends: libc6
Depends: libgcc1
Depends: libstdc++6
Depends: libaiksaurus-1.2-data
Conflicts: <libaiksaurus-1.2-0>
Conflicts: <libaiksaurus0>
Conflicts: <libaiksaurus0c102>
Replaces: <libaiksaurus-1.2-0>
Replaces: <libaiksaurus0>
Replaces: <libaiksaurus0c102>
pgquiles at mcpau:~$ apt-cache depends libaiksaurus-1.2-data
libaiksaurus-1.2-data
Conflicts: <libaiksaurus-data>
8<-----------------------
In fact, 'apt-cache depends lyx' shows dvipng well-below libaiksaurus:
8<-----------------------
lyx
Depends: libaiksaurus-1.2-0c2a
Depends: libaspell15
Depends: libboost-regex1.38.0
Depends: libboost-signals1.38.0
Depends: libc6
Depends: libgcc1
Depends: libqtcore4
Depends: libqtgui4
Depends: libstdc++6
Depends: libx11-6
Depends: zlib1g
Depends: lyx-common
Depends: xdg-utils
Depends: mime-support
|Suggests: cups-client
Suggests: lpr
cups-bsd
lprng
|Suggests: <iceweasel>
Suggests: <www-browser>
arora
conkeror
edbrowse
lynx-cur
netsurf
chimera2
elinks
elinks-lite
elvis
elvis-console
epiphany-browser
firefox-3.5
galeon
kazehakase
konqueror
links
links2
midori
netrik
opera
seamonkey-browser
xemacs21-mule
xemacs21-mule-canna-wnn
xemacs21-nomule
w3m
Suggests: rcs
Suggests: dvipost
|Suggests: tex4ht
|Suggests: hevea
|Suggests: tth
Suggests: latex2html
Suggests: groff
Suggests: libtiff-tools
Suggests: gnuhtml2latex
Suggests: wv
Suggests: chktex
Suggests: noweb
Suggests: menu
Suggests: sgmltools-lite
Suggests: linuxdoc-tools
Suggests: writer2latex
Suggests: latex2rtf
Recommends: texlive-latex-recommended
Recommends: texlive-latex-extra
Recommends: texlive-fonts-recommended
Recommends: preview-latex-style
Recommends: dvipng
Recommends: imagemagick
graphicsmagick-imagemagick-compat
Recommends: psutils
Recommends: ghostscript
Recommends: poppler-utils
xpdf-utils
Recommends: ttf-lyx
|Recommends: evince
Recommends: <pdf-viewer>
acroread
okular
epdfview
evince
gv
viewpdf.app
xpdf-reader
xpdf-utils
Conflicts: <lyx-qt>
Conflicts: <lyx-xforms>
Replaces: lyx-common
8<-----------------------
So maybe you are right and apt guarantees the order of installation
but I can't find any reference to what is that order and in my tests,
the order is not what you would expect (i. e. the order in which the
dependencies are listed). I'm not even sure you can guarantee the
order in which packages are unpacked.
--
Pau Garcia i Quiles
http://www.elpauer.org
(Due to my workload, I may need 10 days to answer)
More information about the ubuntu-devel
mailing list