Subject: definition of "Required" priority

From: "Susan G. Kleinmann" <[email-masked]>
Date: Sun, 07 Jul 1996 12:49:55 -0400

As some of you may have noticed, I included the Debian definitions of
various package priorities in the new version of the FAQ, which has
been available for a couple of weeks at:
http://sgk.phast.umass.edu/FAQ/debian-faq.html

Sven Rudolph pointed out that the definition of "Required" packages
might need refining.  Currently, it says:
   Required packages are absolutely essential.
   You absolutely must not remove these packages
   or your systems will become unuseable and your will not even be able to
   use dpkg to put things back.  Systems with only the Required packages are
   probably unuseable, but they do have enough functionality to install more
   software.

A short list of required packages from the Packages.gz file includes these:
adduser, ae, base, bash, bdflush, bsdutils, debianutils, diff, dpkg,
e2fsprogs, fdflush, fileutils, findutils, gawk, getty, grep, gzip, 
hostname, kbd, kernel-image, ldso, libc5, libreadline2, login, mbr, 
modconf, modules, mount, ncurses-base, ncurses-bin, ncurses3.0, passwd,
procps, sed, setserial, shellutils, sysklogd, syslinux, sysvinit, tar,
texutils, timezone, util-linux

Now, I believe it would be easy to operate a Linux system without
mbr or adduser or syslinux, and possible to operate a Linux system without
a number of other packages.  Would it then be correct to state that
priority 'required' refers to
-- "Packages that are needed by the installation scripts as they are currently 
designed",  or to
-- "Packages that are used by dpkg or dselect"

My intention here is merely to seek a clarification of the *definition* 
of Required.

Regards,
Susan Kleinmann
[email-masked]

I note that all but syslinux are marked as 'essential'.

---

From: [email-masked] (Wichert Akkerman)
Date: Tue, 9 Jul 1996 12:15:38 +0200 (METDST)

:-> Sven Rudolph pointed out that the definition of "Required" packages
:-> might need refining.  Currently, it says:
:->    Required packages are absolutely essential.
:->    You absolutely must not remove these packages
:->    or your systems will become unuseable and your will not even be able to
:->    use dpkg to put things back.  Systems with only the Required packages are
:->    probably unuseable, but they do have enough functionality to install more
:->    software.

[.. snip ..]

:-> Now, I believe it would be easy to operate a Linux system without
:-> mbr or adduser or syslinux, and possible to operate a Linux system without
:-> a number of other packages.

I agree. However, I think the problem is more a misuse of the required flag
then a erronous definition of `required'. Personally, I have not installed
mbr and adduser and my system is perfectly useable and stable. The best
way to solve this problem IMHO is removing the required flag from those
packages.

Grtz,
  Wichert.

---

From: Ian Jackson <[email-masked]>
Date: Tue, 16 Jul 96 13:42 BST

>    probably unuseable, but they do have enough functionality to install more

You're right, this definition is poor.  For starters it confuses
`Priority: required' (which is a selection priority in dselect and
isn't actually enforced at all) with `Essential: yes' (which is a flag
for dpkg and is enforced).

How about:

 Required packages are necessary for the functioning and repairability
 of the system.  You must not remove these packages or your system may
 become totally broken and you may probably not even be able to use
 dpkg to put things back.  Systems with only the Required packages are
 probably unuseable, but they do have enough functionality to allow
 the sysadmin to boot and install more software.

> texutils, timezone, util-linux

Of these I think that only base, bash, bdflush, bsdutils, debianutils,
diff, dpkg, e2fsprogs, fileutils, findutils, gawk (or nawk, if we
switch to that), getty, grep, gzip, hostname, kbd, kernel-image, ldso,
libc5, libreadline2, login, modules (probably), modconf (don't know,
what does it do?), mount, ncurses-base, ncurses-bin, ncurses3.0,
procps, sed, shellutils, sysklogd, sysvinit, tar, textutils and
util-linux should be Required.

Most of the rest should be important.  We need to be able to have
packages that are in section base (ie, installed on the basedisks) but
are only important rather than required - I don't see that there's
anything but reluctance stopping us.

...
> My intention here is merely to seek a clarification of the *definition* 

I hope I've helped.

> I note that all but syslinux are marked as 'essential'.

Urgh.  I'm going to report these as bugs.

Ian.