xbps/data/xbps.d.5
Duncaen d1667fd931 Add the ability to ignore packages
The previous idea was to use virtual packages in the users configuration
to satisfy dependencies by mapping them to existing installed packages.
Using virtual packages for it doesn't work as expected and trying to make
it work would break other functionalities of virtual packages, like the
version satisfaction checks for `provides` and the ability to replace
virtual packages with real packages. The virtual package functionality
should be used exclusively for virtual packages.

This allows users to specify packages packages that should be ignored.
Ignored packages in dependencies are always satisfied without installing
the package, while updating or installing a package that depends on an
ignored package.

This does NOT ignore the shlib checks, ignoring a package that provides
required shared libraries will abort the transaction as if there was no
package that provides the required shared library.
2019-04-19 23:07:59 +02:00

158 lines
4.4 KiB
Groff

.Dd December 30, 2014
.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 multiple
.Em keywords
that are pairs of keys and values, such as
.Sy `key=value` .
No whitespace between the
.Em key
and its
.Em value
is allowed, nor trailing whitespaces after its 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 a ignored package.
If a package depends on an ignored package the dependency is always satisfied,
without installing the ignored package.
.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 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://repo.voidlinux.eu/current
.It Sy repository=https://repo.voidlinux.eu/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.
.El
.Sh SEE ALSO
.Xr xbps-checkvers 1 ,
.Xr xbps-create 1 ,
.Xr xbps-dgraph 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