Cara membuat atau membangun RPM Package

Cara membuat atau membangun RPM Package

Pendahuluan —

* “Rpmbuild” alat ini digunakan untuk membangun kedua …

1) Paket Binari ~ digunakan untuk menginstal perangkat lunak dan mendukung script. Ini berisi file yang terdiri dari aplikasi, bersama dengan informasi tambahan yang diperlukan untuk menginstal dan menghapusnya.
2) Sumber Paket ~ berisi dikompresi asli file tar source code, patch dan Spesifikasi File.

* Apakah yang dimaksud paket RPM & RPM Manager?

RPM Package Manager (RPM) adalah baris perintah handal sistem manajemen paket yang mampu menginstal, menghapus, memverifikasi, query, dan meng-update paket perangkat lunak.

Paket RPM terdiri dari sebuah arsip dari file dan meta-data yang digunakan untuk menginstal dan menghapus file arsip. Meta-data termasuk skrip pembantu, atribut file, dan informasi deskriptif tentang paket.

* Untuk membangun paket RPM Anda harus menentukan tiga hal ~

1) Sumber aplikasi – Dalam setiap kasus, Anda tidak boleh mengubah sumber-sumber yang digunakan dalam proses pembangunan paket.

2) Patch – RPM memberi Anda kemampuan untuk secara otomatis menerapkan patches kepada mereka. Alamat patch khusus untuk masalah sistem target. Ini dapat mencakup perubahan makefiles untuk menginstal aplikasi ke direktori yang sesuai, atau menyelesaikan konflik lintas-platform. Patch menciptakan lingkungan yang tepat diperlukan untuk kompilasi.

3) Spesifikasi File – File Spesifikasi di jantung proses pembangunan paket RPM. Ini berisi informasi yang diperlukan oleh RPM untuk membangun paket, serta instruksi memberitahu RPM bagaimana untuk membangunnya. File spesifikasi juga menentukan file apa yang merupakan bagian dari paket, dan di mana mereka harus diinstal.

File ~ ** Spesifikasi dibagi untuk 8 bagian seperti yang ditunjukkan di bawah ini

a) Pembukaan ~ berisi informasi yang akan ditampilkan ketika pengguna meminta informasi tentang paket. Hal ini termasuk deskripsi paket fungsi, nomor versi dari software dll

b) Persiapan ~ mana karya yang sebenarnya membangun sebuah paket dimulai. Seperti namanya, bagian ini adalah tempat persiapan yang diperlukan sebelum dibuat bangunan yang sebenarnya dari perangkat lunak. Secara umum, jika ada yang perlu dilakukan untuk sumber-sumber sebelum membangun perangkat lunak, hal itu harus terjadi di bagian persiapan. Isi bagian ini adalah shell script biasa. Namun, RPM tidak menyediakan dua macro untuk membuat hidup lebih mudah. Satu makro dapat mengekstrak file tar terkompresi dan cd ke direktori source. Makro lain dengan mudah berlaku membongkar tambalan untuk perbaikan pada sumber-sumber.

c) Membangun ~ Bagian ini terdiri dari sebuah shell script. Hal ini digunakan untuk melakukan perintah apa saja yang diperlukan untuk benar-benar menyusun sumber-sumber seperti perintah make tunggal, atau menjadi lebih rumit jika proses build memerlukannya. Tidak ada macro tersedia dalam bagian ini.

d) Instal ~ Bagian ini juga berisi shell script, install bagian digunakan untuk melakukan perintah yang diperlukan untuk benar-benar menginstal perangkat lunak.

e) Instalasi dan Uninstall Scripts ~ ini terdiri dari skrip yang akan dijalankan, pada pengguna sistem, ketika paket sebenarnya diinstal atau dihapus. RPM dapat mengeksekusi sebuah script pre / post instalasi / penghapusan paket.

f) Verifikasi Script ~ script yang dijalankan pada sistem pengguna. Hal ini dijalankan ketika RPM memverifikasi paket instalasi yang tepat.

g) Bersihkan Bagian ~ script yang dapat membersihkan sesuatu setelah membangun. Script ini jarang digunakan, karena RPM biasanya melakukan pekerjaan yang baik bersih-up di lingkungan yang paling membangun.

h) File Daftar ~ terdiri dari daftar file yang akan terdiri dari paket. Selain itu, sejumlah makro yang dapat digunakan untuk mengontrol atribut berkas ketika diinstal, serta untuk menunjukkan file mana yang merupakan dokumentasi, dan yang mengandung informasi konfigurasi. Daftar file sangat penting.

*** RPM’s persyaratan untuk membangun lingkungan ~

A] RPM memerlukan set direktori untuk melakukan membangun. Sementara direktori ‘lokasi dan nama-nama yang dapat diubah. Layout default ditampilkan di bawah ini —

root @ arunsb: ~ # ls-l / usr / src / redhat /

drwxr-xr-x 2 root root 4096 25 Agustus 2007 SUMBER => Berisi sumber-sumber asli, patch, dan ikon file
drwxr-xr-x 2 root root 4096 25 Agustus 2007 Spesifikasi => Berisi file spesifikasi
drwxr-xr-x 2 root root 4096 25 Agustus 2007 BUILD => Direktori di mana sumber membongkar, & perangkat lunak dibangun
drwxr-xr-x 8 root root 4096 28 Mei 2008 RPMS => Berisi file-file paket biner yang diciptakan oleh proses membangun
drwxr-xr-x 2 root root 4096 25 Agustus 2007 SRPMS => Berisi file paket source yang dibuat oleh proses membangun

root @ arunsb: ~ #

B] Perlu untuk mengekspor beberapa variabel global yang digunakan oleh RPM —

root @ arunsb: ~ # export RPM_BUILD_DIR = /usr/src/redhat/BUILD/
root @ arunsb: ~ # export RPM_SOURCE_DIR = /usr/src/redhat/SOURCES/

Langkah 1] Buat Spesifikasi (spec) File ~

root@arunsb:~# head -n 50  /usr/src/redhat/SPECS/openlsm.spec
# Authority: Arun Bagul

#RPM_BUILD_DIR    /usr/src/redhat/BUILD/
#RPM_SOURCE_DIR    /usr/src/redhat/SOURCES/

%define MY_PREFIX    /usr/local/openlsm/

## Preamble Section-
Name: openlsm
Version: 0.99
Vendor: IndianGNU.org & openlsm
Release: r45
Group: System Environment/Daemons
Packager: IndianGNU.org (http://www.indiangnu.org)
URL: http://openlsm.sourceforge.net/
Summary: openlsm Admin Server
License: GPL

%description
openlsm Admin Server is free & open source web based control panel for Linux,Unix systems.

## Preparation Section-
%prep

rm -rf ${RPM_BUILD_DIR}/openlsm-0.99-r45/
tar xvfz ${RPM_SOURCE_DIR}/openlsm-0.99-r45.tar.gz -C ${RPM_BUILD_DIR}

## Build Section-
%build

cd ./openlsm-0.99-r45/
./configure –prefix=/usr/local/openlsm –with-mysql=/usr/bin/mysql_config –enable-internal-pcre –with-geoip=/usr –with-ldap=/usr –enable-trace
make

## Install Section-
%install

cd ./openlsm-0.99-r45/
make install

## Files Section-
%files

/usr/local/openlsm
/usr/local/openlsm/etc/openlsm/openlsm.conf
/usr/local/openlsm/etc/openlsm/openlsm.conf.perf_sample
/usr/local/openlsm/etc/openlsm/ssl/
/usr/local/openlsm/bin/openlsm-config
….
…..
….. list of files installed by pkg
root@arunsb:~#

* Bagaimana Anda membuat File List?

Membuat daftar file adalah proses manual. Apa yang saya lakukan adalah saya mengambil daftar file dari direktori awalan diinstal secara manual dengan perintah find seperti yang ditunjukkan di bawah ini …

root@arunsb:~# find /usr/local/openlsm/ -type f -or  -type d

Langkah 2] Menjalankan Build ~

root@arunsb:~# cd /usr/src/redhat/SPECS
root@arunsb:/usr/src/redhat/SPECS# ls -l  openlsm.spec
-rw-r–r– 1 root root 12938 Dec  2 17:21 openlsm.spec
root@arunsb:/usr/src/redhat/SPECS#

root@arunsb:/usr/src/redhat/SPECS# rpmbuild   -ba  openlsm.spec

….
… ..

Unpackaged memeriksa file (s): / usr / lib / rpm / check-files% (buildroot)
Wrote: / usr/src/redhat/SRPMS/openlsm-0.99-r45.src.rpm
Wrote: / usr/src/redhat/RPMS/i386/openlsm-0.99-r45.i386.rpm
root @ arunsb: / usr / src / redhat / Spesifikasi # echo $?
0

