Skip to content

Commit a15b9b9

Browse files
committed
data/xbps.7: add an introductory manpage
this gives an overview of the project, including the basic uses of various tools and some core concepts.
1 parent d5a5630 commit a15b9b9

File tree

1 file changed

+167
-0
lines changed

1 file changed

+167
-0
lines changed

data/xbps.7

Lines changed: 167 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,167 @@
1+
.Dd May 20, 2025
2+
.Dt XBPS 7
3+
.Os
4+
.Sh NAME
5+
.Nm xbps
6+
.Nd Introduction and concepts
7+
.Sh DESCRIPTION
8+
The X Binary Package System (XBPS) is a binary package system designed and implemented from scratch.
9+
Its goal is to be fast, easy to use, bug-free, featureful and portable as much as possible.
10+
11+
The primary interface of XBPS is its suite of tools, including
12+
.Xr xbps-install 1
13+
for installing packages,
14+
.Xr xbps-remove 1
15+
for removing packages, and
16+
.Xr xbps-query 1
17+
for searching repositories and querying package properties.
18+
A C library is also available, called
19+
.Em libxbps .
20+
.Sh PACKAGES
21+
An XBPS package is a compressed archive of the package's files and metadata.
22+
23+
Packages can also include scripts that run during installation and removal, during the
24+
.Dq configuration
25+
phase.
26+
These scripts can be re-run with
27+
.Nm xbps-reconfigure Fl f .
28+
29+
Packages can be checked for issues with
30+
.Xr xbps-pkgdb 1 .
31+
If a package reports errors, it should be reinstalled with
32+
.Nm xbps-install Fl f .
33+
34+
Packages can mark files as
35+
.Em conf_files ,
36+
which will prevent them from being replaced upon package update if modified.
37+
.Sh PACKAGE EXPRESSIONS
38+
Packages can be referred to in several ways.
39+
A package expression is a form to match a pattern; currently xbps
40+
supports 3 ways to specify them:
41+
.Bl -dash
42+
.It
43+
by package name, i.e:
44+
.Dq Sy foo .
45+
.It
46+
by exact package name and version, i.e:
47+
.Dq Sy foo-1.0_1 .
48+
.It
49+
by specifying a package name and version separated by any of the following version comparators:
50+
.Pp
51+
.Bl -item -compact
52+
.It
53+
.Sy <
54+
less than
55+
.It
56+
.Sy >
57+
greater than
58+
.It
59+
.Sy <=
60+
less or equal than
61+
.It
62+
.Sy >=
63+
greater or equal than
64+
.Pp
65+
Example:
66+
.Dq Sy foo>=2.0 .
67+
.El
68+
.El
69+
.Pp
70+
The first repository matching the package expression wins.
71+
.Sh PACKAGE MODES
72+
An installed package can have some specific modes of operation.
73+
Package modes can be changed with
74+
.Xr xbps-pkgdb 1 .
75+
Currently the following modes are available:
76+
.Bl -tag -width -x
77+
.It Sy hold
78+
The package is on hold mode.
79+
Packages in this mode won't be updated unless
80+
it's explicitely declared to be updated.
81+
The only way to update packages in this mode is by using the
82+
.Fl f , Fl -force
83+
option.
84+
To list packages in this mode use
85+
.Nm xbps-query Fl H .
86+
.It Sy manual
87+
The package is in manual mode of installation and won't be considered for
88+
removal when running
89+
.Nm xbps-remove Fl o .
90+
To list packages in this mode use
91+
.Nm xbps-query Fl m .
92+
.It Sy repolock
93+
A package in repolock mode will only accept updates that are available in the
94+
same repository that was used for installing.
95+
To list packages in this mode use
96+
.Nm xbps-query Fl -list-repolock-pkgs .
97+
.El
98+
.Sh REPOSITORIES
99+
An XBPS repository is a directory containing XBPS packages and an
100+
.Em <arch>-repodata
101+
repository index file.
102+
If the repository is remote (served via a web server), packages must be RSA-signed.
103+
104+
In XBPS configuration and command-line flags, repositories are specified by a complete url or absolute path to the directory where the
105+
.Em <arch>-repodata
106+
resides.
107+
To synchronize configured remote repositories locally, use
108+
.Nm xbps-install Fl S .
109+
110+
Repositories are created and managed with
111+
.Xr xbps-rindex 1 .
112+
.Sh FILES
113+
.Bl -tag -width /var/db/xbps/.<pkgname>-files.plist
114+
.It Ar /etc/xbps.d
115+
Default configuration directory.
116+
See also
117+
.Xr xbps.d 5 .
118+
.It Ar /usr/share/xbps.d
119+
Default system configuration directory.
120+
See also
121+
.Xr xbps.d 5 .
122+
.It Ar /var/db/xbps/.<pkgname>-files.plist
123+
Package files metadata.
124+
.It Ar /var/db/xbps/pkgdb-0.38.plist
125+
Default package database (0.38 format).
126+
Keeps track of installed packages and properties.
127+
.It Ar /var/cache/xbps
128+
Default cache directory to store downloaded binary packages.
129+
.El
130+
.Sh ENVIRONMENT
131+
.Bl -tag -width XBPS_TARGET_ARCH
132+
.It Sy XBPS_ARCH
133+
Overrides
134+
.Xr uname 2
135+
machine result with this value.
136+
.It Sy XBPS_TARGET_ARCH
137+
Sets the target architecture to this value.
138+
.It Sy XBPS_SYSLOG
139+
Overrides the
140+
.Xr xbps.d 5
141+
.Sy syslog=true|false
142+
configuration option.
143+
.El
144+
.Sh SEE ALSO
145+
.Xr xbps-alternatives 1 ,
146+
.Xr xbps-create 1 ,
147+
.Xr xbps-dgraph 1 ,
148+
.Xr xbps-fbulk 1 ,
149+
.Xr xbps-fetch 1 ,
150+
.Xr xbps-install 1 ,
151+
.Xr xbps-pkgdb 1 ,
152+
.Xr xbps-query 1 ,
153+
.Xr xbps-reconfigure 1 ,
154+
.Xr xbps-remove 1 ,
155+
.Xr xbps-rindex 1 ,
156+
.Xr xbps.d 5 ,
157+
.Lk https://github.com/void-linux/xbps ,
158+
.Lk https://xbps-api-docs.voidlinux.org
159+
.Sh AUTHORS
160+
.An Juan Romero Pardines Aq Mt [email protected]
161+
.An Duncan Overbruck Aq Mt [email protected]
162+
.Sh BUGS
163+
Probably, but I try to make this not happen. Use it under your own
164+
responsibility and enjoy your life.
165+
.Pp
166+
Report bugs at
167+
.Lk https://github.com/void-linux/xbps/issues

0 commit comments

Comments
 (0)