Panduan Pemaketan Debian dan turunannya

Panduan Pemaketan Debian dasar


Panduan pemaketan dasar ini ditujukan bagi Anda yang ingin membuat atau mengelola paket BlankOn. Walaupun beberapa konsep dalam panduan ini dapat digunakan untuk membuat paket binary untuk penggunaan pribadi, panduan ini untuk mereka yang ingin mendistribusikan paket ke, dan, untuk orang lain. Walau panduan ini ditulis untuk digunakan pada distribusi BlankOn Linux, namun panduan ini dapat berguna untuk distribusi lain yang berbasis dari Debian.

Mungkin ada beberapa alasan yang mendasari Anda ketika belajar cara memaketkan program untuk BlankOn:

  • Membuat dan memperbaiki paket BlankOn adalah salah satu cara untuk berkontribusi bagi komunitas BlankOn.
  • Cara ini merupakan cara yang baik untuk mengetahui bagaimana BlankOn dan aplikasi yang telah Anda instal dibangun.
  • Mungkin Anda ingin menginstal sebuah paket yang tidak ada di repository BlankOn atau paket khas yang anda kembangkan sendiri.
  • Kenapa panduan pemaketan ini diperlukan?
Karena cara ini tepat untuk membuat suatu paket yang belum ada direpository, mungkin selama ini kita hanya mengenal cara manual dalam hal menginstall paket baru yang belum ada di repository ./configure (./autogen.sh), make dan sudo make install. Sayangnya cara manual ini hanya bersifat sementara disaat kita menginstallnya dan tidak bisa kita share ke distro (debian dan turunannya) lain.

Semoga setelah selesai membaca panduan ini Anda memiliki perkakas dan
pengetahuan yang cukup untuk melakukan semua itu.
                                         
Prasyarat
Panduan ini mengasumsikan bahwa pembaca sudah memiliki pengetahuan yang cukup untuk membangun dan menginstal perangkat lunak dari kode sumber pada suatu distribusi Linux. Panduan ini juga menggunakan Command Line Interface (CLI) di seluruh bagian, jadi Anda harus nyaman untuk menggunakan terminal. Anda juga bisa mempelajari hal berikut:

make: GNU Make adalah perkakas yang sangat penting untuk membangun perangkat lunak. Digunakan untuk mengubah tugas kompilasi yang kompleks menjadi mudah. Sangat penting untuk tahu bagaimana menggunakannya, karena kami akan menyimpan informasi mengenai proses pembuatan paket di dalam Makefile. Dokumentasi tersedia pada situs GNU

➢ ./configure: Skrip ini disertakan di hampir semua source GNU/Linux, khususnya di perangkat lunak yang ditulis menggunakan bahasa kompilasi seperti C/C++/Vala atau bahasa pemograman lainnya. 

Apt/Dpkg: Selain digunakan untuk menginstal program, apt dan dpkg memiliki banyak fitur yang berguna untuk pembuatan paket.

  • apt-cache dump - menampilkan daftar setiap paket dalam cache. Paket ini sangat berguna apabila digunakan bersama grep pipe seperti apt-cache dump | grep foo untuk mencari paket yang nama atau dependencies-nya menyertakan “foo”.
  • apt-cache policy - menampilkan informasi paket.
  • apt-cache show - menampilkan informasi paket lebih lengkap.
  • apt-cache showsrc - menampilkan informasi mengenai paket source.
  • apt-cache rdepends - menampilkan reverse dependensi untuk sebuah paket (yang dibutuhkan paket untuk melakukan query).
  • dpkg -S - menampilkan daftar paket binary yang dimiliki oleh suatu berkas tertentu.
  • dpkg -l - menampilkan daftar paket yang baru saja diinstal. Perintah ini mirip dengan apt-cache dump tetapi hanya untuk paket yang sudah diinstal.
  • dpkg -c - menampilkan daftar isi dari paket binary. Berguna untuk memastikan bahwa berkas sudah terinstal di tempat yang benar.
  • dpkg -f - menampilkan berkas control untuk paket binary. Berguna untuk memastikan bahwa dependencies sudah benar.
  • grep-dctrl - mencari informasi khusus di dalam paket. Merupakan penggunaan khusus dari paketgrep (tapi tidak terinstal secara baku)
  • diff: Program diff dapat digunakan untuk membandingkan dua berkas dan membuat patch.
  • patch : Program patch digunakan untuk menerapkan suatu patch.

Memulai

  • Kode Sumber

Sebagian besar pengguna distribusi berbasis Debian seperti halnya BlankOn tidak akan pernah berurusan dengan kode sumber yang digunakan untuk membuat aplikasi di komputer mereka. Kode sumber telah dikompilasi menjadi paket binary dari paket source yang berisi kode sumber itu sendiri dan aturan untuk membuat paket binary. Pemaket meng-upload paket source dengan perubahan yang telah mereka lakukan untuk sistem build lalu mengkompilasi paket binary untuk setiap arsitektur komputer. Sebuah sistem yang terpisah lalu mendistribusikan berkas .deb binary dan source yang telah berubah ke repository mirror.

  • Peralatan Pemaketan
