xbps-src
xbps-src adalah sistem build paket untuk Void Linux, bagian dari repositori void-packages. Digunakan untuk membangun paket .xbps dari source menggunakan template yang disebut template.
Prasyarat
git clone https://github.com/void-linux/void-packages.git
cd void-packages
./xbps-src binary-bootstrap
binary-bootstrap menyiapkan environment build (masterdir) menggunakan paket biner dari repositori resmi Void. Ini hanya perlu dijalankan sekali.
Penggunaan Dasar
./xbps-src <subcommand> [OPSI] [PKG ...]
Subcommand yang paling sering digunakan:
| Subcommand | Fungsi |
|---|---|
binary-bootstrap | Setup masterdir dari biner (sekali saja) |
bootstrap-update | Update masterdir ke versi terbaru |
pkg <nama> | Build paket |
clean <nama> | Bersihkan build directory paket |
cleanall | Bersihkan seluruh masterdir |
install <nama> | Build dan install paket ke masterdir |
remove <nama> | Hapus paket dari masterdir |
list | Tampilkan paket yang terinstall di masterdir |
show <nama> | Tampilkan informasi template paket |
show-deps <nama> | Tampilkan dependensi build paket |
show-build-deps <nama> | Tampilkan dependensi build saja |
lint <nama> | Validasi template paket |
fetch <nama> | Unduh source paket tanpa build |
extract <nama> | Unduh dan ekstrak source tanpa build |
chroot | Masuk ke environment build (masterdir) via shell |
Contoh Penggunaan
Build paket:
./xbps-src pkg neovim
Install hasil build:
sudo xbps-install --repository=path/to/hostdir/binpkgs neovim
Build paket restricted:
echo 'XBPS_ALLOW_RESTRICTED=yes' >> etc/conf
./xbps-src pkg <nama-paket-restricted>
Build untuk arsitektur lain (cross-compile):
./xbps-src -a aarch64 pkg neovim
Masuk ke environment build untuk debugging:
./xbps-src chroot
Struktur Direktori
void-packages/
├── xbps-src
├── srcpkgs/ # Template semua paket
│ └── <pkgname>/
│ └── template # Definisi build paket
├── hostdir/
│ ├── binpkgs/ # Hasil build (.xbps)
│ └── sources/ # Cache source yang diunduh
├── masterdir-arch/ # Environment build (chroot)
├── common/ # Utilitas xbps-src
└── etc/
└── conf # Konfigurasi lokal xbps-src
Konfigurasi (etc/conf)
Opsi umum yang dapat ditambahkan ke etc/conf:
# Gunakan xbps-uchroot sebagai backend (default: xbps-uunshare)
XBPS_CHROOT_CMD=uchroot
# Izinkan build paket restricted
XBPS_ALLOW_RESTRICTED=yes
# Jumlah job paralel saat build
XBPS_MAKEJOBS=4
# Arsitektur target untuk cross-compile
XBPS_CROSS_BUILD=aarch64
Backend Chroot
xbps-src mendukung beberapa backend untuk environment build:
| Backend | Default | Keterangan |
|---|---|---|
xbps-uunshare | Ya | Tidak perlu root, menggunakan user namespaces |
xbps-uchroot | Tidak | Perlu grup xbuilder, performa lebih baik |
proot | Tidak | Tidak perlu hak khusus, lebih lambat |
Dokumentasi Lengkap
Dokumentasi resmi dan lengkap xbps-src — termasuk cara menulis template, variabel build, hooks, dan cross-compilation — tersedia di: