Kuliax menggunakan format .deb dan pengatur paket APT dari Debian.
Dalam melakukan pemaketan di Kuliax, jika paket berasal dari:
Debian, maka versi paketnya adalah VERSIPROGRAM-XkuliaxY. X adalah revisi paket dari Debian dan Y adalah revisi paket dari Kuliax. Misal program ktechlab di Debian mempunyai versi 0.3.7-3, maka untuk pemaketan pertama kali pada Kuliax versinya menjadi 0.3.7-3kuliax1
upstream1), maka versi paketnya adalah sama dengan poin di atas, hanya saja X bernilai 0 jika paket tersebut belum ada di Debian
Kuliax dan ada pertimbangan bahwa paket tidak mungkin dimasukkan ke repo Debian suatu saat nanti, versi paketnya adalah seperti standar Debian yaitu VERSIPROGRAM-Y, untuk versi paket pertama aplikasi 1.0 adalah aplikasi_1.0-1. Contoh paket dalam kategori ini adalah kuliax-base-files
Kasus khusus: jika ada paket menggunakan versi dengan revisi Debian yang tergabung di dalamnya misal gdebi 0.5.9debian2, maka versi paket tersebut mendapatkan tambahan +kuliaxY, sehingga menjadi gdebi 0.5.9debian2+kuliax1
Jika paket selanjutnya dimodifikasi maka versi bertambah pada revisi Kuliax yaitu nilai Y-nya: kuliax1, kuliax2, dst.
Jika paket yang dihasilkan adalah berbasis paket Debian atau yang lain, biarkan debian/changelog yang ada, jangan dihapus!
Jika versi proyek upstream tidak ada atau hanya tanggal rilis saja, maka gunakan format versi TAHUNBULANTANGGAL. Misal sumber program yang dirilis tanggal 25 Januari 2009 maka versinya adalah 20090125. Jika digabung dengan nama program menjadi program-20090125
Gunakan opsi –createorig pada penggunaan dh_make, jika belum ada arsip sumber untuk paket
Isi direktori debian/
changelog:
compat: set kompatibilitas debhelper, nilai sebelum 5 dinyatakan sudah ditinggalkan (deprecated). Baca manual debhelper untuk mendapatkan informasi perubahan setiap kompatibilitas
control
periksa Debian Policy untuk isi dari Section
set Priority ke optional
set Architecture ke all jika paket bukan berupa hasil kompilasi/biner
set Depends dan tambahkan Replaces atau Provides jika diperlukan
isi Description dengan Bahasa Inggris, agar lebih universal diterima oleh pengguna di seluruh dunia dan juga kemungkinan masuk ke repo Debian
copyright
hapus tar
URL paket sumber jika paket dibuat oleh pemaket sendiri
cek dan ricek lisensi
Lihat berkas kode sumber, README, AUTHORS, dan sejenisnya untuk mendapat lisensi program
Hilangkan "(s)" pada "Upstream Author(s)" sehingga menjadi "Upstream Author" atau "Upstream Authors"
-
(*)install: berikan baris kosong di akhir berkas
(skrip) pre* dan post*
Ketika membuat skrip
shell, gunakan /bin/sh setelah hashbang (#!) dan tidak menggunakan spesifik
shell misal /bin/bash. Contoh yang benar
#!/bin/sh
#
# ini adalah informasi fungsi skrip shell ini
isi dengan operasi skrip shell
berikan tag #DEBHELPER# sebelum "exit 0". Tag ini akan diisi oleh debhelper secara otomatis untuk fungsi manajemen paket
exit 1 pada skrip shell digunakan untuk mengembalikan nilai saat terjadi kesalahan, sedang exit 0 pada kondisi sebaliknya
kroscek logika skrip dan selalu ujicoba hasil pemaketan untuk memastikannya berjalan sesuai dengan rencana
rules:
dh_installchangelogs pada debian/rules digunakan untuk memasang changelog di data paket debian dan dh_installdocs digunakan untuk memasang dokumen termasuk berkas copyright
tukar binary-arch dan binary-indep jika berkas yang dipaketkan adalah bukan berbentuk hasil kompilasi, misal karya seni, konfigurasi
bersih berkas rules dari komentar-komentar dan perintah yang tidak diperlukan
gunakan .PHONY untuk memasukkan "perintah"(?) yang sebenarnya tidak digunakan pemaket tapi dibutuhkan sistem build, misal build
Gunakan
packages.debian.org untuk mencari informasi paket dan isinya, misal pemaket ingin melihat dependensi
Lihat baik-baik pesan kesalahan (E) dan peringatan (W) pada saat lintian dijalankan oleh debuild, perbaiki paket, kecuali yang memang dianggap salah oleh lintian padahal sudah sesuai, misal "bad-distribution-in-changes-file lumpia". Informasi lebih rinci tentang lintian dapat dilihat di
manualnya
Bacalah README atau dokumen mengenai kompilasi dan instalasi program. Lakukan eksperimen terlebih dahulu dengan mencoba melakukan proses kompilasi dan masukan informasi yang diperlukan ke pemaketan, misal info dependensi program untuk Build-Depends
Jika pemaket menemukan pesan kesalahan seperti "dpkg-shlibdeps: warning: dependency on libbla.so.6 could be avoided if "debian/usr/bin/blabla", cari tahu permasalahan sehingga kita punya alasan kenapa kita mengabaikan pesan tersebut
Jika berkas dalam paket berbentuk biner dan ada pemutakhiran, maka paket source .orig.tar.gz perlu dipaket ulang, contoh stardict-kbbi
Gunakan cdebootstrap untuk kinerja pembangunan yang sedikit lebih baik dan agresif
apt-get install cdebootstrap
Jika ada pesan kesalahan ketika membuat paket sumber debian yaitu [program].make, pasang [program] dan sesuaikan dengan versi program yang memiliki [program].make, karena beberapa paket tidak memiliki *.make di versi stabil
Jika ada pesan kesalahan saat proses pembangunan, cari solusinya dengan melihat pesan tersebut dan jika tidak mengerti cari solusinya di Internet. Umumnya untuk kasus-kasus yang umum sudah ada solusinya baik dari forum, milis, bugtracker, atau yang lain.
Gunakan perintah
grep -r "teks" *|less
untuk mencari kata "teks" pada berkas-berkas di direktori kerja dan semua yang ada di bawahnya
Agar berkas orig.tar.gz disertakan di dalam berkas .changes, pengembang perlu melewatkan parameter "–debbuildopts -sa" ke pbuilder
Untuk memeriksa apakah sebuah versi paket memiliki perubahan tertentu yang diperlukan, misal memiliki perbaikan atas kutu yang ditemukan, lihat berkas changelog di packages.debian.org
Gunakan perintah
dpkg -S [berkas]
untuk mencari paket apa yang memilikinya
-
dpkg-query -W -f='${Package}\n'|grep xorg > xorg.pkgs
Sertakan opsi "-sa" jika pengembang mempaketkan ulang orig.tar.gz
Jika pemaketan menutup kutu yang ada, tambahkan "(Closes: #N)" pada changelog, N adalah nomor kutu di bugtracker.