Compile .src.rpm jadi .rpm di CentOS

Sebagai pencinta CentOS dan turunan RedHat lainnya, kebutuhan pake RPM menjadi hal penting, dimana RPM menawarkan kemudahan instalasi. Tetapi apa jadinya jika RPM yang diinginkan tidak ditemukan? Atau pun setelah ditemukan RPM tidak bisa diinstall karena minta file-file lain?

Jika sudah usaha tapi belum ada hasil, RPM bisa dibuat sendiri. Paket RPM bisa dibuat dari source RPM yang cirikhasnya dapat dilihat pada nama file seperti bind-9.6.2-5.P2.fc12.src.rpm. Perhatikan, ada bagian yang tertulis src.rpm dimana src merupakan indikasi bahwa file tersebut merupakan file source. File source tidak bisa langsung diinstall, tetapi harus di compile terlebih dahulu.

Sebagai contoh, saya ingin install samba4 pada CentOS5.5. Ternyata CentOS5.5 masih menggunakan BIND9.3.x yang belum support DNSSEC yang diperlukan oleh Samba4. DNSSEC baru ada pada fitur BIND9.6.x atau yang lebih baru. Sebetulnya saya telah mendapatkan BIND9.6.x yang telah benbetuk RPM, tetapi membutuhkab library lain.

Persiapan yang perlu dilakukan lakukan sebelum melakukan compile sebuah paket adalah: 1). meng-uninstall paket yang dimaksud apabila telah diinstall. 2). membuat user dan group seperti yang dibutuhkan oleh paket, misalnya BIND9 butuh user dan group bernama named

Persiapan berikutnya adalah menginstall beberapa kelengkapan library, dapat dilakukan dengan memanfaatkan YUM:

yum -y install make gcc rpm-build libtool openssl-devel libcap-devel
libidn-devel libxml2-devel openldap-devel postgresql-devel sqlite-devel
mysql-devel krb5-devel xmlto curl*

Sambil menunggu YUM selesai bekerja, mari download pake yang ingin dicompile, dalam kebutuhan ini kita akan compile bind maka kita download:
wget -c ftp://mirrors.kernel.org/pub/fedora/updates/12/SRPMS/bind-9.6.*.src.rpm
wget -c ftp://mirrors.kernel.org/pub/fedora/releases/12/Fedora/source/SRPMS/dnssec-conf-*.src.rpm

Jika semua selesai, saatnya membuat RPM sendiri, lakukan perintah:
rpm -ivh --nomd5 bind-9.6.*.src.rpm dnssec-conf-*.src.rpm

Lalu masuk ke:
cd /usr/src/redhat/SPECS

dan lalukan perintah:
rpmbuild -ba ./bind.spec
rpmbuild --ba ./dnssec-conf.spec

Setelah proses selesai, akan muncul informasi dimana file rpm disimpan. Silahkan masuk dan install

Advertisement