Introduction

APT supports an Important field, similar to Essential, with the following differences:

We should push that downwards.

Definition: Important packages

Important defines packages that must not be easily removed from the system once installed. For example, an init system might be marked important to not be removed easily from non-container systems.

They should supply their core functionality while unconfigured, but do not have to, and other packages may not assume that they do.

We should decide what happens when an Essential package is also marked as Important, should we error out, warn, ignore and consider it the strongest of both fields?

Packages must depend on Important packages like other packages and may not omit those dependencies like they can for Essential.

Alternatives

We have been throwing some ideas around, w/o much consideration, which might or might not be worth considering.

Tasks

Use cases

See also Proposals/EssentialOnDiet and BusterPriorityRequalification.

Background

The name Important is an historic artifact. APT always understood Important as a synonym to Essential, but the meaning was relaxed a few years ago when the field was repurposed for system-configuration meta packages.

Julian Andres Klode proposed afterwards (on the #debian-dpkg IRC channel) naming this field instead Protected which might be less confusing than Important as that's already a Priority. The name might still not be optimal, because Protected is a tad generic, which can always be solved with documentation, but if better names can be found we are interested!