Halo! sekarang udah hari ke-2 kita menjalankan ibadah puasa, saya juga sekarang lagi makan saur pas nulis artinkel ini, yah daripada galau saur sendirian ga ada yang nemenin ya udah dech mending sambil ngeblog. Kebetulan akhir-akhir ini banyak ide seger yang ngalir dalam kepala, daripada ntar lupa ya lebih baik di dokumentasiin sekaligus di share. Mudah-mudahan aja bisa bermanfaat. Amin 😀 Pada artikel saya kali ini, saya akan membahas tentang bagaimana cara membuat paket debian installer dari sebuah aplikasi HTML5, nah kalau artikel kemarin kita udah bahas soal Apache Cordova untuk ngebuild aplikasi HMTL5 menjadi Mobile Application, kalau sekarang kita build untuk jadi aplikasi desktop di Ubuntu / Distro turunan Debian lainnya. Sebagai permulaan, saya anjurkan kamu buat baca artikel saya yang terdahulu tentang membuat paket debian dari Aplikasi PHP dan juga dari Aplikasi Java. Sekarang ya jadinya kita tinggal melanjutkan aja dari yang udah ada. 😀 Pertama ada library yang harus kita install terlebih dahulu, namanya adalah Maleo. Kalau misalkan kamu pengguna Blankon, paket ini sebenarnya udah include dengan OS Blankon. Kalau misalkan kamu ga pake Blankon, kamu bisa download paketnya disini. Install dengan perintah
1 | sudo dpkg -i maleo_0.8_i386.deb |
Kalau sudah terinstall, sekarang kita mulai ke pembahasan utama. Nah, Aplikasi HTML5 yang akan kita gunakan adalah Game yang dulu pernah fenomal yaitu “Flappy Bird”. Nah kita bisa download sourcenya di github yang empunya disini. Kalau udah selesai di download, extract isinya dan kita mulai langkahnya. 1. Rename Folder Rename foldernya menjadi format “application-ver”, nah pada kasus kali ini kita rename menjadi “flappybird-0.1” 2. dh_make -n Dengan terminal yang masih aktif, masuk ke direktori yang sudah di rename tadi dan ketikkan perintah “dh_make -n”.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | Type of package: single binary, indep binary, multiple binary, library, kernel module, kernel patch? [s/i/m/l/k/n] s Maintainer name : Riky Fahri Hasibuan Email-Address : riky.hasibuan@gmail.com Date : Fri, 19 Jun 2015 03:12:44 +0700 Package Name : flappybird Version : 0.1 License : gpl3 Type of Package : Single Hit <enter> to confirm: Currently there is no top level Makefile. This may require additional tuning. Done. Please edit the files in the debian/ subdirectory now. You should also check that the flappybird Makefiles install into $DESTDIR and not in / . |
3. Buat file desktop dan config.xml Setelah selesai membuat konfigurasi Make File, sekarang kita buat file flappybird.desktop dan juga config.xml. flappybird.desktop digunakan sebagai shortcut yang nantinya akan didaftarkan oleh system sehingga setelah diinstall, aplikasi kasih akan muncul di menu application. config.xml berguna untuk konfigurasi resolusi window ketika aplikasi dijalankan. flappybird.desktop
1 2 3 4 5 6 7 8 9 10 11 12 13 | [Desktop Entry] Version=1.0 Name=Flappy Bird Comment=Flappy Bird HTML5 GenericName=Flappy Bird Exec=maleo /usr/share/flappybird/ Terminal=false XMultipleArgs=false Type=Application Icon=flappybird Categories=Game; StartupWMClass=Maleo StartupNotify=true |
config.xml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | <?xml version="1.0" encoding="UTF-8"?> <!--widget xmlns="http://www.w3.org/ns/widgets" xmlns:tizen="http://tizen.org/ns/widgets" id="https://github.com/01org/webapps-hangonman" version="1.0" viewmodes="fullscreen"> <icon src="icon_128.png"/> <content src="index.html"/> <name>hangonman</name> <tizen:application id="nrT4AQuzWO" required_version="1.0"/> <tizen:setting screen-orientation="landscape" contextmenu="enable"/> </widget--> <widget xmlns = "http://www.w3.org/ns/widgets" id = "" version ="git" height = "620" width = "820"> <name short="flappybird"> Flappy Bird </name> <description> Flappy Bird ---------------- Webapps Games </description> <author href=""></author> <icon src="flappybird.png"/> <content src="index.html"/> <license>GPL</license> </widget> |
4. Konfigurasi file control & install Masuk ke folder debian, disitu kamu bakal menemukan file control. Nah, untuk file control ini, kita akan melakukan konfigurasi terhadap aplikasi yang akan kita build, seperti depedensi, deskripsi, dan juga section dimana aplikasi tersebut di tampilkan di menu application. File control
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | Source: flappybird Section: games Priority: optional Maintainer: Riky Fahri Hasibuan <riky.hasibua@gmail.com> Build-Depends: debhelper (>= 8.0.0) Standards-Version: 3.9.4 Homepage: <insert the upstream URL, if relevant> #Vcs-Git: git://git.debian.org/collab-maint/flappybird.git #Vcs-Browser: http://git.debian.org/?p=collab-maint/flappybird.git;a=summary Package: flappybird Architecture: any Depends: maleo Description: Flappy Bird Flappy Bird with HTML5 |
File install Sedangkan file install digunakan untuk memberikan perintah pada system berupa konfigurasi direktori dimana aplikasi tersebut akan diinstall. buatlah file bernama install dan copy-paste dibawah ini.
1 2 3 4 5 6 | *.html /usr/share/flappybird assets /usr/share/flappybird css /usr/share/flappybird js /usr/share/flappybird config.xml /usr/share/flappybird *.desktop /usr/share/applications |
Setelah konfigurasi selesai, naik satu level dan kita mulai buildnya. ketikkan perintah “debuild -us -uc” untuk memulai proses build.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 | dpkg-buildpackage -rfakeroot -D -us -uc dpkg-buildpackage: source package flappybird dpkg-buildpackage: source version 0.1 dpkg-buildpackage: source distribution unstable dpkg-buildpackage: source changed by Riky Fahri Hasibuan <elcicko@unknown> dpkg-source --before-build flappybird-0.1 dpkg-buildpackage: host architecture i386 fakeroot debian/rules clean dh clean dh_testdir dh_auto_clean dh_clean dpkg-source -b flappybird-0.1 dpkg-source: info: using source format `3.0 (native)' dpkg-source: info: building flappybird in flappybird_0.1.tar.gz dpkg-source: info: building flappybird in flappybird_0.1.dsc debian/rules build dh build dh_testdir dh_auto_configure dh_auto_build dh_auto_test fakeroot debian/rules binary dh binary dh_testroot dh_prep dh_auto_install dh_install dh_installdocs dh_installchangelogs dh_perl dh_link dh_compress dh_fixperms dh_strip dh_makeshlibs dh_shlibdeps dh_installdeb dh_gencontrol dh_md5sums dh_builddeb dpkg-deb: building package `flappybird' in `../flappybird_0.1_i386.deb'. dpkg-genchanges >../flappybird_0.1_i386.changes dpkg-genchanges: including full source code in upload dpkg-source --after-build flappybird-0.1 dpkg-buildpackage: full upload; Debian-native package (full source is included) Now running lintian... E: flappybird changes: bad-distribution-in-changes-file unstable E: flappybird changes: changed-by-address-malformed Riky Fahri Hasibuan <elcicko@unknown> E: flappybird source: source-is-missing js/buzz.min.js E: flappybird source: source-is-missing js/jquery.min.js E: flappybird source: source-is-missing js/jquery.transit.min.js W: flappybird source: debhelper-but-no-misc-depends flappybird W: flappybird source: package-needs-versioned-debhelper-build-depends 9 E: flappybird source: maintainer-address-malformed Riky Fahri Hasibuan <elcicko@unknown> W: flappybird source: superfluous-clutter-in-homepage <insert the upstream URL, if relevant> W: flappybird source: bad-homepage <insert the upstream URL, if relevant> W: flappybird source: out-of-date-standards-version 3.9.4 (current is 3.9.5) E: flappybird: debian-changelog-file-contains-invalid-email-address elcicko@unknown E: flappybird: helper-templates-in-copyright W: flappybird: copyright-has-url-from-dh_make-boilerplate E: flappybird: copyright-contains-dh_make-todo-boilerplate E: flappybird: maintainer-address-malformed Riky Fahri Hasibuan <elcicko@unknown> W: flappybird: superfluous-clutter-in-homepage <insert the upstream URL, if relevant> W: flappybird: bad-homepage <insert the upstream URL, if relevant> W: flappybird: embedded-javascript-library usr/share/flappybird/js/jquery.min.js W: flappybird: desktop-entry-contains-unknown-key usr/share/applications/flappybird.desktop:8 X??MultipleArgs W: flappybird: desktop-command-not-in-package usr/share/applications/flappybird.desktop maleo Finished running lintian. |
Naik satu tingkat lagi, kalau kamu mengikuti langkah diatas, maka seharusnya kamu menemukan file dengan ekstensi *.deb. install file tersebut. Silahkan dicoba dan semoga bermanfaat 😀