If thats the only place where you can leave your doubts
Ill hold you up and be your way out
And if we burn away, Ill pray the skies above
For snow to fall on the sahara
– Snow On The Sahara, Anggun
Di semester yang ke 7 ini, salah satu mata kuliah yang menurut saya cukup menantang adalah teknologi open source. Di mata kuliah ini, mahasiswa di tuntut untuk membuat sebuah project open source sederhana , memaintain proses release, development, bug tracking, dokumentasi di sepanjang semester. Saya, vivin,aris,alim dan anif membuat sebuah addons firefox sederhana bernama purezilla. Dan pada UAS kemarin, salah satu poin yang dinilai adalah pemaketan project open source. Untuk pemaketan pada add ons mozilla, sedikit berbeda dengan pemaketan aplikasi biasa. This time i wanna share it with you guys, gak susah kok cuman butuh ketelitian saja. Untuk pemaketan ini saya lakukan diatas Ubuntu 8.10 Intrepid, berikut ini langkah langkahnya.
tampilan GDebi ketika instalasi paket purezilla
1. Bersiap siap
Langkah awal sebelum melakukan pemaketan adalah mempersiapkan semua bahan bahan yang diperlukan. Yang kita butuhkan pertama kali tentu saja extension mozilla berformat .xpi. Setelah itu lakukan instalasi paket paket yang diperlukan untuk melakukan pemaketan.
apt-get install build-essential firefox-3.0 xulrunner-1.9-dev mozilla-devscripts cdbs debhelper devscripts unzip bzr
selain itu nantinya hasil paket harus di sign menggunakan GPG, untuk itu diperlukan GPG client. Saya menggunakan KGpg, tapi klo pake yang lain sepertinya juga tidak masalah. Lanjut ke langkah berikutnya.
2. Unpack file XPI extension
File extension yang berupa XPI harus di bongkar terlebih dahulu sebelum melakukan pemaketan. Untuk melakukan ini, ketikkan perintah dibawah pada console.
med-xpi-unpack purezilla.xpi purezilla
Purezilla.xpi adalah nama filenya dan purezilla adalah folder tempat dimana hasil ektraksi ditaruh.
3. Persiapkan folder pemaketan
Selanjutnya yang diperlukan adalah membuat struktur folder pemaketan. Pertama tama , kita buat folder dengan nama namaextension.ubuntu. Ganti namaextension dengan nama ekstension yang diinginkan. Nama extension harus konsisten selama proses pemaketan nantinya dan saya sarankan menggunakan huruf kecil semua karena ada beberapa kasus dimana error muncul ketika nama paket terdapat huruf besar (thanx to Muhammad Rohmatulloh for this advice). Setelah itu di dalamnya, buatlah folder bernama debian.
Taruh hasil ekstraksi .xpi pada langkah sebelum ini pada sejajar dengan folder debian.
struktur direktori yang dibuat
4. Download script packaging dari ubuntu launchpad
Ada 5 script yang harus di donlot yaitu control, rules, copyright ,changelog dan compat. Download di url :
http://bazaar.launchpad.net/~mozillateam/firefox-extensions/XPI.TEMPLATE/files
Jika mempunyai bazzar client, folder ini juga bisa dicheckout dengan URL yang sama. Masukkan semua file script kedalam folder debian.
5. Setting script control
file control ini berisi informasi metadata paket. Ganti parameter source dengan nama paket yang dipakai. Dibawah adalah control file yang saya pakai untuk purezilla.
control file
Control file purezilla juga bisa dilihat di pastebin saya. Ganti parameter sesuai kebutuhan.
5. Setting rules
File rules adalah konfigurasi script yang nantinya akan dijalankan. Ada beberapa parameter yang harus diseting. Jangan lupa untuk menghapus tanda # didepan jika akan memasukkan nilai parameter.
- MOZ_EXTENSION_PKG : isikan dengan nama package. Nama ini harus sama dengan namafolder dan parameter source pada file control.
- MOZ_XPI_FILE : Nama file xpi yang akan di generate oleh script. Disarankan utuk memasukkan nama package sebagai nama file.
- MOZ_XPI_EMID : Masukkan emid dari extension firefox yang akan dipaket. Emid ini bisa dilihat di file install.rdf. INGAT!! yang dimasukkan kedalam parameter ini adalah emid dari extension mozilla bukan emid dari mozilla firefox.
- MOZ_XPI_BUILD_COMMAND : Isi parameter ini jika anda mempunyai script build XPI buatan sendiri. Jika tidak, leave it just like it was.
- MOZ_XPI_MOZILLA_DIRS : Isi parameter ini jika anda menggunakan script untuk ekstensi selain firefox (Thunderbird misalnya). Saat ini biarkan saja default.
Konfigurasi rules dari purezilla dapat dilihat di pastebin ini.
6.Pastikan semua konfigurasi benar
pastikan semua konfigurasi sudah benar, sekali lagi. Its very hard to track once it gone wrong, so make sure youve had the correct confguration one more time.
7. Saatnya memaket!!
masuk kedalam folder namaextension.ubuntu lalu lakukan perintah ini sebagai root :
debuild -b
lalu proses akan berjalan. Jika semuanya berjalan lancar, di folder paling luar akan terdapat file namaextensi-ubuntu.deb.
8. Cek apakah paket berfungsi dengan baik.
Lakukan instalasi dengan menggunakan perintah :
dpkg -i [nama file paket]
Setelah itu buka mozilla firefox, jika paket terinstalasi dengan benar maka akan muncul warning bahwa terdapat addons baru di firefox.
addons berhasil diinstall
Congrats!! proses pemaketan sudah berhasil.
Untuk info lebih lanjut, anda bisa :
– lihat tutorial lain dari Alexander Sack di sini.
– gabung ke milis ubuntu-mozilla dan bertanya disana.
– you can reach me by YM. Klo sedang tidak hectic, i would love to help :).
Tutorial ini terselenggara berkat kontribusi beberapa pihak. I would like to give my thanx to :
- Sasa Bodiroza dan Alexander Sack (ubuntu-mozilla team) untuk kesediaannya menjawab email email pertanyaan dari saya.
- Muhak dan Purnama (Hanif Project) atas saran dan masukannya.
lets contribute to open source folks :).
Siap dicoba gan.
ki, best pratice sih yah, apa ngga lebih baek kalo tetep make paket XPI mozilla dan instalasi standar make feature addon mozilla untuk distribusi.
ehm.. ternyata juga muncul di panel addon yah 🙂
eniwe, nice tutorial, thumb up 🙂
iya sih yok, tapi di ubuntu ada teamnya (ubuntu-mozilla) sendiri… menurutku sih lebih memudahkan, karena tinggal pake console di apt-get….klo masih xpi harus searching dulu di portad addons mozilla
i see ^_^ tengkyu infone…
sekarang ku lebih chrome user sih 🙂
udah jarang online di linux, so FF-ku paling cuman pasangin addon minimal 🙂
Thank’s… Yaa…
Tas Informasi…Nya