Difference between revisions of "GNOME/Compile/3.22/Kali"

From i14i
Jump to navigation Jump to search
 
(33 intermediate revisions by the same user not shown)
Line 2: Line 2:


=JHBuild step-by-step=
=JHBuild step-by-step=
* install Kali Rolling 64-bit; pastikan bahwa Anda memiliki free space di disk paling tidak 40 GB.
==install Kali Rolling 64-bit==
pastikan bahwa Anda memiliki free space di disk paling tidak 40 GB.
... di dalam VM ...
... masuk ke VM ...
* install JHBuild
host $ sudo lxc-console -n gnome
$ sudo apt-get install git python make gnome-common yelp-tools autoconf automake
==install JHBuild==
$ sudo apt install git python make gnome-common yelp-tools autoconf automake
$ git clone git://git.gnome.org/jhbuild
$ git clone git://git.gnome.org/jhbuild
$ cd jhbuild
$ cd jhbuild
Line 18: Line 20:
... ubah isi moduleset menjadi [ 'gnome-world', 'gnome-apps-3.22' ]
... ubah isi moduleset menjadi [ 'gnome-world', 'gnome-apps-3.22' ]
$ mkdir log
$ mkdir log
* periksa kelengkapan paket memakai JHBuild
==periksa kelengkapan paket==
$ jhbuild sanitycheck
$ jhbuild sanitycheck
$ sudo apt-get install apt-file cvs subversion flex bison docbook-xsl
$ sudo apt install apt-file cvs subversion flex bison docbook-xsl
$ sudo apt-file update
$ sudo apt-file update
... persiapan compile di-background ...
... persiapan compile di-background ...
$ sudo apt-get install screen links
$ sudo apt install screen links
... pasang paket-paket yang diperlukan ...
... pasang paket-paket yang diperlukan ...
$ jhbuild sysdeps --install
$ jhbuild sysdeps --install
... grup 1 ...
... grup 1 ...
$ sudo apt-get install --no-install-recommends \
$ sudo apt install --no-install-recommends \
libdmapsharing-3.0-dev libatasmart-dev libflac-dev uuid-dev libxcb1-dev \
libdmapsharing-3.0-dev libatasmart-dev libflac-dev uuid-dev libxcb1-dev \
libtasn1-6-dev libfontconfig1-dev python3-cairo-dev libfreetype6-dev libgbm-dev libudev-dev \
libtasn1-6-dev libfontconfig1-dev python3-cairo-dev libfreetype6-dev libgbm-dev libudev-dev \
Line 44: Line 46:
libxcursor-dev libnl-3-dev libexiv2-dev libsndfile1-dev libsmbclient-dev libsystemd-dev
libxcursor-dev libnl-3-dev libexiv2-dev libsndfile1-dev libsmbclient-dev libsystemd-dev
... grup 2 ...
... grup 2 ...
$ sudo apt-get install --no-install-recommends \
$ sudo apt install --no-install-recommends \
libmusicbrainz5-dev libwebkit2gtk-4.0-dev x11proto-core-dev xtrans-dev gtk-doc-tools \
libmusicbrainz5-dev libwebkit2gtk-4.0-dev x11proto-core-dev xtrans-dev gtk-doc-tools \
libbluetooth-dev libmagic-dev libxinerama-dev libpam0g-dev ragel ruby libgpgme11-dev libmpfr-dev \
libbluetooth-dev libmagic-dev libxinerama-dev libpam0g-dev ragel ruby libgpgme11-dev libmpfr-dev \
gperf libyaml-dev libwebp-dev libhyphen-dev iptables argyll xwayland texinfo libacl1-dev libkrb5-dev \
gperf libyaml-dev libwebp-dev libhyphen-dev iptables argyll xwayland texinfo libacl1-dev libkrb5-dev \
libiw-dev docbook-utils libcap-dev libdb5.3-dev libcups2-dev libgcrypt20-dev \
libiw-dev docbook-utils libcap-dev libdb5.3-dev libcups2-dev libgcrypt20-dev \
libjpeg-turbo8-dev ppp-dev xmlto doxygen cmake libespeak-dev libsystemd-dev libtiff-dev libpoppler-dev \
ppp-dev xmlto doxygen cmake libespeak-dev libsystemd-dev libtiff-dev libpoppler-dev \
emscripten libgles2-mesa-dev libpoppler-glib-dev libopus-dev libgexiv2-dev libssl-dev libvirt-dev \
libgles2-mesa-dev libpoppler-glib-dev libopus-dev libgexiv2-dev libssl-dev libvirt-dev \
libraw-dev libssh2-1-dev highlight spamassassin llvm libjasper-dev bogofilter libsasl2-dev wget \
libraw-dev libssh2-1-dev highlight spamassassin llvm libjasper-dev bogofilter libsasl2-dev wget \
libboost-dev gdb libwebkitgtk-3.0-dev llvm-3.8-dev valac docbook libreadline-dev libselinux1-dev \
libboost-dev gdb libwebkitgtk-3.0-dev valac docbook libreadline-dev libselinux1-dev \
sqlite python-gi uuid-runtime desktop-file-utils libtext-csv-perl sqlite3 gnome-shell \
sqlite python-gi uuid-runtime desktop-file-utils libtext-csv-perl sqlite3 gnome-shell \
libgstreamer-plugins-base1.0-dev
libgstreamer-plugins-base1.0-dev libwebkitgtk-3.0-dev libgnutls28-dev libnice-dev libjpeg62-turbo-dev \
libboost1.61-dev bogofilter-bdb libtiff5-dev llvm-3.6-dev libfwup-dev libsmbios-dev libtotem-dev
... grup 3 ...
... grup 3 ...
$ sudo apt-get install --no-install-recommends \
$ sudo apt install --no-install-recommends \
libcroco3-dev libunistring-dev libelf-dev
libmusicbrainz5-dev libwebkitgtk-3.0-dev libopus-dev libssl-dev libgles2-mesa-dev libraw-dev \
libgexiv2-dev libgnutls28-dev libpoppler-glib-dev libssh2-1-dev libvirt-dev libwebkit2gtk-4.0-dev \
libnice-dev libbluetooth-dev libreadline-gplv2-dev libjasper-dev libjpeg62-turbo-dev texinfo ruby \
libboost1.58-dev docbook-utils libgcrypt20-dev libacl1-dev libcap-dev xmlto libiw-dev libmagic-dev \
libyaml-dev libwebp-dev xwayland llvm spamassassin doxygen gdb bogofilter-bdb libdb5.3-dev libpam0g-dev \
libgpgme11-dev libcups2-dev gperf libsasl2-dev highlight libhyphen-dev ppp-dev argyll cmake ragel \
heimdal-dev libespeak-dev libmpfr-dev

... 'forward port' dari wily karena beberapa paket belum ada di xenial ...
$ URL=http://kambing.ui.ac.id/ubuntu/pool/main/s/systemd/libsystemd-
$ wget ${URL}daemon-dev_225-1ubuntu9.1_amd64.deb
$ wget ${URL}journal-dev_219-7ubuntu6_amd64.deb
$ wget ${URL}login-dev_225-1ubuntu9_amd64.deb
$ sudo dpkg -i lib*.deb
... ganti systemd dengan upstart, systemd dan lxc tidak bersahabat ...
$ sudo apt-get install upstart-sysv
... reboot VM, login via lxc-console ...
... reboot VM, login via lxc-console ...
host $ sudo lxc-console -n gnome
host $ sudo lxc-console -n gnome

* coba build
==coba build==
... download repositori gnome ...
... download repositori gnome ...
$ jhbuild update
$ jhbuild update
Line 87: Line 76:


=Bugfix Spesifik Kali Rolling=
=Bugfix Spesifik Kali Rolling=
==bijiben==
* Bugfix untuk gnome-photos
error:
$ mkdir src; cd src
<pre>
... edit sources.list agar memuat sumber ...
Making all in libbiji
$ sudo apt-get update
make[4]: Entering directory '/home/andika/.cache/jhbuild/build/bijiben/src/libbiji'
$ apt-get source libpng16-dev
GEN stamp-biji-marshalers.h
$ cd libpng1.6*
GEN biji-marshalers.c
$ ./configure
$ make
make all-am
make[5]: Entering directory '/home/andika/.cache/jhbuild/build/bijiben/src/libbiji'
$ sudo make install
CC provider/biji-provider.lo
$ jhbuild buildone gnome-photos
/home/andika/jhbuild/checkout/bijiben/src/libbiji/provider/biji-provider.c:30:32: fatal error: ../biji-marshalers.h: No such file or directory
* Bugfix untuk nemiver
compilation terminated.
$ jhbuild buildone nemiver
</pre>
... pilih 4 untuk ke shell ...
solusi:
$ wget https://bug763840.bugzilla-attachments.gnome.org/attachment.cgi?id=324220 -O nemiver-foo.patch
[[GNOME/Compile/Troubleshoot#Direktori_kerja_kosong]]
$ patch -p1 < nemiver-foo.patch
==gst-plugins-base==
$ exit
error:
... lanjutkan build ...
<pre>
* Bugfix untuk pulseaudio; bug(?) ini akibat dari commit aa02e1654bcdfa0677e19ab9bb27b44dc8bf26b9; belum diketahui fix yang proper; sebagai solusi temporer (hanya supaya build sukses) adalah:
make -C app
$ cd ~/jhbuild/checkout/pulseaudio
make[4]: Entering directory '/home/vagrant/jhbuild/checkout/gst-plugins-base/gst-libs/gst/app'
$ wget http://tempel.blankon.in/1897942?download -O pulseaudio-foo.patch
make[4]: *** No rule to make target 'gstapp-marshal.list', needed by 'gstapp-marshal.h'. Stop.
$ patch -p1 < pulseaudio-foo.patch
make[4]: Leaving directory '/home/vagrant/jhbuild/checkout/gst-plugins-base/gst-libs/gst/app'
$ jhbuild buildone pulseaudio
Makefile:858: recipe for target 'app' failed
* Bugfix untuk evolution
</pre>
$ cd ~/jhbuild/checkout/evolution

$ wget http://tempel.blankon.in/1900068?download -O evolution-foo.patch
==farstream==
$ patch -p1 < evolution-foo.patch
* clone dari repo alternatif https://git.collabora.com/cgit/farstream.git/
$ jhbuild buildone evolution
* checkout tags/0.2.7
* Bugfix untuk gtk+

$ cd ~/jhbuild/checkout/gtk+
==vinagre==
$ wget http://tempel.blankon.in/1926146?download -O gtk-foo.patch
error:
$ patch -p1 < gtk-foo.patch
compile error, deprecated items
$ jhbuild buildone gtk+
solusi:
belum ada, lihat [https://bugzilla.gnome.org/show_bug.cgi?id=768674 bug 768674]

Latest revision as of 10:20, 11 September 2016

Untuk memeriksa hasil terjemahan suatu aplikas GNOME, salah satu cara adalah dengan mengcompile aplikasi tersebut setelah terjemahan terbarunya kita pasang. GNOME memiliki aplikasi jhbuild untuk membantu kita melakukan compile.

JHBuild step-by-step

install Kali Rolling 64-bit

pastikan bahwa Anda memiliki free space di disk paling tidak 40 GB.

... masuk ke VM ...
host $ sudo lxc-console -n gnome

install JHBuild

$ sudo apt install git python make gnome-common yelp-tools autoconf automake 
$ git clone git://git.gnome.org/jhbuild
$ cd jhbuild
$ ./autogen.sh
$ make; make install
$ echo 'PATH=$PATH:~/.local/bin' >> ~/.bashrc
... logout dari VM lalu login lagi ...
$ mkdir .config
$ cp jhbuild/examples/sample.jhbuildrc .config/jhbuildrc
... edit jhbuildrc:
... hapus komentar di baris moduleset dan modules
... ubah isi moduleset menjadi [ 'gnome-world', 'gnome-apps-3.22' ]
$ mkdir log

periksa kelengkapan paket

$ jhbuild sanitycheck
$ sudo apt install apt-file cvs subversion flex bison docbook-xsl
$ sudo apt-file update
... persiapan compile di-background ... 
$ sudo apt install screen links
... pasang paket-paket yang diperlukan ...
$ jhbuild sysdeps --install
... grup 1 ...
$ sudo apt install --no-install-recommends \
libdmapsharing-3.0-dev libatasmart-dev libflac-dev uuid-dev libxcb1-dev \
libtasn1-6-dev libfontconfig1-dev python3-cairo-dev libfreetype6-dev libgbm-dev libudev-dev \
libnl-route-3-dev libical-dev python3-dev libusb-1.0-0-dev libexempi-dev \
libcanberra-gtk3-dev libv4l-dev libx11-dev libgl1-mesa-dev libxi-dev libvpx-dev \
libxdamage-dev libxkbfile-dev libsbc-dev libxcomposite-dev libxslt1-dev libpinyin7-dev \
libgraphviz-dev libgudev-1.0-dev libxft-dev libsqlite3-dev libplymouth-dev libstartup-notification0-dev \
libtag1-dev libjson-c-dev libwavpack-dev libmtdev-dev libnss3-dev libxt-dev libgmime-2.6-dev \
libcanberra-gtk-dev libxtst-dev libpolkit-agent-1-dev libp11-kit-dev libavahi-gobject-dev libcairo2-dev \
libxext-dev libanthy-dev libxcb-dri2-0-dev libgtkspell3-3-dev xutils-dev libpwquality-dev x11proto-kb-dev \
libpolkit-gobject-1-dev xserver-xorg-input-wacom libxrender-dev libxklavier-dev libxfixes-dev \
libarchive-dev libspeex-dev  libepoxy-dev libevdev-dev libdbus-glib-1-dev libexif-dev \
libmozjs-24-dev libxcb-xkb-dev libffi-dev libxml2-dev libpcre3-dev libegl1-mesa-dev libnl-genl-3-dev \
libxrandr-dev libgphoto2-dev libicu-dev libhangul-dev libdrm-dev libdotconf-dev libndp-dev liboauth-dev \
libdvdread-dev libasound2-dev liblcms2-dev libenchant-dev libsm-dev dbus-1-dbg libproxy-dev \
libxcursor-dev libnl-3-dev libexiv2-dev libsndfile1-dev libsmbclient-dev libsystemd-dev
... grup 2 ...
$ sudo apt install --no-install-recommends \
libmusicbrainz5-dev libwebkit2gtk-4.0-dev x11proto-core-dev xtrans-dev gtk-doc-tools \
libbluetooth-dev libmagic-dev libxinerama-dev libpam0g-dev ragel ruby libgpgme11-dev libmpfr-dev \
gperf libyaml-dev libwebp-dev libhyphen-dev iptables argyll xwayland texinfo libacl1-dev libkrb5-dev \
libiw-dev docbook-utils libcap-dev libdb5.3-dev libcups2-dev libgcrypt20-dev \
ppp-dev xmlto doxygen cmake libespeak-dev libsystemd-dev libtiff-dev libpoppler-dev \
libgles2-mesa-dev libpoppler-glib-dev libopus-dev libgexiv2-dev libssl-dev libvirt-dev \
libraw-dev libssh2-1-dev highlight spamassassin llvm libjasper-dev bogofilter libsasl2-dev wget \
libboost-dev gdb libwebkitgtk-3.0-dev valac docbook libreadline-dev libselinux1-dev \
sqlite python-gi uuid-runtime desktop-file-utils libtext-csv-perl sqlite3 gnome-shell \
libgstreamer-plugins-base1.0-dev libwebkitgtk-3.0-dev libgnutls28-dev libnice-dev libjpeg62-turbo-dev \
libboost1.61-dev bogofilter-bdb libtiff5-dev llvm-3.6-dev libfwup-dev libsmbios-dev libtotem-dev
... grup 3 ...
$ sudo apt install --no-install-recommends \
libcroco3-dev libunistring-dev libelf-dev
... reboot VM, login via lxc-console ...
host $ sudo lxc-console -n gnome

coba build

... download repositori gnome ...
$ jhbuild update
... persiapan build ...
$ screen -S build
... build tanpa download repositori. bila ingin repositori dimutakhirkan, hapus opsi -n ...
$ jhbuild tinderbox -n -o log
^a^a^d
$ links log/index.html
... ^r untuk refresh, q untuk keluar, tunggu beberapa lama sampai proses build selesai ...

Bugfix Spesifik Kali Rolling

bijiben

error:

Making all in libbiji
make[4]: Entering directory '/home/andika/.cache/jhbuild/build/bijiben/src/libbiji'
  GEN      stamp-biji-marshalers.h
  GEN      biji-marshalers.c
make  all-am
make[5]: Entering directory '/home/andika/.cache/jhbuild/build/bijiben/src/libbiji'
  CC       provider/biji-provider.lo
/home/andika/jhbuild/checkout/bijiben/src/libbiji/provider/biji-provider.c:30:32: fatal error: ../biji-marshalers.h: No such file or directory
compilation terminated.

solusi:

GNOME/Compile/Troubleshoot#Direktori_kerja_kosong

gst-plugins-base

error:

make -C app
make[4]: Entering directory '/home/vagrant/jhbuild/checkout/gst-plugins-base/gst-libs/gst/app'
make[4]: *** No rule to make target 'gstapp-marshal.list', needed by 'gstapp-marshal.h'.  Stop.
make[4]: Leaving directory '/home/vagrant/jhbuild/checkout/gst-plugins-base/gst-libs/gst/app'
Makefile:858: recipe for target 'app' failed

farstream

vinagre

error:

compile error, deprecated items

solusi:

belum ada, lihat bug 768674