xbps-create
xbps-create adalah utilitas XBPS untuk membuat paket biner .xbps dari file-file yang disimpan dalam suatu direktori. File harus memiliki permission yang benar dan lokasi yang sesuai di dalam direktori tersebut.
Ini adalah alat untuk pembuat paket — pengguna akhir umumnya tidak perlu menggunakannya secara langsung karena xbps-src menangani proses ini secara otomatis.
Penggunaan
xbps-create [OPSI] <destdir>
destdir adalah direktori yang berisi file-file dengan struktur seperti di sistem tujuan (contoh: usr/bin/, etc/, usr/share/).
Opsi
Metadata Paket
| Flag | Keterangan |
|---|---|
-n, --pkgver <string> | Nama dan versi paket, format: nama-versi_revision (wajib) |
-A, --architecture <str> | Arsitektur target (wajib). Gunakan noarch jika tidak arch-spesifik |
-s, --desc <string> | Deskripsi singkat, satu baris kurang dari 80 karakter |
-S, --long-desc <string> | Deskripsi panjang |
-H, --homepage <string> | URL homepage proyek |
-l, --license <string> | Lisensi paket |
-m, --maintainer <string> | Nama dan/atau email maintainer |
-t, --tags <list> | Daftar tag/kategori, dipisah spasi. Contoh: 'development nonfree' |
-c, --changelog <string> | String changelog paket |
-B, --built-with <string> | String builder, format bebas |
Dependensi dan Konflik
| Flag | Keterangan |
|---|---|
-D, --dependencies <list> | Daftar dependensi, dipisah spasi. Contoh: 'foo>=1.0 blah-1.0_1' |
-C, --conflicts <list> | Daftar paket yang konflik. Contoh: 'foo>=1.0 blah<1.0' |
-R, --replaces <list> | Daftar paket yang digantikan. Contoh: 'foo>=1.0 blah>=2.0' |
-r, --reverts <list> | Daftar versi yang di-revert. Contoh: '2.0_1 2.1_1' |
-P, --provides <list> | Daftar virtual package yang disediakan. Contoh: 'virtualpkg-9999' |
File
| Flag | Keterangan |
|---|---|
-F, --config-files <list> | Daftar file konfigurasi yang disediakan paket, dipisah spasi |
-M, --mutable-files <list> | Daftar file mutable yang disediakan paket, dipisah spasi |
-p, --preserve | Jika diset, file paket akan dipertahankan setelah update |
Shared Library
| Flag | Keterangan |
|---|---|
--shlib-provides <list> | Shared library yang disediakan. Contoh: 'libfoo.so.2 libbar.so.1' |
--shlib-requires <list> | Shared library yang dibutuhkan. Contoh: 'libz.so.1 libfoo.so.2' |
Alternatives
| Flag | Keterangan |
|---|---|
--alternatives <list> | Daftar alternatives yang disediakan paket, dipisah spasi. Format: group:symlink:target |
Contoh: 'editor:/usr/bin/editor:/usr/bin/vim'
Jika symlink adalah path relatif, symlink akan dibuat relatif terhadap target.
Build & Kompresi
| Flag | Keterangan |
|---|---|
--compression <format> | Format kompresi: none, gzip, bzip2, xz, lz4, zstd (default: zstd) |
--build-options <string> | String opsi build yang digunakan dalam paket |
--sourcepkg <string> | pkgver dari source package yang digunakan untuk build |
-G, --source-revisions <str> | Git revision dari source package (diset otomatis oleh xbps-src) |
Contoh Penggunaan
# Siapkan struktur direktori destdir
mkdir -p myapp-1.0_1/usr/bin
mkdir -p myapp-1.0_1/usr/share/myapp
cp myprogram myapp-1.0_1/usr/bin/
cp data/* myapp-1.0_1/usr/share/myapp/
# Buat paket .xbps
xbps-create \
-n myapp-1.0_1 \
-A x86_64 \
-s "My awesome application" \
-S "A longer description of what myapp does." \
-H "https://example.com/myapp" \
-l "MIT" \
-m "Your Name <you@example.com>" \
-D 'libfoo>=1.0' \
myapp-1.0_1
Output: myapp-1.0_1.x86_64.xbps
Langkah Selanjutnya
Setelah paket biner dibuat:
# Tambahkan ke repositori lokal
xbps-rindex -a myapp-1.0_1.x86_64.xbps
# Instal dari repositori lokal
sudo xbps-install --repository=/path/ke/repo myapp
# Periksa isi paket
xbps-query -f myapp
Catatan
- File dalam
destdirharus memiliki permission yang benar karena akan digunakan langsung saat instalasi. xbps-createhanya menerima regular file, symlink, dan direktori. Socket dan FIFO tidak didukung.- Format kompresi default adalah
zstd.
Referensi
man xbps-create- xbps-create(1) — Void Linux manpages