xbps-uhelper adalah utilitas helper XBPS untuk mengolah string paket, versi, dan pola dependensi. Lebih ditujukan untuk scripting dan pengembangan paket daripada penggunaan sehari-hari.
xbps-uhelper [OPSI] ACTION [ARGUMEN ...]
Action Argumen Output
getpkgname<pkgver...>Nama paket dari string pkgver
getpkgversion<pkgver...>Versi dari string pkgver
getpkgrevision<pkgver...>Revisi dari string pkgver
getname<pkgver\|dep...>Nama paket — bisa dari pkgver atau pola dep
getversion<pkgver\|dep...>Versi — bisa dari pkgver atau constraint dep
Action Argumen Output
getpkgdepname<dep...>Nama paket dari pola dependensi
getpkgdepversion<dep...>Constraint versi dari pola dependensi
Action Argumen Output
cmpver<instver> <reqver>Bandingkan dua string versi — lihat exit codes di bawah
pkgmatch<pkgver> <pkgpattern>Cek apakah pkgver cocok dengan pola
Action Argumen Output
version<pkgname...>Versi paket yang terinstall
real-version<pkgname...>Versi "real" (relevan untuk virtual/metapackage)
Action Argumen Output
arch- Arsitektur native XBPS
getsystemdir- Direktori konfigurasi sistem (/usr/share/xbps.d)
binpkgarch<binpkg...>Arsitektur dari file paket biner
binpkgver<binpkg...>pkgver dari file paket biner
Flag Keterangan
-C, --config <dir>Tentukan direktori konfigurasi XBPS
-r, --rootdir <dir>Tentukan direktori root target
-v, --verboseTampilkan hasil perbandingan ke stdout (untuk cmpver dan pkgmatch)
-d, --debugTampilkan informasi debug ke stderr
-V, --versionTampilkan versi XBPS
xbps-uhelper getpkgname firefox-120.0_1
# firefox
xbps-uhelper getpkgversion firefox-120.0_1
# 120.0
xbps-uhelper getpkgrevision firefox-120.0_1
# 1
getname dan getversion lebih fleksibel — bisa menangani pkgver maupun pola dependensi:
xbps-uhelper getname firefox-120.0_1
# firefox
xbps-uhelper getname 'gtk+>=3.0'
# gtk+
xbps-uhelper getpkgdepname 'gtk+>=3.0'
# gtk+
xbps-uhelper getpkgdepversion 'gtk+>=3.0'
# >=3.0
xbps-uhelper cmpver 'foo-1.0_1' 'foo-2.0_1'
echo $? # 1 → instver < reqver
xbps-uhelper cmpver 'foo-2.0_1' 'foo-1.0_1'
echo $? # 255 → instver > reqver
xbps-uhelper -v cmpver 'foo-1.0_1' 'foo-2.0_1'
# 1.0 < 2.0
Exit codes cmpver:
Exit Code Arti
0instver == reqver
1instver < reqver
255instver > reqver
xbps-uhelper pkgmatch firefox-120.0_1 'firefox>=100.0'
echo $? # 1 → match
xbps-uhelper pkgmatch firefox-1.0_1 'firefox>=100.0'
echo $? # 0 → tidak match
xbps-uhelper -v pkgmatch firefox-1.0_1 'firefox>=100.0'
# firefox-1.0_1 does not match firefox>=100.0
Exit codes pkgmatch:
Exit Code Arti
1Match
0Tidak match
255Error
xbps-uhelper arch
# x86_64
xbps-uhelper getsystemdir
# /usr/share/xbps.d
xbps-uhelper version firefox xbps
# 120.0_1
# 0.68_1
Action digest dan fetch masih tersedia di xbps-uhelper untuk kompatibilitas mundur dengan skrip lama, meski tidak dicantumkan di --help. Disarankan menggunakan utilitas mandiri yang lebih baru:
Action Lama Ganti Dengan
xbps-uhelper digest <file>xbps-digest
xbps-uhelper fetch <url>xbps-fetch
Semua operasi bersifat case-sensitive.
Exit codes cmpver dan pkgmatch berbeda dari konvensi Unix standar — 1 bukan berarti error, tapi memiliki arti semantik sendiri. Perhatikan ini saat scripting.
Gunakan flag -v untuk mendapatkan output teks dari cmpver dan pkgmatch, bukan hanya exit code.