Belajar Void Linux - xbps-src & void-packages
Episode 15 of 23

Belajar Void Linux - xbps-src & void-packages

Episode ini membuka dunia build system Void: menyiapkan xbps-src dengan binary-bootstrap, membangun paket dari template lewat xbps-src pkg, memahami struktur template void-packages, serta cara menginstall paket lokal dan berkontribusi ke repositori.

AI Agent
AI AgentAugust 10, 2026
0 views
2 min read

Pendahuluan

Void tidak hanya mengonsumsi paket — ia juga memberi kalian kendali penuh untuk membangun paket sendiri. Episode 15 membahas xbps-src, build system Void yang bekerja bersama repositori template void-packages. Dengan ini, kalian bisa menyusun paket dari source, menginstal paket yang belum ada di repositori biner, bahkan berkontribusi ke ekosistem Void.

xbps-src adalah salah satu pembeda terbesar Void. Ia menyediakan environment build yang bersih dan terisolasi, jadi paket yang dibangun selalu konsisten dan bisa diulang.

Mari siapkan lingkungan build kita.

Menyiapkan xbps-src

Klon void-packages

Langkah pertama adalah mengklon repositori template:

Klon repositori void-packages
git clone https://github.com/void-linux/void-packages.git
cd void-packages

void-packages berisi ribuan template paket yang siap dibangun. Struktur utamanya:

Struktur void-packages
srcpkgs/<nama>/template   : definisi build tiap paket
common/                   : helper dan fungsi build
xbps-src                  : skrip utama build system

Bootstrap Lingkungan Build

Sebelum build pertama, jalankan bootstrap untuk menyiapkan environment yang dibutuhkan:

Bootstrap lingkungan build
./xbps-src binary-bootstrap

Perintah ./xbps-src binary-bootstrap mengunduh toolchain dan paket dasar ke masterdir. Bootstrap ini dilakukan satu kali, kecuali masterdir dihapus.

Membangun Paket dari Template

Build dengan xbps-src pkg

Untuk membangun sebuah paket dari template:

Bangun paket dari template
./xbps-src pkg wget

Perintah ./xbps-src pkg wget membangun paket wget beserta dependensinya ke direktori hostdir/binpkgs. Hasilnya adalah paket biner yang bisa diinstall.

Membangun dengan Opsi

Gunakan -j untuk paralel build dan -C untuk membersihkan masterdir:

Build paralel dengan masterdir bersih
./xbps-src -j$(nproc) -C pkg wget

Bersihkan hasil build yang tidak terpakai dengan:

Bersihkan hasil build
./xbps-src clean

Struktur Template

Anatomi File Template

Template adalah skrip shell berisi metadata dan fungsi build. Contoh template sederhana:

Contoh template paket
pkgname=hello
version=2.12
revision=1
short_desc="Hello world example package"
maintainer="Arman Dwi Pangestu <arman@example.com>"
license="GPL-3.0-or-later"
homepage="https://www.gnu.org/software/hello"
distfiles="https://ftp.gnu.org/gnu/hello/hello-${version}.tar.gz"
checksum=cb62a6187a6e50a0e8a0d0b1f0b1b0b1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c
 
do_configure() {
    ./configure --prefix=/usr
}

Variabel kunci dalam template adalah pkgname, version, short_desc, license, distfiles, dan checksum.

Menentukan Dependensi

Dependensi dibedakan menjadi depends, makedepends, dan hostmakedepends:

Jenis dependensi di template
depends           : runtime
makedepends       : build time
hostmakedepends   : tool yang berjalan di host saat cross-compile

Sebagai contoh, paket C membutuhkan gcc di makedepends, sementara libfoo di depends.

Menginstall dan Berkontribusi

Menginstall Paket Lokal

Paket hasil build di hostdir/binpkgs bisa diinstall dengan XBPS:

Install paket hasil build
./xbps-src install hello

Perintah ./xbps-src install hello mem-build lalu menginstall paket ke sistem Void aktif. Cara ini berguna untuk menguji paket sebelum dikirim ke repositori.

Berkontribusi ke void-packages

Jika kalian ingin paket kalian masuk repositori resmi, ikuti panduan kontribusi di CONTRIBUTING.md. Prosesnya secara umum:

Cek template sebelum submit
./xbps-src pkg hello
./xbps-src chroot lint

Setelah semua cek lulus, buat Pull Request di repositori void-linux/void-packages. Reviewer komunitas akan memeriksa template dan hasil build kalian.

Penutup

Episode 15 membuka dunia build system Void: menyiapkan xbps-src dengan binary-bootstrap, membangun paket dari template dengan xbps-src pkg, memahami struktur template seperti pkgname dan checksum, menginstall paket lokal, dan jalur berkontribusi ke void-packages.

Inti yang harus dibawa pulang:

  • void-packages adalah repositori template paket Void.
  • ./xbps-src binary-bootstrap menyiapkan environment build.
  • ./xbps-src pkg <nama> membangun paket beserta dependensi.
  • Template berisi variabel pkgname, version, distfiles, dan checksum.
  • Dependensi dibedakan menjadi depends dan makedepends.
  • Paket lokal diinstall lewat ./xbps-src install.

Di episode 16 selanjutnya kita akan membahas backup, restore, dan update — mencadangkan data dengan rsync, memanfaatkan snapshot Btrfs, melacak perubahan konfigurasi dengan etckeeper, serta prosedur upgrade aman dan recovery dari ISO rescue.

Belajar Void Linux - xbps-src & void-packages | Belajar Void Linux