root @ arunsb: / usr / src / redhat / Spesifikasi # ls-l / usr/src/redhat/SRPMS/openlsm-0.99-r45.src.rpm
-rw-r-r-1 root root 3206 Desember 2 17:50 / usr/src/redhat/SRPMS/openlsm-0.99-r45.src.rpm
root @ arunsb: / usr / src / redhat / Spesifikasi # ls-l / usr/src/redhat/RPMS/i386/openlsm-0.99-r45.i386.rpm
-rw-r-r-1 root root 3.052.868 Desember 2 17:50 / usr/src/redhat/RPMS/i386/openlsm-0.99-r45.i386.rpm
root @ arunsb: / usr / src / redhat / Spesifikasi #

* Sumber dan paket biner dibuat!!

** Mari kita lihat apa yang terjadi di “/ usr / src / redhat /” direktori

root @ arunsb: / usr / src / redhat # pwd
/ usr / src / redhat
root @ arunsb: / usr / src / redhat # ls
Spesifikasi SUMBER BUILD RPMS SRPMS
root @ arunsb: / usr / src / redhat # ls BUILD /
openlsm-0,99-R45 <== Sumber diekstrak di sini sebagai bagian dari membangun instruksi dari file spesifikasi yaitu “openlsm.spec”
root @ arunsb: / usr / src / redhat # ls SUMBER /
0,99-openlsm-r45.tar.gz <== asli ‘openlsm-0,99-r45.tar.gz’ file source disalin oleh saya
root @ arunsb: / usr / src / redhat # ls RPMS /
athlon i386 i486 i586 i686 noarch
root @ arunsb: / usr / src / redhat # ls RPMS/i386 /
0,99-openlsm-r45.i386.rpm <== Binary paket rpm dibuat!
root @ arunsb: / usr / src / redhat # ls SRPMS /
0,99-openlsm-r45.src.rpm <== Sumber paket rpm dibuat!
root @ arunsb: / usr / src / redhat #

Langkah 3] Sekarang instal paket dan mengujinya ~

root @ arunsb: / usr / src / redhat # cp RPMS/i386/openlsm-0.99-r45.i386.rpm / home / arunsb /

root @ arunsb: / usr / src / redhat # cd / home / arunsb /
root @ arunsb: ~ # ls
0,99-openlsm-r45.i386.rpm
root @ arunsb: ~ # rpm-ivh openlsm-0,99-r45.i386.rpm
Menyiapkan … ########################################### [100%]
1: openlsm ########################################### [100%]
root @ arunsb: ~ # ls / usr / local / openlsm /
contrib bin lib sbin etc termasuk skrip berbagi var
root @ arunsb: ~ #

** Menjalankan server openlsm ~

root @ arunsb: ~ # / usr / local / openlsm / contrib / openlsm-redhat mulai
* Memulai openlsm admin server: openlsm
. [OK]
root @ arunsb: ~ #
root @ arunsb: ~ # / usr / local / openlsm / contrib / openlsm-redhat status
openlsm (pid 21607) is running …
root @ arunsb: ~ #

root @ arunsb: ~ # rpm-q openlsm-0,99-R45
openlsm-0,99-R45
root @ arunsb: ~ #

root @ arunsb: ~ # rpm-ql openlsm-0,99-R45
..

root @ arunsb: ~ # rpm-Qiv openlsm-0,99-R45
Nama: openlsm Relokasi: (tidak relocatable)
Versi: 0.99 Vendor: IndianGNU.org & openlsm
Release: R45 Build Date: Wed 02 Dec 2009 05:50:54 IST
Instal Tanggal: Wed 02 Dec 2009 06:06:23 IST Build Host: alongseveral-dr.eglbp.corp.yahoo.com
Group: System Environment / Daemon Sumber RPM: 0,99-openlsm-r45.src.rpm
Ukuran: 14877918 License: GPL
Signature: (none)
Packager: IndianGNU.org (http://www.indiangnu.org)
URL: http://openlsm.sourceforge.net/
Ringkasan: openlsm Admin Server
Keterangan:
Admin Server openlsm gratis & open source berbasis web panel kontrol untuk Linux, sistem Unix.
root @ arunsb: ~ #

** CATATAN ~ Artikel ini tidak mengandung informasi tentang cara menetapkan mikro, bagaimana untuk menyalin dokumen, halaman manual untuk lokasi default, bagaimana mengatur permision dan kepemilikan dll saya akan mencakup topik-topik ini dalam artikel berikutnya di RPM.

** Silakan merujuk artikel inggris ~ http://www.indiangnu.org/2009/how-to-create-or-build-rpm-package/

Salam,
Arun Bagul

Similar Posts:

Leave a Reply

Your email address will not be published.