.Dd Feb 9, 2023 .Dt XBPS-D 5 .Os .Sh NAME .Nm xbps.d .Nd XBPS configuration directory .Sh SYNOPSIS .Bl -item -compact .It /etc/xbps.d/*.conf .It /usr/share/xbps.d/*.conf .El .Sh DESCRIPTION The .Nm configuration directory sets properties for the XBPS package manager. The .Sy configuration directory, by default set to .Sy /etc/xbps.d overrides settings from files available in the .Sy system configuration directory, by default set to .Sy /usr/share/xbps.d . .Pp Files in the .Sy configuration directory have preference over files in the .Sy system configuration directory. .Pp Only files with the .Em .conf extension will be processed in alphabetical order. .Pp The configuration files can set various .Em keywords , using the syntax .Sy `key=value` . No whitespace between the .Em key and its .Em value is allowed, nor trailing whitespaces after its value. Multiple entries are permitted for the .Sy ignorepkg , .Sy include , .Sy noextract , .Sy preserve , .Sy repository and .Sy virtualpkg keywords, but each entry must specify only one value. .Sh KEYWORDS .Bl -tag -width -x .It Sy architecture=string Overrides the native machine architecture, as reported by .Xr uname 2 . .It Sy bestmatching=true|false When this keyword is enabled, a package with the greatest version available in all registered repositories will be chosen. This will be applied to dependencies as well. .It Sy cachedir=path Sets the default cache directory to store downloaded binary packages from remote repositories, as well as its signatures. If path starts with '/' it's an absolute path, otherwise it will be relative to .Ar rootdir . .It Sy ignorepkg=pkgname Declares an ignored package. If a package depends on an ignored package the dependency is always satisfied, without installing the ignored package. It does not disable checks for introduced incompatibilities like shared library dependencies. .It Sy noextract=pattern Skip extraction of matching files. Patterns starting with a exclamation mark negate the previous match, a single backslash can be used to escape the exclamation mark. .Pp In the following example all files matching the first pattern will not be extracted, but files that also match the second pattern will still be extracted. .Pp .Bl -tag -compact -width noextract=!/usr/bin/foo .It Sy noextract=/usr/bin/f* .It Sy noextract=!/usr/bin/foo .El .It Sy include=path/file.conf Imports settings from the specified configuration file. .Em NOTE only one level of nesting is allowed. .It Sy preserve=path If set ignores modifications to the specified files, while unpacking packages. Absolute path to a file and file globbing are supported, example: .Pp .Bl -tag -compact -width preserve=/etc/foo/*.conf .It Sy preserve=/usr/bin/foo .It Sy preserve=/etc/foo/*.conf .El .It Sy keepconf=true|false If set to false (default), xbps will overwrite configuration files that have not been changed since installation with their new version (if available). .Pp If set to true, xbps will not overwrite configuration files that have not been changed since installation. Instead, the new version (if available) is saved next to the configuration file as .new-. .Pp .It Sy repository=url Declares a package repository. The .Ar url argument accepts local and remote repositories. A complete url or absolute path to the directory that stores the .Em -repodata archive is expected. Note that remote repositories must be signed using .Xr xbps-rindex 1 , example: .Pp .Bl -tag -compact -width repository=https://a-hel-fi.m.voidlinux.org/current .It Sy repository=https://a-hel-fi.m.voidlinux.org/current .It Sy repository=/hostdir/binpkgs .El .It Sy rootdir=path Sets the default root directory. .It Sy syslog=true|false Enables or disables syslog logging. Enabled by default. .It Sy virtualpkg=[vpkgname|vpkgver]:pkgname Declares a virtual package. A virtual package declaration is composed by two components delimited by a colon, example: .Pp .Bl -tag -compact -width virtualpkg=cron-daemon:dcron .It Sy virtualpkg=cron-daemon:dcron Any request to the .Ar cron-daemon virtual package will be resolved to the .Ar dcron real package. .El .Pp The first component expects a .Em virtual package name and optionally its version component . The second component expects a .Em package name to match the real package. .El .Sh ENVIRONMENT .Bl -tag -width XBPS_TARGET_ARCH .It Sy XBPS_ARCH Overrides .Xr uname 2 machine result with this value. Useful to install packages with a fake architecture. .It Sy XBPS_TARGET_ARCH Sets the target architecture to this value. This variable differs from .Sy XBPS_ARCH in that it allows you to install packages partially, because configuration phase is skipped (the target binaries might not be compatible with the native architecture). .El .Sh FILES .Bl -tag -width /var/db/xbps/.-files.plist .It Ar /etc/xbps.d Default configuration directory. .It Ar /usr/share/xbps.d Default system configuration directory. .It Ar /var/db/xbps/.-files.plist Package files metadata. .It Ar /var/db/xbps/pkgdb-0.38.plist Default package database (0.38 format). Keeps track of installed packages and properties. .It Ar /var/cache/xbps Default cache directory to store downloaded binary packages. .It Ar /usr/share/xbps.d/xbps.conf Annotated sample configuration file. .El .Sh SEE ALSO .Xr xbps-alternatives 1 , .Xr xbps-checkvers 1 , .Xr xbps-create 1 , .Xr xbps-dgraph 1 , .Xr xbps-digest 1 , .Xr xbps-fbulk 1 , .Xr xbps-fetch 1 , .Xr xbps-install 1 , .Xr xbps-pkgdb 1 , .Xr xbps-query 1 , .Xr xbps-reconfigure 1 , .Xr xbps-remove 1 , .Xr xbps-rindex 1 , .Xr xbps-uchroot 1 , .Xr xbps-uunshare 1 .Sh AUTHORS .An Juan Romero Pardines Aq Mt xtraeme@gmail.com .Sh BUGS Probably, but I try to make this not happen. Use it under your own responsibility and enjoy your life. .Pp Report bugs at .Lk https://github.com/void-linux/xbps/issues