GNOME/BuildStream

From i14i
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Membangun GNOME Memakai BuildStream https://wiki.gnome.org/Newcomers/BuildSystemComponent

Memulai

Kebutuhan

Ruang disk paling tidak 20 GB

Pasang BuildStream

Acuan: https://buildstream.gitlab.io/buildstream/install.html

Untuk Debian Buster/Sid, pasang paket dasar:

sudo apt-get install python3-dev python3-pip git python3-gi gir1.2-ostree-1.0 ostree bubblewrap python3-ruamel.yaml fuse libfuse2

Pasang juga paket-paket berikut:

sudo apt install build-essential autoconf libtool pkg-config python3-dev

Bila memakai VM lxc, siapkan agar VM bisa memakai fuse, dengan menambahkan baris berikut pada berkas config VM lxc di VM host:

#fuse
lxc.cgroup.devices.allow = c 10:229 rwm

Lalu jalankan juga di VM lxc

$ sudo cp -a /dev /dev.old
$ sudo apt-get install sshfs
$ sudo cp -a /dev.old/* /dev/
$ sudo mknod /dev/fuse c 10 229
$ sudo addgroup --system fuse
$ sudo chgrp fuse /dev/fuse
$ sudo chmod g+w /dev/fuse
$ sudo usermod -G fuse `whoami`

Pasang dengan pip:

git clone https://gitlab.com/BuildStream/buildstream.git
cd buildstream
pip3 install --user -e .

Sesuaikan path, jalankan yang berikut, dan tambahkan juga di ~/.bashrc:

export PATH=${PATH}:~/.local/bin

Bash completion, pasang yang berikut di ~/.bash_completion:

# BuildStream bash completion scriptlet.
#
# On systems which use the bash-completion module for
# completion discovery with bash, this can be installed at:
#
#   pkg-config --variable=completionsdir bash-completion
#
# If BuildStream is not installed system wide, you can
# simply source this script to enable completions or append
# this script to your ~/.bash_completion file.
#
_bst_completion() {
    local IFS=$'
'
    COMPREPLY=( $( env COMP_WORDS="${COMP_WORDS[*]}" \
                   COMP_CWORD=$COMP_CWORD \
                   _BST_COMPLETION=complete $1 ) )
    return 0
}

complete -F _bst_completion -o nospace bst;

Atur BuildStream

Buat berkas .config/buildstream.conf yang berisi:

# This configuration reduces the amount of necessary rebuilds
projects:
  gnome:
    strict: False

# This configuration lets you control the number of allowed parallel builds
scheduler:
  builders: 2

Membangun GNOME

Unduh Proyek GNOME

Build pertama

Ambil metadata build terakhir

Menjalankan perangkat lunak yang dibangun memakai BuildStream

Mengembangkan

Memutakhirkan satu modul

Bila Ada yang Salah

Langkah Selanjutnya