tlbuild: tlmgr CONFIGURATION FILE FOR TLMGR
B.7 CONFIGURATION FILE FOR TLMGR
================================
'tlmgr' reads two configuration files: one is system-wide, in
'TEXMFSYSCONFIG/tlmgr/config', and the other is user-specific, in
'TEXMFCONFIG/tlmgr/config'. The user-specific one is the default for
the 'conf tlmgr' action. (Run 'kpsewhich -var-value=TEXMFSYSCONFIG' or
'... TEXMFCONFIG ...' to see the actual directory names.)
A few defaults corresponding to command-line options can be set in
these configuration files. In addition, the system-wide file can
contain a directive to restrict the allowed actions.
In these config files, empty lines and lines starting with # are
ignored. All other lines must look like:
key = value
where the spaces are optional but the '=' is required.
The allowed keys are:
'auto-remove', value 0 or 1 (default 1), same as command-line option.
'gui-expertmode', value 0 or 1 (default 1). This switches between the full GUI and a simplified GUI with only the most common settings.
'gui-lang' _llcode_, with a language code value as with the command-line option.
'no-checksums', value 0 or 1 (default 0, see below).
'persistent-downloads', value 0 or 1 (default 1), same as command-line option.
'require-verification', value 0 or 1 (default 0), same as command-line option.
'tkfontscale', value any float. Controls the scaling of fonts in the Tk based frontends.
'update-exclude', value: comma-separated list of packages (no space allowed). Same as the command line option '--exclude' for the action 'update'.
'verify-downloads', value 0 or 1 (default 1), same as command-line option.
The system-wide config file can contain one additional key:
'allowed-actions' _action1_ [,_action_,...] The value is a comma-separated list of 'tlmgr' actions which are allowed to be executed when 'tlmgr' is invoked in system mode (that is, without '--usermode').
This allows distributors to include the 'tlmgr' in their packaging,
but allow only a restricted set of actions that do not interfere
with their distro package manager. For native TeX Live
installations, it doesn't make sense to set this.
The 'no-checksums' key needs more explanation. By default, package
checksums computed and stored on the server (in the TLPDB) are compared
to checksums computed locally after downloading. 'no-checksums'
disables this process.
The checksum algorithm is SHA-512. Your system must have one of
(looked for in this order) the Perl 'Digest::SHA' module, the 'openssl'
program (<https://openssl.org>), the 'sha512sum' program (from GNU
Coreutils, <https://www.gnu.org/software/coreutils>), or finally the
'shasum' program (just to support old Macs). If none of these are
available, a warning is issued and 'tlmgr' proceeds without checking
checksums. (Incidentally, other SHA implementations, such as the pure
Perl and pure Lua modules, are much too slow to be usable in our
context.) 'no-checksums' avoids the warning.