Hi, A request can currently install/remove packages explictely, enable autoremove and/or enable with "Upgrade" and "Dist-Upgrade" a behaviour similar to 'apt-get upgrade' and 'dist-upgrade' respectively. The later seems rather limiting – especially as it doesn't reflect the behavior of 'apt upgrade' which allows for new packages to be installed, but still doesn't allow removal of packages. The obvious answer to this is introducing an "APT-Upgrade" flag and be done until we find another reason for yet another command… but I don't like that approach very much, so here an alternative: We introduce 3 new fields: "Upgrade-All" which tells the resolver to upgrade all packages and "Forbid-New-Install" and "Forbid-Remove" which limit the choices it can make (in response to all requests, not just to upgrade requests). This would allow apt to describe all its upgrade-flavours and could also be useful to have in other cases as it isn't an unusual request from users to be able to say "I don't want stuff removed, period" (e.g. if the command is run unattended). Declaring Upgrade = Upgrade-All | Forbid-New-Install | Forbid-Remove and Dist-Upgrade = Upgrade-All would allow for a flagday-free transition. I realize that this is dangerously close to starting to (re)define a common preferences string disguised as multiple boolean flags but in the end the 'old' flags were this already and they are more like a hard rule rather than 'just' preferences in the end… Opinions? Best regards David Kalnischkies
Attachment:
signature.asc
Description: PGP signature