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:

SubcommandFungsi
binary-bootstrapSetup masterdir dari biner (sekali saja)
bootstrap-updateUpdate masterdir ke versi terbaru
pkg <nama>Build paket
clean <nama>Bersihkan build directory paket
cleanallBersihkan seluruh masterdir
install <nama>Build dan install paket ke masterdir
remove <nama>Hapus paket dari masterdir
listTampilkan 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
chrootMasuk 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:

BackendDefaultKeterangan
xbps-uunshareYaTidak perlu root, menggunakan user namespaces
xbps-uchrootTidakPerlu grup xbuilder, performa lebih baik
prootTidakTidak 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:


@T4n-Labs · @Gh0sT4n