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

base packages / essential packages / required packages



There seems to be a bit of confusion about which packages should have
`Essential: yes', which should have the `required' priority, which
should be in the `base' section/directory and which should be on the
base disks.

As far as I can see, the base section/directory should contain
everything that's on the base disks.  However, there are some packages
that are useful on the base disks (whatever has /usr/bin/ftp, for
example) which are not really essential and which the user should be
able to deinstall, so not everything on the base disks should have
the `required' priority.

It seems to me that everything that has the `required' priority should
also either have an Essential field to prevent accidental
deinstallation, or be depended on by some other required package, and
possibly both.

Here is my analysis of the packages in myrddin's
unstable/binary-i386/base directory.  Packages in section `base' are
installed on a virgin system fresh from the basedisks.  Packages with
a priority other than `important' do not have an Essential field.

Package         Section Priority?       Essential?
adduser         base    important
ae              base    important
base            base    required        yes
bash            base    required        yes
bsdutils        base    required        yes
chfn            base    important
diff            base    required        yes
dpkg            base    required        yes
e2fsprogs       base    required        yes
ed              base    required        yes
fdflush         base    important
fileutils       base    required        yes
findutils       base    required        yes
gawk            base    required        yes
grep            base    required        yes
gzip            base    required        yes
hostname        base    required        yes
image           base    required        yes [1]
kbd             base    required        yes
last            admin   important
ldso            base    required        yes
libc5           base    required        no [2]
libdb1          base    required        no [2]
libgdbm1        base    required        no [2]
libreadline2    base    required        no [2]
lilo            admin   important
mbr             admin   standard [3]
miscutils       base    required        yes [4]
modules         base    important [5]
mount           base    required        yes
ncurses-base    base    required        yes
ncurses-bin     base    important
ncurses3.0      base    required        no [2]
procps          admin   important [6]
sed             base    required        yes
setserial       admin   important
shellutils      base    required        yes
syslogd         base    required        yes
syslinux        admin   standard [3]
sysvinit        base    required        yes
tar             base    required        yes
textutils       base    required        yes
timezone        base    important [7]

Finally, the file `dpkg-1.1.0.nondebbin.tar.gz' appears in this
directory.  It should not - hide it away somewhere in case someone
actually tries to use it.

Ian.

Footnotes:

[1] (image): A better thing to do might be to make it `base/important'
 and have its prerm check that you weren't going to remove your only
 lilo-bootable kernel.

[2] (libc5, libdb1, libgdbm1, libreadline2): These packages are not
 essential in and of themselves, so they don't need `Essential: yes' -
 dpkg will prevent their removal anyway.  (They don't need `Essential:
 no' either, since that's what the absence of the field means.)

[3] (mbr, syslinux): I thought that these were only required to create
 boot sectors or disks, respectively ?  If so then the .deb files do
 not need to be installed on the user's system, so we don't need to
 make them so heavily required.  If lilo requires mbr to work then mbr
 needs to be at least important, rather than standard - or perhaps we
 can get the MBR package folded into LILO's upstream source, which
 would make it available to the wider Linux community.

[4] (miscutils): This is being rearranged, of course.

[5] (modules): The prerm should check to see if you need the modules
 utilities, perhaps by examining /proc/modules or /etc/modules.  That
 way people who don't want modules don't need the modutils.

[6] (procps): If there are preinst scripts that use killall &c rather
 than start-stop-daemon then they should probably be fixed.  We should
 check; if there are any that are unfixable then we may have to make
 procps `required'.

[7] (timezone): I assume that the system won't grind to a halt if it
 can't find its timezone data.



Reply to: