11 Lagkah Membuat Paket DEB
Berikut ini merupakan panduan ringkas dalam melakukan pemaketan DEB. Panduan ini dijalankan pada Debian 9.1 Stretch untuk membuat paket qr-generator.
1) Pasang perkakas-perkakas yang diperlukan
sudo apt-get install git devscripts build-essential fakeroot debhelper gnupg pbuilder dh-make dpkg-dev ubuntu-dev-tools
2) Atur berkas ~./bashrc
$ export DEBFULLNAME="nama"
$ export DEBEMAIL="alamatemail"
Aktifkan perubahan di atas dengan perintah
$ source ~/.bashrc
Lakukan pengecekan dengan perintah
$ export | grep DEB
Jika berhasil, maka akan muncul output semacam ini
$ export | grep DEB
[email protected]
DEBFULLNAME='Rania Amina'
3) Buat GPG dengan menjalankan perintah
$ gpg --gen-key
Akan muncul jendela pop up yang meminta Anda untuk mengisi sandi. Sandi tersebut akan diperlukan ketika membangun paket pada langkah terakhir.
4) Buat direktori kerja
Buatlah sebuah direktori kerja sesuai dengan nama aplikasi yang akan dipaketkan. Saya contohkan Anda hendak memaketkan aplikasi bernama qr-generator
$ mkdir qr-generator
Salin dan tempelkan aplikasi (termasuk berkas-berkas yang terkait dengan aplikasi semisal ikon, pustaka, dll) ke dalam folder tersebut
5) Buat berkas Debian
$ dh_make -c gpl -p qr-generator_0.1 --createorig
Pada pertanyaan Type of package: (single, indep, library, python)
pilih single
Jika berhasil, maka akan muncul direktori debian dengan banyak berkas di dalamnya. Selanjutnya, silakan masuk ke folder debian tersebut dengan perintah $ cd debian
Berkas yang berada dalam direktori debian tersebut tidak seluruhnya digunakan. Untuk mempermudah, hapus saja berkas-berkas yang tidak diperlukan tersebut dengan perintah
$ rm -f *.EX *.ex *.docs README.*
sehingga yang tersisa adalah direktori source, dan berkas-berkas lain yaitu: changelog, compat, control, copyright, dan rules
6) Sunting Berkas changelog
$ dch -e
pada bagian versi, ganti tanda strip ( - ) dengan titik, unstable dengan nama kode distro yang sedang digunakan (dalam hal ini kebetulan saya menggunakn Debian Stretch), dan terkahir hapus (Closes: #nnnn)
qr-generator (0.1.1) stretch; urgency=medium
* Initial release
-- Rania Amina <[email protected]> Sun, 24 Sep 2017 11:41:30 +0700
Catatan penting, jika Anda memaketkan aplikasi yang sudah ada sebelumnya, atau dengan kata lain memaketkan versi terbaru dari sebuah aplikasi, maka yang digunakan bukan lagi $ dch -e
melainkan $ dch -i
.
7) Sunting berkas copyright
Suntinglah sesuai dengan keterangan aplikasi. Anda dapat menggunakan perintah
$ nano copyright
untuk menyunting. Bagian bawah yang diawali dengan tanda pagar (#) di depannya, dapat Anda hapus.
8) Buat berkas install
$ nano install
isi berkas tersebut seperti contoh berikut ini.
qr-generator /usr/bin/
qr-generator merupakan berkas yang akan disalin dan /usr/bin/ adalah lokasi tujuan penyalinan berkas tersebut. Andaikan terdapat folder dalam direktori kerja Anda, cukup tulis nama-direktori/* maka secara otomatis, semua berkas dalam direktori tersebut akan di salain ke tempat tujuan.
9) Sunting berkas control
$ nano control
Berkas ini memuat keterangan-keterangan dari aplikasi yang sedang Anda paketkan. Beberapa hal yang perlu Anda ubah dalam berkas ini adalah
Section, isi sesuai kategori aplikasi yang sedang Anda paketkan Architecture, isi sesuai arsitektur sistem yang sedang Anda pakai untuk membuat paket, misal amd64 Depends, tambahkan nama-nama paket yang menjadi dependensi dari aplikasi yang adan paketkan Description, pada baris pertama tulis keterangan singkat tentang aplikasi Anda. Pada baris selanjutnya, tulis keterangan yang lebih detail tentang aplikasi Anda.
Beberapa hal yang perlu diperhatikan dalam menulis keterangan panjang ini adalah (a)setiap baris harus diawali dengan spasi, (b) jika tulisan terlalu panjang lakukan line break atau enter dan lanjutkan pada baris di bawahnya dengan menggunakan aturan (a). Perhatikan contoh berikut
Source: qr-generator
Section: utils
Priority: optional
Maintainer: Rania Amina <[email protected]>
Build-Depends: debhelper (>= 9)
Standards-Version: 3.9.8
Homepage: https://gist.github.com/elbym/97e7ed08b0c1e94d826e
Package: qr-generator
Architecture: amd64
Depends: ${misc:Depends}, qrencodedescription: Generator Kode QR
QR Generator merupakan perkakas yang dapat membantu Anda membuat Kode QR
dalam jumlah yang banyak secara praktis dan cepat. Anda hanya perlu
membuat basis data berformat *.csv dan biarkan QR Generator menyelesaikan
tugas Anda.
10) Sunting berkas format
$ nano source/format
Ganti quilt
menjadi native
.
Keluarlah dari direktori debian dengan menjalankan perintah
$cd ..
11) Bangun paket
$ dpkg-buildpackage -rfakeroot
Tunggulah beberapa saat hingga seluruh proses selesai. Akan muncul jendela pop up sebagaimana yang sempat disinggung di awal, cukup isikan sandi Anda. Jika berhasil, maka paket DEB akan muncul di luar direktori kerja Anda. Selamat mencoba!
Catatan tambahan, dalam pembuatan paket qr-generator saya juga membuat man-page sebagai panduan penggunaan perkakas yang dipaketkan. Cek Lintian Output (via gdebi misalnya) untuk melihat apakah paket yang Anda buat mengandung kesalahan (error) atau tidak.
11 Lagkah Membuat Paket DEB