wpkg --set-selection

Options Comments
--admindir Define the administration directory, where the database of the installed packages resides.
--debug Define a set of flags of things to print out for debug purposes.
--instdir Define the installation directory, where the data files are installed on the target.
--quiet Request for warning messages to not be displayed.
--root Define the installation root path.
--verbose Display log information of level INFO.

A package can be set in different modes to control how the packager handles its installation and removal.

The Normal selection is what you would otherwise expect: you can handle the installation and removal of that package.

The Hold selection prevents any installation or removal, especially automated ones (as with --upgrade, --recursive, and --repository.)

The --set-selection command expects to be followed by the name of the new selection then a list of packages to setup with that selection. For example, assuming you have a package foo installed, you could mark it for auto-removal with the following command:

wpkg --set-selection auto foo

The valid selections are defined in the following table:

Selection Comments
auto Allow automatic removal of this package.
Everything is manual. You have to install and remove these packages explicitly.1
hold This package is being held, which means the packager does not have the authorization to upgrade or downgrade the package. It may, however, re-install the package (same version & architecture) to repair some of the files.
reject This value only works when no package is currently installed. It is used to prevent the installation of a package. The only way to allow the installation again is to change the selection to auto or normal.

To check out the current selection of a package use the --field or --status option and search for the X-Selection field. Installed packages that are on Hold are shown with an 'h' in the output of the --list command. Packaged that were Rejected are shown with a 'j' in the output of the --list command.

  • 1. Note that the --recursive option when used with the --remove command may still automatically select a package for removal. However, that --recursive option goes the other way around. A package that has a dependency gets that dependency removed first; whereas the auto feature removes packages that are not depended on.