Membuat Paket Slackware dari Source Code

Menginstall software dari source code memang susah-susah-gampang, tidak seperti menginstall paket biner (binary). Kok susah-susah-gampang, bukan gampang-gampang-susah? Tujuannya agar yang awalnya dianggap susah, sekarang menjadi gampang.😆

Untuk menginstall software dari source code, biasanya yang pertama dilakukan adalah mengekstrak file yang biasanya terkompress dengan ekstensi tar.gz atau tar.bz2. Jangan lupa pula membaca README, membaca file README perlu agar kita tahu apa yang harus dilakukan sebelum menginstallnya.

Untuk melakukan instalasi dapat dilakukan dengan:

$ ./configure

$ make

# make install

Proses instalasi akan selesai dalam beberapa detik/menit sesuai dengan ukuran software yang diinstall. Namun, kendalanya adalah pada saat akan menguninstall, perlu melakukan konfigurasi lagi, dan konfigurasi harus sama dengan yang diinstall. Salah satu cara agar lebih mudah adalah dengan membuat paket kita sendiri.

Pasti sudah banyak yang tahu bagaimana cara membuat paket Slackware dari source code, atau mungkin sudah banyak dari Anda yang suka membuat paket Anda sendiri. Tujuannya agar lebih mudah dalam proses instalasi, upgrade, ataupun remove.

Langkah-langkah untuk membuat paket Slackware hampir sama dengan langkah-langkah instalasi di atas, namun agak panjang sedikit.😀 Seperti di bawah ini:

Ekstrak file yang terkompres (tar.gz atau tar.bz2)

$ tar xvf nama-software.tar.bz2

Pindah ke folder hasil ekstrak dan lakukan konfigurasi

$ cd nama-software

$ ./configure –prefix=/usr –localstatedir=/var –sysconfdir=/etc

atau bisa juga lebih spesifik

$ ./configure –prefix=/usr –localstatedir=/var –sysconfdir=/etc –libdir=/usr/lib –mandir=/usr/man

Lakukan “make”

$ make

Cek apakah Makefile mendukung DESTDIR atau tidak

$ grep -n DESTDIR *

Bila iya, install ke folder (misalnya) /tmp/build, bila folder build di dalam /tmp belum ada, maka dibuat dahulu

# mkdir /tmp/build

# make install DESTDIR=/tmp/build

Bila tidak mendukung DESTDIR, gunakan “prefix”

# make install prefix=/tmp/build/usr

Pindah ke folder /tmp/build, akan ada folder “usr”, lalu buat folder “install” di dalam /tmp/build

# cd /tmp/build

# mkdir install

Buat file “slack-desc” menggunakan text editor, lalu simpan di folder home Anda. Isi nama software dan deskripsinya. Contoh filenya seperti di bawah ini, silakan didownload.

slack-desc

Kopikan file bernama “slack-desc” tadi ke folder /tmp/build/install

# cp /home/anda/slack-desc /tmp/build/install/

Strip file binary dan library. Untuk binary:

# strip -sv usr/bin/*

Untuk library:

# strip –strip-unneeded -v usr/lib/*.so (shared library)

# strip –strip-debug -v usr/lib/*.a (static library)

Agar tidak menampilkan “warning” karena manual tidak terkompres saat pembuatan paket, sebaiknya kita kompres dulu manualnya dengan gzip

# gzip -9 usr/man/*

Bila gagal, kita cari dulu manualnya ada di folder mana, lalu lakukan kompres lagi. Misal manual di usr/man/man1

# gzip -9 usr/man/man1/*

Terakhir, lakukan “makepkg”

# makepkg -l y -c n ../nama-versi-arsitektur-tag.txz (untuk txz)

atau

# makepkg -l y -c n ../nama-versi-arsitektur-tag.tgz (untuk tgz)

contoh:

# makepkg -l y -c n ../asdf-1.0.0-i686-1ds.txz

Paket yang sudah jadi ada di folder /tmp, langsung bisa diinstall dengan “installpkg”

# cd /tmp

# installpkg asdf-1.0.0-i686-1ds.txz

Paket yang sudah jadi dapat Anda simpan di home Anda, tapi ganti dulu pemiliknya menjadi Anda, karena saat ini masih dimiliki oleh root

# chown anda.anda asdf-1.0.0-i686-1ds.txz

# mv asdf-1.0.0-i686-1ds.txz /home/anda/

Hapus semua yang ada di /tmp/build

# rm -rf /tmp/build/*

Untuk menguninstall, cukup lakukan dengan “removepkg”.

Selamat membuat paket “unik” Anda sendiri..😆

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s

%d blogger menyukai ini: