Sejak saat saya menawarkan diri untuk ngulik BlankOn Installer awal tahun lalu, ada banyak sekali yang telah saya pelajari. Proyek ini sempat saya tinggalkan selama beberapa bulan, dan saat kembali lagi, saya jadi bingung lagi. Catatan ini dibuat agar memudahkan saat terjun kembali ke proyek ini. Mudah-mudahan juga berguna buat siapa pun yang ingin ikut ngulik.
Backend dan UI
BlankOn Installer terdiri dari dua bagian yang terpisah repositorinya, yaitu :
blankon-installer, memuat kode vala, bash dan UI HTML5 yang sudah siap. Sumber kode ini dapat dikompilasi dengan./autogen.sh(tentunya setelah dependensinya terpenuhi) menjadi executable yang dapat dijalankan dariblankon-installerdanblankon-session-installer.blankon-installer-ui, memuat kode HTML5 dengan framework AngularJS. Kode ini dapat dikompilasi olehgulp, output-nya diletakkan di direktoridist. Isi dari direktoridistini yang akan dibawa ke direktorisystemdi sumber kodeblankon-installer
Lingkungan pengembangan
Saya menyiapkan 2 buah komputer, salah satunya wajib virtual. Satu digunakan untuk mengetik kode, sistem operasi derivatif Debian yang repositori-nya mengikuti repositori utama BlankOn. BlankOn Installer harus dapat dikompilasi di sini. Satunya lagi adalah mesin virtual (bisa Virtualbox atau Qemu) dimana saya dapat menggonta-ganti dan mengubah periperal dari sistem secara bebas.
Jahitan
Pengembangan BlankOn Installer terkait erat dengan jahitan-jahitan yang ditelurkan pabrikcd BlankOn. Pengujian BlankOn Installer harus dilakukan di atas jahitan-jahitan terbaru. Biasanya dapat ditarik dari http://cdimage.blankonlinux.or.id/blankon/livedvd-harian/current/.
Siklus pengembangan di lokal
Persiapan
- Kloning
blankon-installer - Kloning
blankon-installer-ui - Kloning
blankon-installerdari dev.boi,bzr branch http://dev.blankonlinux.or.id/browser/tambora/blankon-installer blankon-installer-bzr
Sekarang saya memiliki 3 direktori untuk bekerja
blankon-installerblankon-installer-uiblankon-installer-bzr
Yang terakhir hanya berisi sebuah direktori debian untuk membantu pemaketan di lokal.
Siklus
- Jika ada sesuatu yang perlu dikerjakan yang terkait UI/UX, saya akan melakukannya di
blankon-installer-ui, kemudian mengujinya dengangulp;(cd dist;python -m SimpleHTTPServer)dan peramban. - Setelah oke, perubahannya saya commit dan simpan di cabang tertentu. Kemudian saya pindah ke
blankon-installerdan membuat cabang baru. - Saya menyalin berkas-berkas di bawah
blankon-installer-ui/dist/kesystem. Kemudian perubahannya saya commit. - Jika ada yang perlu saya lakukan dengan kode backend-nya, misal di vala atau bash, saya langsung melakukannya di sini, kemudian commit.
- Saatnya menguji. Saya perlu mengkompilasi dan memaketkannya. Saya membuat tarball dari cabang kerja saya.
git archive -o ../blankon-installer_X.X.orig.tar.gz.X.Xadalah versi. - Lalu saya pindah ke
blankon-installer-bzr. Saya membersihkan isi direktori tersebut terlebih dahulu, hanya membiarkan direktoridebian.rm -rf !(debian). - Kemudian membongkar tarbal
origtadi ke sini.tar -xvf ../blankon-installer_X.X.orig.tar.gz - Kompilasi dan paketkan.
dpkg-buildpackage -rfakeroot - Jika lancar dan tidak ada galat, paket *.deb dapat ditemukan di
../ - Paket ini yang akan saya bawa ke sebuah sistem live dari jahitan terbaru. Pada sistem live tersebut, paketnya saya pasang manual dengan
dpkg -i, menimpa installer yang lama. BlankOn Installer siap diuji oleh pengetik kode sendiri.
Pada tulisan selanjutnya, saya akan menjelaskan beberapa hal terkait infrastruktur BlankOn dan detil pengujian installer di mesin fisik maupun mesin virtual.
>> Home