From ian Thu Jul  6 21:14:08 +0100 1995
X-VM-v5-Data: ([nil nil nil nil nil nil nil nil nil]
	[nil nil nil nil nil nil nil nil nil nil nil nil "^To:" nil nil nil nil nil nil nil]
	nil)
In-Reply-To: <m0sTw2a-00063aC@mongo.pixar.com>
References: <m0sTw2a-00063aC@mongo.pixar.com>
To: debian-devel@pixar.com
Subject: Re: non-uninstallable packages

Bruce Perens writes ("non-uninstallable packages"):
> Assume that a package, such as one in the base, is supposed to be
> non-uninstallable because it is a critical system component. We should
> specify that in an unambiguous form, rather than indicating it by
> specifying "Class: base" in the control file.
> 
> I suggest yet another control file field, called "Flags: ". This is
> followed by a comma-delimited set of flags. An example might be:
> 	Flags: no-uninstall
> 
> Another alternative would be to add control-file fields for each flag.
> In this case, the field would appear as:
> 	Allow-uninstall: no
> ...and the default would be "yes".

I think you're right.  Bill spotted that we were trying to overload
the `Class' field.

I don't think there's any need for a generic `Flags:' field; a simple
extra field is fine, unless we're going to have an awful lot of
boolean flags applying to packages (any attribute with a value is
better handled using a field of its own anyway).

I propose to call the new field `Essential', with allowable values
`yes' and `no' and a default of `no'.

This will be clearer all round, I think, than attempting to describe
dpkg behaviour in the field name.

If I don't have to make an emergency bugfix release of dpkg first this
will be in the next version.  I'll modify dselect too.

Ian.

