Mock untuk build paket: Perbedaan revisi
Baris 49: | Baris 49: | ||
Perintah di atas akan membuat chroot (ada di: /var/lib/mock/<system type>/root) | Perintah di atas akan membuat chroot (ada di: /var/lib/mock/<system type>/root) | ||
− | == Pasang dependencies == | + | == Akses shell dari mock == |
+ | === Pasang dependencies === | ||
Dependencies suatu paket dapat dipasang. Opsi "--no-clean" diperlukan. | Dependencies suatu paket dapat dipasang. Opsi "--no-clean" diperlukan. | ||
$ mock --no-clean installdeps ~/rpmbuild/SRPMS/paketku-1.2-3.src.rpm | $ mock --no-clean installdeps ~/rpmbuild/SRPMS/paketku-1.2-3.src.rpm | ||
Dependencies sudah siap untuk build src.rpm menjadi rpm. | Dependencies sudah siap untuk build src.rpm menjadi rpm. | ||
+ | $ mock-helper yum --installroot /var/lib/mock/<system type>/root install nano | ||
+ | |||
+ | === Masuk shell === | ||
+ | $ mock shell | ||
+ | Setelah masuk shell lakukan: | ||
+ | cd /builddir/build/SPECS | ||
+ | nano paketku.spec # lakukan perubahan spec | ||
+ | rpmbuild -bb paketku.spec | ||
== Penyesuian Paket == | == Penyesuian Paket == |
Revisi per 30 Maret 2010 05.52
Mock dipakai untuk build paket untuk versi tertentu. Misal dari Fedora 12 dapat melakukan build paket untuk Fedora 8, atau bahkan build paket untuk CentOS.
Daftar isi
Pasang Mock
# yum -y install mock
Atur Konfigurasi
Misal fedora-11-i386.cfg sebagai default
# cd /etc/mock # ln -s --force fedora-11-i386.cfg default.cfg
Agar mock memakai repositori lokal lakukan penyesuaian:
SEMULA:
# repos [fedora] name=fedora mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=fedora-11&arch=i386 failovermethod=priority [updates-released] name=updates mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=updates-released-f11&arch=i386 failovermethod=priority [local] name=local baseurl=http://kojipkgs.fedoraproject.org/repos/dist-f11-build/latest/i386/ cost=2000 enabled=0
MENJADI (misal)
# repos [f11-all] name=f11-all baseurl=http://192.168.1.100/public/fedora/f11/all [f11-updates] name=f11-updates baseurl=http://192.168.1.100/public/fedora/f11/updates
Tambah pengguna ke grup mock
Pengguna yang akan melakukan build paket harus dimasukkan ke grup mock. Misal memasukkan pengguna dengan nama "igos"
# usermod -a -G mock igos
Inisialisasi mock
$ mock clean $ mock init
Perintah di atas akan membuat chroot (ada di: /var/lib/mock/<system type>/root)
Akses shell dari mock
Pasang dependencies
Dependencies suatu paket dapat dipasang. Opsi "--no-clean" diperlukan.
$ mock --no-clean installdeps ~/rpmbuild/SRPMS/paketku-1.2-3.src.rpm
Dependencies sudah siap untuk build src.rpm menjadi rpm.
$ mock-helper yum --installroot /var/lib/mock/<system type>/root install nano
Masuk shell
$ mock shell
Setelah masuk shell lakukan:
cd /builddir/build/SPECS nano paketku.spec # lakukan perubahan spec rpmbuild -bb paketku.spec
Penyesuian Paket
Paket yang akan dibuild dengan mock dapat disesuaikan lebih dulu. Setelah pengaturan selesai, buat src.rpm:
$ rpmbuild -bs ~/rpmbuild/SPECS/paketku.spec
Berkas src.rpm yang dihasilkan ada di ~/rpmbuild/SRPMS/paketku-1.2-3.src.rpm
Build Paket
Sintak:
$ mock -r <configfile> --rebuild ~/rpmbuild/SRPMS/paketku-1.2-3.src.rpm
Contoh1: Paket yang akan di build adalah paketku-1.2-3.src.rpm untuk fedora-11-i386, lakukan:
$ mock --rebuild package-1.2-3.src.rpm
Contoh2: Paket yang akan di build adalah paketku-1.2-3.src.rpm untuk fedora-8-i386, lakukan:
$ mock -r fedora-8-i386 --rebuild paketku-1.2-3.src.rpm
Contoh3: Memakai beberapa parameter
$ mock -r fedora-10-x86_64 \ --resultdir=/home/igos/var/rpm/mock/"%(dist)s"/"%(target_arch)s"/ \ --no-clean --no-cleanup-after \ --rebuild paketku-1.2-3.src.rpm