cupt.conf(5) configuration file for Cupt

SYNOPSIS

$APT_CONFIG, /etc/apt/apt.conf, /etc/apt/apt.conf.d/*, $CUPT_PRE_CONFIG, /etc/cupt/pre.conf, /etc/cupt/cupt.conf, /etc/cupt/cupt.conf.d/*

DESCRIPTION

Cupt uses the same configuration syntax as apt.conf(5), which see.

CONFIGURATION VARIABLES

Firstly, Cupt uses following APT configuration variables:

acquire::*::dl-limit, acquire::*::timeout, acquire::*::proxy, acquire::http::allowredirect, acquire::retries, apt::cache::allversions, apt::cache::important, apt::cache::namesonly, apt::cache::recursedepends, apt::default-release, apt::install-recommends, apt::install-suggests, apt::neverautoremove, apt::get::assume-yes, apt::get::allowunauthenticated, apt::get::automaticremove, apt::get::list-cleanup, apt::get::purge, apt::update::pre-invoke, apt::update::post-invoke, apt::update::post-invoke-success, dir, dir::bin::dpkg, dir::cache, dir::cache::archives, dir::etc, dir::etc::sourcelist, dir::etc::sourceparts, dir::etc::parts, dir::etc::main, dir::etc::preferences, dir::ignore-files-silently, dir::state, dir::state::extendedstates, dir::state::status, dpkg::options, dpkg::pre-invoke, dpkg::post-invoke, dpkg::pre-install-pkgs, gpgv::trustedkeyring, quiet

See apt.conf(5) for their meanings.

Secondly, Cupt introduces cupt-specific configuration variables.

variable types

boolean
false may be specified as ``0'' or ``false'' or ``no'', everything else interpretes as true

if undefined, interpretes as false

integer
signed 32-bit integer on 32-bit systems, signed 64-bit integer on 64-bit systems

if undefined, interpretes as 0

string
interpreted as is

if undefined, interpretes as empty string

list
list of strings

if undefined, intepretes as empty list

variables

cupt::cache::limit-releases::by-*::type
string, determines the type of limiting repository releases to use

All repository indexes which are disallowed by this option are not added to the package cache, in other words, they are completely hidden.

'*' can be 'archive' or 'codename'

Possible values:

none
No limiting will be done for this category. The default.
include
Only values of the 'cupt::cache::limit-releases::by-*' option will be allowed.
exclude
Only values which are not present in the value of the 'cupt::cache::limit-releases::by-*' option will be allowed.

Example:

If you set 'cupt::cache::limit-releases::by-archive::type' to 'include' and 'cupt::cache::limit-releases::by-archive' to '{ ``stable'', ``testing'' };', only repositories with archive names 'stable' and 'testing' will be added to the cache.

cupt::cache::limit-releases::by-*
list of allowed/disallowed release attributes, see above
cupt::cache::pin::addendums::but-automatic-upgrades
integer, specifies priority change for versions that come only from sources which have both 'not automatic' and 'but automatic upgrades' flags. Defaults to 4200.
cupt::cache::pin::addendums::downgrade
integer, specifies priority change for versions that are smaller than currently installed. Defaults to -10000.
cupt::cache::pin::addendums::hold
integer, specifies priority increase for versions that are put on hold. Defaults to 1000000. Set this option to 0 if you do not want to obey holds. You may want to increase this option in (very unlikely to happen) situations: when you have thousands of manually installed packages and very large query; when you have a manually crafted pin priorities system with very large pin values.
cupt::cache::pin::addendums::not-automatic
integer, specifies priority increase for versions that come only from 'not automatic' sources. Defaults to -4000.

If you change the value of this option, you might want to change the value of the option ``cupt::cache::pin::addendums::but-automatic-upgrades'' accordingly.

cupt::cache::release-file-expiration::ignore
boolean, if set to true, Cupt will ignore the fact that a Release file is expired and use it anyway. False by default.

Warning! Setting this option to true will make the system vulnerable to a replay attack on package manager indexes.

cupt::console::allow-untrusted
boolean, don't treat using untrusted packages as dangerous action
cupt::console::assume-yes
boolean, see cupt(1) --assume-yes
cupt::console::actions-preview::show-not-preferred
string, determines whether packages which will have a not preferred version after the proposed changes are done should be shown in the actions preview. Defaults to 'for-upgrades'.

Possible values:

no
Do not show.
for-upgrades
Show for upgrade subcommands (namely, for ``full-upgrade'', ``safe-upgrade'' and the second part of ``dist-upgrade'').
yes
Show always.
cupt::console::actions-preview::show-archives
boolean, if true, release archive(s) will be shown for each package in the actions preview. False by default.
cupt::console::actions-preview::show-codenames
boolean, if true, release codename(s) will be shown for each package in the actions preview. False by default.
cupt::console::actions-preview::show-components
boolean, if true, release component(s) will be shown for each package in the actions preview. False by default.
cupt::console::actions-preview::show-details
boolean, if true, details of planned actions will be shown in the actions preview. True by default.
cupt::console::actions-preview::show-empty-versions
boolean, if true, empty versions (i.e. removed or not installed packages) will be shown as '<empty>' instead of being omitted
cupt::console::actions-preview::show-size-changes
boolean, if true, a change in the disk space usage will be shown for each package in the actions preview. False by default.
cupt::console::actions-preview::show-reasons
boolean, see cupt(1) --show-reasons
cupt::console::actions-preview::show-summary
string, tristate (``yes'', ``no'' or ``auto''), controls whether summary of planned actions will be shown in the actions preview or not. Defaults to ``yes''.

Currently, ``auto'' means that summary will be shown when there are >= 100 change entries in total.

cupt::console::actions-preview::show-versions
boolean, if true, a version will be shown for each package in the actions preview. False by default.
cupt::console::actions-preview::show-vendors
boolean, if true, a version will be shown for each package in the actions preview. False by default.
cupt::console::show-progress-messages
boolean, if true, package management actions will print stage messages (``Building a cache'', ``Resolving possible unmet dependencies'' etc.). True by default.
cupt::console::use-colors
string, specifies whether to use colors in the console interface. Defaults to ``no''.

For now concerns only the action preview.

Available values:

no
Don't use colors.
yes
Use colors.
auto
Use colors if the standard output is a terminal and a terminal type seem to allow colors.
cupt::directory
string, base directory for all cupt::directory::* options
cupt::directory::configuration
string, base directory for Cupt-specific configuration files
cupt::directory::configuration::main
string, relative file path for the Cupt main configuration file (same format as apt.conf(5))
cupt::directory::configuration::main-parts
string, relative directory path for additional Cupt configuration files (same format as apt.conf(5))
cupt::directory::configuration::pre
string, relative file path for the Cupt preconfiguration file which is read before paths of any other configuration files are calculated. This is the only place where one can effectively override default values of dir::etc and cupt::directory::configuration options and/or their suboptions. The environment variable CUPT_PRE_CONFIG overrides this option if defined.
cupt::directory::log
string, relative file path for the log file
cupt::directory::state
string, directory which contains Cupt state info
cupt::directory::state::lists
string, directory for repository indexes
cupt::downloader::max-simultaneous-downloads
integer, positive, specifies maximum number of simultaneous downloads. Defaults to 2.
cupt::downloader::protocols::protocol::priority
integer, positive, defines the priority of download protocol protocol, determines an order in which different URIs for the same file will be tried. Defaults to 100.
cupt::downloader::protocols::protocol::methods::method::priority
positive number, defines the priority of download method method, the method with maximum priority will be used for downloading the URI of protocol protocol. Defaults to 100.
cupt::downloader::protocols::protocol::methods
list, names of the methods available to download protocol protocol
cupt::languages::indexes
string, specifies localizations of what languages should be used for repository indexes. Defaults to ``environment,en''.

The value is comma-delimited (no spaces allowed) list of localization specificators. Localization specificator is either:

environment
A special string which is substituted by the current locale (precisely, by a value of the environment variable LC_MESSAGES).
none
A special string which indicates no localization.
language_code[_country_code]
A language code (for example: 'fi', 'fr', 'ru') or a language code with a country code (for example, 'pt_BR', 'zh_CN').

If the localization specificator contains a country code, the additional specificator without a country code will be implicitly used as fallback.

Localization specificators should be listed in the preference order. Duplicates are allowed but ignored.

Examples:

fi,ru,fr
Download Finnish, Russian and French translations. For every description, try to use Finnish translation; if it's not available, try to use Russian one; if it's also not available; try to use French one; else use an original one.
pt_BR
Download Portuguese (Brazil) and Portuguese localizations. Use Portuguese (Brazil) translation; if it's not available, use Portuguese translation; else use an original one.
de,environment,fr_FR
(Supposing LC_MESSAGES is 'pl_PL.UTF-8')

Download and use these translations, in the following order: German, Polish (Poland), Polish, French (France), French.

cupt::update::check-release-files
boolean, if set, Release files will be checked for the validity (including the expiration check and a signature if present) at the download stage. True by default.
cupt::update::compression-types::*::priority
integer, defines preference to download compressed files with higher priority first. 100 by default.

'*' can be 'gz', 'bz2', 'lzma', 'xz', and 'uncompressed'.

Set some option to <100 value to make it low-precedence than default, and >100 to make it high-precedence than default.

If some methods have the equal priority (which is the default setting), then files with smaller size with be chosen over the files with bigger size.

Example:

You have a low-speed CPU but rather high-speed internet connection and want to prefer gzip over lzma and lzma over bzip2. Then you have to set options like:

  cupt::update::compression-types
  {
    gz::priority "200";
    lzma::priority "150";
  }

Also, if you have a local mirror, which may store uncompressed indexes too (an official Debian archive doesn't store them), you may set also

cupt::update::compression-types::uncompressed::priority ``300'';

cupt::update::generate-index-of-index
boolean, specifies whether to build ``index-of-index'' for every Packages and Sources. If set to true, slightly increases the time of postprocessing after downloading new metadata files but speedes up significantly the initialization time for every invocation. True by default.
cupt::update::use-index-diffs
boolean, specifies whether to try downloading repository index deltas and apply them locally before downloading the full index. True by default.

When turned on, this option saves bandwidth but increases CPU and disk usage while updating. On the fast unlimited connections (say, >= 2 Mbit/s, but heavily depends on many other factors) you would likely want to turn off this option.

cupt::resolver::keep-recommends
boolean, specifies whether should resolver try to keep already installed recommended packages or not. True by default.
cupt::resolver::keep-suggests
boolean, specifies whether should resolver try to keep already installed suggested packages or not. False by default.
cupt::resolver::auto-remove
boolean, see cupt(1) --no-auto-remove
cupt::resolver::max-leaf-count
integer, specifies how many leaves the solution tree will grow before resolver will give up. -1 means infinite. -1 by default.
cupt::resolver::max-solution-count
integer, positive, see cupt(1) --max-solution-count
cupt::resolver::no-autoremove-if-rdepends-exist
list of regular expressions; if the package name matches to any of those regular expressions it will be not considered for auto-removal if there are any reverse dependencies installed. Empty by default.

Example (simplified real situation):

 Package: xserver-xorg
 Depends: xserver-xorg-video-all | xorg-driver-video
 
 Package: xserver-xorg-video-nv
 Provides: xorg-driver-video
 
 Package: xserver-xorg-video-radeon
 Provides: xorg-driver-video
 
 You have:
 xserver-xorg: manually installed
 xserver-xorg-video-all: not installed
 xserver-xorg-video-nv: automatically installed
 xserver-xorg-video-radeon: automatically installed

Both xserver-xorg-video-nv and xserver-xorg-video-radeon satisfy the dependency of xserver-xorg, so only one of them is needed in the system. Therefore, by default one of these two will be considered for auto-removal. If you add a regular expression 'xserver-xorg-video.*' to the value of this option, none of packages providing xorg-driver-video will be considered for auto-removal as long as xserver-xorg is installed.

cupt::resolver::no-remove
boolean, see cupt(1) --no-remove
cupt::resolver::synchronize-by-source-versions
string, this option controls whether and how the native resolver will attempt to keep all binary packages from the same source package at the same source version

This option uses the information from source packages. No synchronization will be performed for the versions which have not a corresponding source version in the repository.

Possible values:

none
Don't attempt to synchronize. This is the default value.
soft
Don't forbid any modifications to the packages and attempt to synchronize related binary packages when possible upon the modifications of certain binary package.
hard
Forbid any modifications to the packages when at least one related binary package cannot be synchronized with the modified one.
cupt::resolver::track-reasons
boolean, specifies whether 'suggestedPackages::reasons' is filled in the Resolver::Offer. False by default.
cupt::resolver::type
string, see cupt(1) --resolver
cupt::resolver::score::<part>
The group of integer options which control internal resolver's score calculation. Values are absolute.

<part> can be one of:

new
installing a new package
removal
removal of an existing package
removal-of-essential
removal of an existing essential package (a general removal option is applied as well)
removal-of-autoinstalled
removal of an automatically installed package (a general removal option is applied as well)
upgrade
installing a higher version of an existing package
downgrade
installing a lower version of an existing package
position-penalty
when several actions may be performed to resolve a problem, apply N penalties to N-th action (counting from 0)
quality-adjustment
the value will be added to each action's score
unsatisfied-recommends
some 'recommends' dependency is not satisfied (when requested)
unsatisfied-suggests
some 'suggests' dependency is not satisfied (when requested)
failed-synchronization
some source version synchronization cannot be performed (when cupt::resolver::synchronize-source-versions is 'soft')
version-factor::common
defines (in percents), how much version score difference affects the action score
version-factor::negative
defines (in percents) scaling of negative version scores (applied after version-factor)
version-factor::priority-downgrade
defines (in percents) scaling of version score if version priority difference is negative. For calculations regarding this factor, if there is no original version, its priority is 0, if there is no supposed version, its priority is the default priority for versions from a default package archive.
cupt::worker::archives-space-limit
integer, bytes, positive, if set, limits the worker to not download more than specified amount of archives, and use download-install-clean algorithm (download archives, install packages, clean just downloaded archives). Worker will try to split all actions into unrelated changesets so each changeset require only limited download space. Any system changes will be started only if changesets are generated successfully.
cupt::worker::defer-triggers
string, specifies whether should worker defer dpkg trigger processing to the end of the whole operation or not. When enabled, speeds up large-amount actions, but if the operation will somewhy be interrupted, leaves system in the interim trigger state, which can be fixed by manual run of 'dpkg --triggers-only --pending' command. Defaults to ``auto''.

Available values:

no
Disable deferring triggers.
yes
Enable deferring triggers.
auto
Enable deferring triggers if enough recent version of dpkg (1.16.1, where tiresome trigger-related bug (Debian BTS #526774) is fixed) is installed.
cupt::worker::download-only
boolean, see cupt(1) --download-only
cupt::worker::log
boolean, whether to log performed actions or not. True by default.
cupt::worker::log::levels::metadata
non-negative integer, the log level for the metadata updates. 1 by default.
cupt::worker::log::levels::packages
non-negative integer, the log level for the package changes (install/upgrade/remove etc.). 2 by default.
cupt::worker::log::levels::snapshots
non-negative integer, the log level for the snapshot actions. 1 by default.
cupt::worker::purge
boolean, specifies whether purge packages in addition to removing or not. False by default.
cupt::worker::simulate
boolean, see cupt(1) --simulate
cupt::worker::use-locks
boolean, specifies whether Cupt protects simultaneous runs of itself against the misuse of the common resources. True by default.

Warning! Setting this option to false will allow several non-simulating Cupt instances to break the system when misused.

debug::resolver
boolean, if true, resolver will print a lot of debug information to the standard error. False by default.
debug::worker
boolean, if true, worker will print some debug information to the standard error. False by default.
debug::gpgv
boolean, if true, cache will print some debug information while verifying signatures to the standard error. False by default.
debug::downloader
boolean, if true, the downloader manager will print some debug messages. False by default.
debug::logger
boolean, if true, the logger will print some debug messages. False by default.