50fb2017d0
I can never remember which retval means which thing. This only prints if -v/--verbose is specified. Examples: ``` $ ./bin/xbps-uhelper/xbps-uhelper -v cmpver 1 2 ; echo ret: $? 1 < 2 ret: 255 $ ./bin/xbps-uhelper/xbps-uhelper -v cmpver 1 1 ; echo ret: $? 1 = 1 ret: 0 $ ./bin/xbps-uhelper/xbps-uhelper -v cmpver 2 1 ; echo ret: $? 2 > 1 ret: 1 $ ./bin/xbps-uhelper/xbps-uhelper -v pkgmatch 'foo-1.0_1' 'foo>=0' ; echo ret: $? foo-1.0_1 matches foo>=0 ret: 1 $ ./bin/xbps-uhelper/xbps-uhelper -v pkgmatch 'foo-1.0_1' 'foo<0.1_1' ; echo ret: $? foo-1.0_1 does not match foo<0.1_1 ret: 0 ``` it also seems that getting an error from pkgmatch is currently impossible
289 lines
5.8 KiB
Groff
289 lines
5.8 KiB
Groff
.Dd Feb 11, 2023
|
|
.Dt XBPS-UHELPER 1
|
|
.Os
|
|
.Sh NAME
|
|
.Nm xbps-uhelper
|
|
.Nd XBPS helper utilities
|
|
.Sh SYNOPSIS
|
|
.Nm
|
|
.Op OPTIONS
|
|
.Ar ACTION
|
|
.Op ARGUMENTS
|
|
.Sh DESCRIPTION
|
|
The
|
|
.Nm
|
|
utility provides various utilities for interacting with XBPS and XBPS packages.
|
|
.Sh ARGUMENT TYPES
|
|
.Ss BINPKG
|
|
A
|
|
.Ar binpkg
|
|
argument is a string of the format
|
|
.Em <pkgname>-<version>_<revision>.<arch>.xbps ,
|
|
like the filename of a binary package.
|
|
.Ss PKGVER
|
|
A
|
|
.Ar pkgver
|
|
argument is a string of the format
|
|
.Em <pkgname>-<version>_<revision> ,
|
|
like the
|
|
.Em pkgver
|
|
property.
|
|
.Ss PKGPATTERN
|
|
A
|
|
.Ar pkgpattern
|
|
argument is package expression specifying a package name and version separated
|
|
by any of the following version comparators:
|
|
.Pp
|
|
.Bl -tag -width xx -compact
|
|
.It Sy <
|
|
less than
|
|
.It Sy >
|
|
greater than
|
|
.It Sy <=
|
|
less or equal than
|
|
.It Sy >=
|
|
greater or equal than
|
|
.Pp
|
|
.El
|
|
Example:
|
|
.Dq Sy foo>=2.0 .
|
|
.Sh OPTIONS
|
|
.Bl -tag -width -x
|
|
.It Fl C, Fl -config Ar dir
|
|
Specifies a path to the XBPS configuration directory.
|
|
If the first character is not '/' then it's a relative path of
|
|
.Ar rootdir .
|
|
.It Fl d, Fl -debug
|
|
Enables extra debugging shown to stderr.
|
|
.It Fl h, Fl -help
|
|
Show the help message.
|
|
.It Fl r, Fl -rootdir Ar dir
|
|
Specifies a full path for the target root directory.
|
|
.It Fl v, Fl -verbose
|
|
Enables verbose messages.
|
|
.It Fl V, Fl -version
|
|
Show the version information.
|
|
.El
|
|
.Sh ACTIONS
|
|
.Bl -tag -width xx
|
|
.It Cm arch
|
|
Prints the XBPS native arch.
|
|
.It Cm binpkgarch Ar binpkg ...
|
|
Prints the arch of
|
|
.Ar binpkg
|
|
strings.
|
|
.It Cm binpkgver Ar binpkg ...
|
|
Prints the pkgver of
|
|
.Ar binpkg
|
|
strings.
|
|
.It Cm cmpver Ar instver Ar reqver
|
|
Compare two
|
|
.Ar pkgver
|
|
strings,
|
|
.Ar instver
|
|
(installed) vs
|
|
.Ar reqver
|
|
(required).
|
|
See
|
|
.Sx EXIT STATUS
|
|
for more information.
|
|
If
|
|
.Fl -verbose
|
|
is specified, also prints
|
|
.Qo
|
|
.Ar instver
|
|
<|=|>
|
|
.Ar reqver
|
|
.Qc .
|
|
.It Cm getname Ar string ...
|
|
Prints the pkgname of
|
|
.Ar pkgpatterns
|
|
and/or
|
|
.Ar pkgvers .
|
|
This is a combination of
|
|
.Cm getpkgdepname
|
|
and
|
|
.Cm getpkgname .
|
|
.It Cm getversion Ar string ...
|
|
Prints the version of
|
|
.Ar pkgpatterns
|
|
and/or
|
|
.Ar pkgvers .
|
|
This is a combination of
|
|
.Cm getpkgdepversion
|
|
and
|
|
.Cm getpkgversion .
|
|
.It Cm getpkgdepname Ar pkgpattern ...
|
|
Prints the pkgname of package dependency patterns.
|
|
.It Cm getpkgdepversion Ar pkgpattern
|
|
Prints the version of package dependency patterns.
|
|
.It Cm getpkgname Ar pkgver ...
|
|
Prints the name of package strings.
|
|
.It Cm getpkgrevision Ar pkgver ...
|
|
Prints the revision of package strings.
|
|
.It Cm getpkgversion Ar pkgver ...
|
|
Prints the version of package strings.
|
|
.It Cm getsystemdir
|
|
Prints the xbps system directory
|
|
.Po
|
|
.Pa <sharedir>/xbps.d
|
|
.Pc .
|
|
.It Cm pkgmatch Ar pkgver Ar pkgpattern
|
|
Matches a
|
|
.Ar pkgver
|
|
with a
|
|
.Ar pkgpattern .
|
|
See
|
|
.Sx EXIT STATUS
|
|
for more information.
|
|
If
|
|
.Fl -verbose
|
|
is specified, also prints
|
|
.Qo
|
|
.Ar pkgver
|
|
matches|does not match
|
|
.Ar pkgpattern
|
|
.Qc ,
|
|
or an error.
|
|
.It Cm real-version Ar pkgname ...
|
|
Prints the version of installed real packages.
|
|
.It Cm version Ar pkgname ...
|
|
Prints the version of installed packages.
|
|
.El
|
|
.Sh EXIT STATUS
|
|
.Ex -std
|
|
Exceptions to this are:
|
|
.Bl -tag -width xx
|
|
.It Cm cmpver Ar instver Ar reqver
|
|
.Bl -tag -width xxx -compact
|
|
.It 1
|
|
if
|
|
.Ar instver
|
|
is greater than
|
|
.Ar reqver .
|
|
.It 0
|
|
if
|
|
.Ar instver
|
|
is equal to
|
|
.Ar reqver .
|
|
.It 255
|
|
if
|
|
.Ar instver
|
|
is less than
|
|
.Ar reqver .
|
|
.El
|
|
.It Cm pkgmatch Ar pkgver Ar pkgpattern
|
|
.Bl -tag -width xxx -compact
|
|
.It 1
|
|
.Ar pkgver
|
|
matches
|
|
.Ar pkgpattern .
|
|
.It 0
|
|
.Ar pkgver
|
|
does not match
|
|
.Ar pkgpattern .
|
|
.It 255
|
|
An error occurred.
|
|
.El
|
|
.El
|
|
.Sh EXAMPLES
|
|
Compare package versions:
|
|
.Pp
|
|
.Dl $ xbps-uhelper cmpver 'foo-1.0_1' 'foo-2.1_1'
|
|
.Dl $ xbps-uhelper cmpver 1.0 2.1
|
|
.Pp
|
|
Get the package name for dependency pattern
|
|
.Dq foo>=0 :
|
|
.Pp
|
|
.Dl $ xbps-uhelper getpkgdepname 'foo>=0'
|
|
.Pp
|
|
Get the version expression for the dependency pattern
|
|
.Dq foo>=0 :
|
|
.Pp
|
|
.Dl $ xbps-uhelper getpkgdepversion 'foo>=0'
|
|
.Pp
|
|
Get the package name for pkgver
|
|
.Dq foo-2.0_1 :
|
|
.Pp
|
|
.Dl $ xbps-uhelper getpkgname foo-2.0_1
|
|
.Pp
|
|
Get the revision for pkgver
|
|
.Dq foo-2.0_1 :
|
|
.Pp
|
|
.Dl $ xbps-uhelper getpkgrevision foo-2.0_1
|
|
.Pp
|
|
Get the version for pkgver
|
|
.Dq foo-2.0_1 :
|
|
.Pp
|
|
.Dl $ xbps-uhelper getpkgversion foo-2.0_1
|
|
.Pp
|
|
Check if the pkgver
|
|
.Dq foo-1.0_1
|
|
matches the dependency pattern
|
|
.Dq foo>=1.0 :
|
|
.Pp
|
|
.Dl $ xbps-uhelper pkgmatch foo-1.0_1 'foo>=1.0'
|
|
.Pp
|
|
Get the version for the installed package
|
|
.Dq foo :
|
|
.Pp
|
|
.Dl $ xbps-uhelper version foo
|
|
.Pp
|
|
Get the names of packages from a list of pkgvers:
|
|
.Pp
|
|
.Dl $ xbps-query -Rp pkgver -s foo | cut -d: -f1 | xargs xbps-uhelper getpkgname
|
|
.Pp
|
|
Get the names of dependencies for a package:
|
|
.Pp
|
|
.Dl $ xbps-query -Rp run_depends xf86-video-amdgpu | xargs xbps-uhelper getname
|
|
.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-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 ,
|
|
.Xr xbps.d 5
|
|
.Sh AUTHORS
|
|
.An Juan Romero Pardines Aq Mt xtraeme@gmail.com
|
|
.Sh BUGS
|
|
Report bugs at
|
|
.Lk https://github.com/void-linux/xbps/issues
|