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

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: