Cara Berkontribusi
Dokumen ini ditujukan untuk siapa pun yang ingin menambahkan atau memelihara paket di VUR sebagai maintainer.
Prasyarat
Sebelum berkontribusi, pastikan hal berikut sudah siap:
gitterinstallxbps-srcsudah bisa digunakan (void-packages sudah di-bootstrap)- Akun GitHub aktif
- Paham dasar penulisan template
xbps-src
Referensi penulisan template: void-packages Manual
Alur Kontribusi
Fork repo VUR → Buat template → Test build lokal → Push → Pull Request → Review → Merge
Langkah 1: Fork dan Clone
Fork repositori VUR di GitHub, lalu clone fork-nya:
git clone https://github.com/<username-kamu>/vur.git
cd vur
Langkah 2: Tentukan Kategori
Tempatkan template di kategori yang sesuai:
| Kategori | Kriteria |
|---|---|
core | Paket stabil, umum digunakan, dependensi minimal |
extra | Paket tambahan, bisa eksperimental, niche, atau dependensi besar |
multilib | Paket 32-bit untuk sistem x86_64 glibc |
Jika ragu, gunakan extra.
Langkah 3: Buat Template
Buat direktori paket di kategori yang sesuai:
mkdir -p extra/<nama-paket>
Buat file template di dalamnya:
touch extra/<nama-paket>/template
Struktur Minimal Template
# Mandatory fields
pkgname=nama-paket
version=1.0.0
revision=1
short_desc="Deskripsi singkat paket"
maintainer="Nama Kamu <email@example.com>"
license="MIT"
homepage="https://example.com"
distfiles="https://example.com/nama-paket-${version}.tar.gz"
checksum="sha256sum-dari-file-source"
do_build() {
# perintah build
}
do_install() {
# perintah install ke $DESTDIR
}
Untuk template yang lebih kompleks (build styles, subpackages, patches), lihat void-packages Manual.
Jika Ada Patch
Buat direktori patches/ di dalam direktori paket:
mkdir -p extra/<nama-paket>/patches/
Tempatkan file .patch di dalamnya. xbps-src akan menerapkannya secara otomatis sebelum build.
Langkah 4: Test Build Lokal
Sebelum submit, pastikan paket berhasil dibangun secara lokal:
# Dari direktori void-packages
cp -r /path/to/vur/extra/<nama-paket> srcpkgs/<nama-paket>
./xbps-src pkg <nama-paket>
Verifikasi hasil build bisa diinstall:
sudo xbps-install --repository=hostdir/binpkgs <nama-paket>
Jangan submit template yang belum berhasil build secara lokal.
Langkah 5: Update Index (via vtools)
Setelah template siap, jalankan script vtools untuk memperbarui file index VUR:
cd vur
bash vtools/scan.sh
bash vtools/generate.sh
Ini akan memperbarui index.json, packages.json, categories.json, dan search.json.
Langkah 6: Commit dan Push
git add extra/<nama-paket>/ index.json packages.json categories.json search.json
git commit -m "extra/<nama-paket>: add version <versi>"
git push origin main
Konvensi pesan commit:
| Aksi | Format commit |
|---|---|
| Tambah paket baru | <kategori>/<nama>: add version <versi> |
| Update versi | <kategori>/<nama>: update to <versi> |
| Perbaiki template | <kategori>/<nama>: fix <deskripsi singkat> |
| Hapus paket | <kategori>/<nama>: remove (alasan) |
Langkah 7: Buat Pull Request
Buka Pull Request dari fork kamu ke repositori utama VUR di GitHub:
https://github.com/T4n-Labs/vur/pulls
Sertakan informasi berikut di deskripsi PR:
- Nama paket dan versi
- Kategori yang dipilih dan alasannya
- Link homepage atau repositori upstream
- Konfirmasi bahwa build lokal berhasil
Memperbarui Paket (Update Versi)
Saat ada rilis baru dari upstream:
- Update
versionditemplate - Update
revisionkembali ke1 - Update
distfilesjika URL berubah - Update
checksumsesuai file source baru - Test build ulang secara lokal
- Jalankan
vtools/scan.shdanvtools/generate.sh - Commit dan buat PR
# Cara mendapatkan checksum baru
sha256sum nama-paket-<versi>.tar.gz
Menghapus Paket
Jika paket sudah tidak relevan, upstream sudah masuk ke repositori resmi Void, atau tidak lagi bisa dimaintain:
- Hapus direktori paket dari kategori
- Jalankan
vtools/scan.shdanvtools/generate.sh - Commit dengan pesan
<kategori>/<nama>: remove (<alasan>) - Buat PR dengan penjelasan alasan penghapusan
Standar Template VUR
| Hal | Standar |
|---|---|
pkgname | Huruf kecil, pisah kata dengan tanda - |
maintainer | Format Nama <email> yang valid dan aktif |
license | Sesuai lisensi upstream — jangan asal tulis MIT |
checksum | Wajib diisi, tidak boleh kosong atau placeholder |
distfiles | URL langsung ke source resmi upstream |
short_desc | Maksimal 72 karakter, tidak diawali huruf kapital |
| Direktori paket | Nama direktori sama persis dengan pkgname |
Catatan Penting
- Jangan submit paket yang sudah tersedia di repositori resmi Void kecuali ada alasan khusus (versi berbeda, patch spesifik, dll.).
- Jangan submit template dengan
checksumkosong atau placeholder. - Template yang terbukti berbahaya akan di-remove dan kontributor bisa diblokir dari repositori.
- Maintainer bertanggung jawab memperbarui templatenya seiring update upstream.