Ada banyak perkakas yang dibuat khusus untuk pemaketan di sistem berbasis
Debian.
Daftar paket berikut berguna untuk memulai pemaketan:
build-essential adalah metapackage yang bergantung pada libc6-dev, gcc, g++, make, and dpkg-dev. Paket yang mungkin kurang Anda kenali adalah dpkg-dev. Paket ini mengandung perkakas seperti dpkg-buildpackage dan dpkg-source yang digunakan untuk membuat, membongkar, dan membangun paket source dan binary.
devscripts memuat banyak skrip yang membuat pekerjaan pengelolaan paket menjadi mudah.
Beberapa yang sering digunakan adalah debdiff, dch, debuild, dan debsign.
debhelper dan dh-make adalah skrip untuk mengotomatisasi tugas pembuatan paket. dh-make dapat digunakan untuk membuat "debianization" dan menyediakan banyak berkas.
diff dan patch digunakan untuk membuat dan menerapkan patch, berturut-turut. Kedua aplikasi tersebut sering digunakan dalam pembuatan paket karena lebih mudah, bersih dan efisien untuk menampilkan perubahan kecil sebagai patch daripada harus menggunakan banyak salinan berkas.
gnupg adalah pengganti dari PGP yang lengkap dan bebas untuk digunakan
menandatangani berkas secara digital (termasuk juga paket).
fakeroot mensimulasi cara menjalankan perintah dengan hak akses root. Hal ini sangat berguna bila Anda ingin membuat paket binary dari pengguna biasa.
lintian membedah paket Debian, pelaporan bug, dan pelanggaran Kebijakan. Paket ini berisi pemeriksaan otomatis untuk banyak aspek dari Kebijakan Debian seperti halnya error umum.
pbuilder membangun sistem chroot dan membuat paket di dalam chroot. Merupakan sistem yang ideal untuk digunakan jika sebelumnya sebuah paket diperiksa apakah telah memiliki dependency yang tepat serta membangun paket yang bersih dan siap untuk diuji serta didistribusikan.

Install peralatan :
$ sudo apt-get install devscripts build-essential fakeroot debhelper gnupg pbuilder dh-make dpkg-dev ubuntu-dev-tools

Mulai membangun paket

• Informasi pribadi :
$ nano ~/.bashrc
(isi pada baris terakhir)
export DEBFULLNAME=”Dotovr” 
export DEBMAIL=”dotovr@di.blankon.in”

Catatan: Sesuaikan dengan informasi pribadi

• Memeriksa informasi pribadi yang talah dibuat
$ source ~/.bashrc 
$ export | grep DEB

• Membuat kunci pribadi
$ gpg –gen-key
Isi dengan informasi pribadi
Real name: Dotovr 
E-mail address: dotovr@di.blankon.in 
Passphrase: password

Catatan: Sesuaikan dengan informasi pribadi
                                          I.
Selanjutnya mulai membangun paket dengan dpkg-buildpackage, cara ini harus menginstall dependensinya terlebih dahulu secara manual
$ sudo apt-get build-dep ed
Sebagai contoh, unduh kode sumber di GNU:
$ wget ftp://ftp.gnu.org/pub/gnu/ed/ed-1.6.tar.gz
$ tar zxvf ed-1.6.tar.gz
$ cd ed-1.6
$ ls
$ dh_make -e isiemailkita -f ../ed-1.6.tar.gz
Type of package: single binary, multiple binary, library, kernel
module or cdbs?
[s/m/l/k/b] s
(Pilih "s")
cd debian
$ ls
rm *.ex *.EX docs info README.*

Masih di direktori debian, jalankan perintah berikut untuk membuat/mengubah changelog:
$ dch -e
Isi seperti berikut:
ed (1.6-1) unstable; urgency=low
  * Initial release (Closes: #nnnn)
-- Dotovr <dotovr@di.blankon.in> 20:36:22 +0700 Tue, 29 May 2012
                                         
Ubah seperlunya:
$ nano control
Lengkapi seperti berikut:
Source: ed
Section: editors
Priority: extra
Maintainer: Dotovr <dotovr@di.blankon.in>
Build-Depends: debhelper (>= 8.0.0), autotools-dev
Standards-Version: 3.9.2
Homepage: http://www.gnu.org/software/ed/
Package: ed
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}
Description: classic UNIX line editor
 The ed is a line-oriented text editor. It is used to create,
 display, modify and otherwise manipulate text files.

Copyright ubah seperlunya:
$ nano copyright
Lalu isi sebagai berikut:
Format: http://svn.debian.org/wsvn/dep/web/deps/dep5.mdwn?
op=file&rev=174
Upstream-Name: ed
Source: http://www.gnu.org/software/ed/
Files: *
Copyright: 1993, 1994, 2006, 2007, 2008, 2009, 2010, 2011 Free
Software Foundation, Inc
2006, 2007, 2008, 2009 Backus <ericb@lsid.hp.com>
1993, Karl Berry <kb@cs.umb.edu>
1994, 2011 Theo Deraadt <deraadt@newt.fsa.ca>
2006, 2007 Kaveh R. Ghazi <ghazi@noc.rutgers.edu>
2010, 2011 Mike Haertel <mike@ichips.intel.com>
2011 Francois Pinard <pinard@iro.umontreal.ca>
1993, 1994 Rodney Ruddock <rodney@snowhite.cis.uoguelph.ca>
License: GPL-3.0+
Files: debian/*
Copyright: 2012 Dotovr <dotovr@di.blankon.in>
                                          License: GPL-3.0+
License: GPL-3.0+
This program is free software: you can redistribute it and/or
modify
it under the terms of the GNU General Public License as
published by
the Free Software Foundation, either version 3 of the License,
or
(at your option) any later version.
.
This package is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
.
You should have received a copy of the GNU General Public
License
along with this program. If not, see
<http://www.gnu.org/licenses/>.
Pindah ke direktori sebelumnya dengan cara ketik:
$ cd ..

Jalankan perintah untuk membangun paket:
$ dpkg-buildpackage -rfakeroot
jika diminta Passphrase, isi dengan Passphrase yang anda buat tadi. Tunggu sampai proses selesai.
     
Previous
Next Post »
Thanks for your comment