Bug#872587: Document the Protected field
ke 27. maalisk. 2024 klo 14.00 Andrey Rakhmatullin (w...@debian.org) kirjoitti: > > On Wed, Mar 27, 2024 at 01:29:50PM +0200, Martin-Éric Racine wrote: > > > The documentation from deb-control(5) is: > > > > > > Protected: yes|no > > > This field is usually only needed when the answer is yes. It denotes > > > a package that is required mostly for proper booting of the system or > > > used for custom system-local meta-packages. dpkg(1) or any other > > > installation tool will not allow a Protected package to be removed (at > > > least not without using one of the force options). > > > > > > It's probably also worth noting the parenthetical comment in the > > > documentation of Essential: > > > > > > Essential: yes|no > > > This field is usually only needed when the answer is yes. It denotes > > > a package that is required for the packaging system, for proper > > > operation of the system in general or during boot (although the latter > > > should be converted to Protected field instead). dpkg(1) or any other > > > installation tool will not allow an Essential package to be removed > > > (at least not without using one of the force options). > > > > I'm still not sure that I inderstand the difference between those two. > > They seem to accomplish the same thing. Did I miss something? > Per my understanding which may be flawed: > > "Essential: yes" are always installed. Tools and dependencies assume they > are installed. Bootstrapping tools install them implicitly. Package > management tools refuse to remove them. > > "Protected: yes" are nothing like that. Package management tools refuse to > remove them and that's all. Thanks. This sounds much clearer already. In that case, the above deb-control(5) needs a much better phrasing. Something like: Protected: yes|no This field prevents a package from getting auto-removed by dpkg without using one of the force options. It is intended for custom local packages not meant for upload to the Debian repository. Essential: yes|no This field prevents a package from getting auto-removed by dpkg without using one of the force options. It also makes debootstrap and other similar tools force-install them. Maintainers must request approval from the debian-devel mailing list before uploading any package with the Essential field set to the Debian repository. See Essential packages (Section 3.8) in the Debian Policy Manual for details. Martin-Éric
Bug#872587: Document the Protected field
On Mon, 11 Sep 2023 21:27:09 -0700 Russ Allbery wrote: > Control: retitle -1 Document the Protected field > > Adam Borowski writes: > > On Fri, Aug 18, 2017 at 02:28:22PM -0700, Sean Whitton wrote: > > >> Do you have any idea how long we can expect to wait until dpkg supports > >> the field? I would suggest that we wait until dpkg has defined > >> behaviour for the field, as it will make documenting it much easier. > >> It will also allow us to be more confident that there is no serious > >> disagreement about the purpose of the field. > > > Right, let's have dpkg maintainers tell us what they think. > > >> I couldn't find a bug against dpkg, but if there is one, it should > >> probably be set to block this bug. > > > 872587 < 872589, I filed the Policy one first. Block added. > > Per the resolution of #872589, this was implemented as the Protected field > instead. Retitling the bug accordingly. > > The documentation from deb-control(5) is: > > Protected: yes|no > This field is usually only needed when the answer is yes. It denotes > a package that is required mostly for proper booting of the system or > used for custom system-local meta-packages. dpkg(1) or any other > installation tool will not allow a Protected package to be removed (at > least not without using one of the force options). > > It's probably also worth noting the parenthetical comment in the > documentation of Essential: > > Essential: yes|no > This field is usually only needed when the answer is yes. It denotes > a package that is required for the packaging system, for proper > operation of the system in general or during boot (although the latter > should be converted to Protected field instead). dpkg(1) or any other > installation tool will not allow an Essential package to be removed > (at least not without using one of the force options). I'm still not sure that I inderstand the difference between those two. They seem to accomplish the same thing. Did I miss something? It should also be noted that, as of version 2.117.0, Lintian still gives a warning whenever a binary target has the Protected field set. Martin-Éric