IGOS Nusantara dan repomanage

IGOS Nusantara memakai repositori sendiri. Berkas src.rpm yang berasal dari distro master dikompilasi ulang. Jika proses kompilasi ulang telah selesai. Proses selanjutnya adalah melakukan repomanage. Aplikasi repomanage dapat dipakai untuk membuang paket yang memiliki nomor versi lama.

IGOS Nusantara 8 versi 32 bit yang saat ini sedang dikembangkan memiliki paket awal dari distro master ditambah paket hasil kompilasi ulang. Dua set paket ini perlu diseleksi. Seleksi dilakukan dengan mengumpulkan dua set paket dalam satu folder induk.

Folder ada di /home/repo32bit/ dan /home/repo64bit/

IGN8 32 bit

/home/repo32bit/master dan /home/repo32bit/ign8. Dua set paket ini berukuran 38 GB. Pemilihan atau seleksi memakai perintah repomanage.

# time repomanage –old /home/repo32bit/ > /home/repo32-lama.txt
real    24m58.582s

Hasilnya ada 25464 paket rpm versi lama. Setelah paket rpm lama dihapus, ukuran paket menjadi 19 GB.

 

IGN8 64 bit

/home/repo64bit/master dan /home/repo64bit/ign8. Dua set paket ini berukuran 48 GB.

# time repomanage –old /home/repo64bit/ > /home/repo64-lama.txt
real    28m31.048s

Hasilnya ada 22449 paket rpm versi lama. Setelah paket rpm lama dihapus, ukuran paket menjadi 25 GB.

Update 2012-12-12

Repositori sejak tanggal 10 Desember sampai 12 Desember 2012 mengalami pembaruan memakai rpmrebuild. Pemakaian rpmrebuild dilakukan untuk optimasi ukuran paket menjadi lebih kecil. Parameter rpmrebuild yang dipakai untuk memperkecil ukuran memakai metode kompresi xz (lzma). Berkas rpm sebanyak 155 yang ada di direktori “all/besar” yang semula berukuran lebih dari 10GB, setelah dilakukan rpmrebuild berhasil dibuat ringkas menjadi 8.7GB.

Berkas rpm lainnya yang diproses dengan rpmrebuild sebanyak 1695 rpm IGN8 64bit dan 1683 rpm 32bit.


Update 2012-11-28

# du -sh /home/repo/A1-ign8-dot5
48G    /home/repo/A1-ign8-dot5

# du -sh /home/repo/A1-ign8-dot5_x86_64
60G    /home/repo/A1-ign8-dot5_x86_64

# repomanage –old /home/repo/A1-ign8-dot5_x86_64/ > /home/repo/paket64-lama.txt
# repomanage –old /home/repo/A1-ign8-dot5/ > /home/repo/paket32-lama.txt
# cat /home/repo/paket64-lama.txt | wc -l
15696
# cat /home/repo/paket32-lama.txt | wc -l
8264

Update 2012-10-20

Proses repomanage telah dilakukan saat IGN8 Alfa, Beta dan versi Final. Proses repomanage yang dilakukan saat IGN telah menambah lebih dari 10.000 berkas rpm versi baru. Jumlah 10.000 berkas rpm baru, akan mengganti 10.000 berkas rpm lama. Berkas rpm versi lama tentunya akan dihapus. Keseluruhan berkas rpm yang diproses adalah:

berkas_rpm_fc17_32bit= 25464

berkas_rpm_fc17_64bit= 22449

berkas_rpm_ign8_32bit= 25464

berkas_rpm_ign8_64bi= 22449

berkas_rpm_ign8_32bit_beta= 10.000

berkas_rpm_ign8_64bit_beta= 10.000

berkas_rpm_ign8_32bit_final= 5.000

berkas_rpm_ign8_64bit_final= 5.000

= berkas_rpm_fc17_32bit + berkas_rpm_fc17_64bit + berkas_rpm_ign8_32bit + berkas_rpm_ign8_64bit + berkas_rpm_ign8_32bit_beta + berkas_rpm_ign8_64bit_beta + berkas_rpm_ign8_32bit_final + berkas_rpm_ign8_64bit_final

= 25464 + 22449 + 25464 + 22449 + 10.000 + 10.000 + 5.000 + 5.000

= 125.826

IGOS Nusantara 8 dan 23.048 kompilasi ulang

IGOS Nusantara sejak tahun 2006 telah memiliki repositori sendiri. IGOS Nusantara telah menyediakan paket atau aplikasi yang disimpan dalam satu server. Pengguna tidak perlu lagi repot mengakses server lain atau server tambahan.

Penyediaan paket atau aplikasi agar independen idealnya dilakukan dengan melakukan kompilasi ulang berkas src.rpm dari distro induk. Misal IGOS Nusantara yang memakai basis Fedora 17 melakukan kompilasi src.rpm untuk menghasilkan paket *.ign8.rpm. Tiap satu rilis IGOS Nusantara ada banyak src.rpm yang harus dikompilasi ulang. Kompilasi ulang yang harus dilakukan untuk IGOS Nusantara 8 sebanyak 23.048 src.rpm (kompilasi 11.524 src.rpm untuk IGN8 32 bit dan kompilasi 11.524 src.rpm untuk IGN8 64bit).

Proses kompilasi sebagian besar dilakukan dengan memakai skrip. Skrip mengakses satu persatu berkas src.rpm. Satu skrip yang berisi daftar 11.524 src.rpm kemudian dipecah menjadi tujuh skrip (skrip1, skrip2 sampai skrip7). Tujuh skrip kemudian dijalankan secara berbarengan atau paralel. Ada dua server yang dipakai untuk kompilasi ulang, server pertama untuk kompilasi ulang versi 32 bit, server kedua untuk kompilasi ulang versi 64 bit. Proses kompilasi yang dijalankan paralel sebanyak 7 proses dapat memakai 100% atau seluruh prosesor. Beban terbesar yang dipantau memakai utiliti htop sebesar 29.80.

Kompilasi ulang 11.524 src.rpm untuk IGN8 64bit tidak semuanya berhasil dikompilasi. Berkas *.fc17.src.rpm yang sukses dikompilasi dapat dihitung dari berkas *.ign8.src.rpm yang dihasilkan, yaitu ada 10.066 src.rpm, sisanya src.rpm yang gagal sebanyak 2.458 src.rpm. Ada beragam penyebab kegagalan kompilasi. Pengembang IGOS Nusantara harus melakukan penelusuran dan kompilasi ulang untuk src.rpm yang gagal dikompilasi di tahap awal.

.