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: References: 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.