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
1
sudo apt-get install git devscripts build-essential fakeroot debhelper gnupg pbuilder dh-make dpkg-dev ubuntu-dev-tools
2) Atur berkas ~./bashrc
1
2
$ export DEBFULLNAME="nama"
$ export DEBEMAIL="alamatemail"

Aktifkan perubahan di atas dengan perintah

1
$ source ~/.bashrc

Lakukan pengecekan dengan perintah

1
$ export | grep DEB

Jika berhasil, maka akan muncul output semacam ini

1
2
3
$ export | grep DEB
DEBEMAIL[email protected]
DEBFULLNAME='Rania Amina'

3) Buat GPG dengan menjalankan perintah
1
$ 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

1
$ 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
1
$ 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

1
$ 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
1
$ 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) , sehingga kurang lebih hasilnya seperti ini

1
2
3
qr-generator (0.1.1) stretch; urgency=medium
* Initial release
-- Rania Amina 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.

Suntinglah sesuai dengan keterangan aplikasi. Anda dapat menggunakan perintah

1
$ nano copyright

untuk menyunting. Bagian bawah yang diawali dengan tanda pagar (#) di depannya, dapat Anda hapus.

8) Buat berkas install
1
$ nano install

isi berkas tersebut seperti contoh berikut ini.

1
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
1
$ 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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Source: qr-generator
Section: utils
Priority: optional
Maintainer: Rania Amina
Build-Depends: debhelper (>= 9)
Standards-Version: 3.9.8
Homepage: https://gist.github.com/elbym/97e7ed08b0c1e94d826e

Package: qr-generator
Architecture: amd64
Depends: ${misc:Depends}, qrencode
Description: 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
1
$ nano source/format

Ganti quilt menjadi native.

Keluarlah dari direktori debian dengan menjalankan perintah

1
$cd ..

11) Bangun paket
1
$ 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.

Komentar