Re: essential vs. required vs. base
On Wed, Nov 09, 2005 at 01:13:44PM -0800, Russ Allbery wrote:
> Justin Pryzby <justinpryzby@users.sourceforge.net> writes:
>
> > Packages marked "Essential: yes" have to be operational before they are
> > configured, and packages need not (and should not) depend on them, in
> > the same was as they needn't and shouldn't to build-depend on
> > build-essential packages such as gcc and make. Essential packages are
> > also the only ones which can be relied on to be working in postrm:purge.
>
> > The priority system exists to help define dependencies .. packages
> > cannot depend on other packages with a lower priority. Policy indicates
> > that "Priority: required" packages are thus marked because they are
> > (mostly) needed by dpkg, which seems like a fine criteria.
>
> > I'm including the context diff between essential packages and required
> > ones. Since essential implies required, why isn't there simply another
> > priority class, instead of a separate "Essential" field??
>
> Essential means that it's very difficult to remove the package and you
> have to jump through extreme hoops to do so, and that removing it may
> break the system.
Yes, but how is that different from Priority: required? Removing
essential packages is difficult because dpkg will yell at you:
This is an essential package - it should not be removed.
Priority required is defined in policy 2.5:
`required'
Packages which are necessary for the proper functioning of
the system (usually, this means that dpkg functionality
depends on these packages). Removing an `required' package
may cause your system to become totally broken and you may
not even be able to use `dpkg' to put things back, so only
do so if you know what you are doing. Systems with only the
`required' packages are probably unusable, but they do have
enough functionality to allow the sysadmin to boot and
install more software.
> As a result, no libraries are essential since libraries are removed
> when they're upgraded.
I noticed that; but aren't all packages removed when they're upgrade?
My question isn't so much "why are some required packages not
essential?", but "Why is there a special mechanism for 'essential'?".
Why essential just another priority, for which dpkg has special tests?
--
Clear skies,
Justin
Reply to: