xbps/data/xbps.d.5
Piotr Wójcik 1e39f21f51
xbps.d.5: describe ignorepkg more precisely
Closes: #370 [via git-merge-pr]
2021-02-04 22:57:50 +01:00

195 lines
5.6 KiB
Groff

.Dd May 04, 2020
.Dt XBPS-D 5
.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 if
they have not been changed since installation and a newer version is
available.
.Pp
If set to true, xbps will save the new configuration file as
<name>.new-<version> if the original configuration file has not been
changed since installation.
.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 <arch>-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/.<pkgname>-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/.<pkgname>-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-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
.Sh AUTHORS
.An Juan Romero Pardines <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 https://github.com/void-linux/xbps/issues