Bazaar Version Control System
Sore ini, diliputi cuaca yang cerah, sambil maintenance server saya sempatkan untuk nge-LAB tentang Bazaar dan pembuatan PPA. Bazaar adalah sistem kontrol versi terdistribusi bertipe client-server yang disponsori oleh Canonical. Bazaar dapat digunakan untuk pengembangan tunggal seorang pengembang, atau secara kolaboratif dalam jaringan.
PPA atau Personal Package Archive adalah sarana yang dibuat oleh Canonical agar para kontributor opensource dapat membuat aplikasi yang siap install untuk distro Ubuntu dan turunannya. Pada catatan singkat ini, saya mencoba menjelaskan langkah-langkah yang saya lakukan untuk membuat PPA. Bisa dibilang, catatan ini merupakan catatan kelanjutan tentang haftian atau H. Aftian, yaitu sebuah bash shell untuk membuat USB Installer BlankOn yang mendukung UEFI.
Install Bazaar
Cara installnya cukup mudah, terutama di distro Linux turunan Debian.
sudo apt install bzr
Inisialisasi proyek,
Setelah diinstall, ketik bzr di terminal, kita langsung disuguhi panduan singkat penggunaan bazaar
samsul@studio:~/Dokumen/Projects/git/haftian$ bzr Bazaar 2.7.0 -- a free distributed version-control tool http://bazaar.canonical.com/ Basic commands: bzr init makes this directory a versioned branch bzr branch make a copy of another branch bzr add make files or directories versioned bzr ignore ignore a file or pattern bzr mv move or rename a versioned file bzr status summarize changes in working copy bzr diff show detailed diffs bzr merge pull in changes from another branch bzr commit save some or all changes bzr send send changes via email bzr log show history of changes bzr check validate storage bzr help init more help on e.g. init command bzr help commands list all commands bzr help topics list all help topics
Nah, dari output perintah tersebut kita jadi tau bagaimana cara menggunakan bazaar. Sekarang kita lakukan inisiasi project pertama kita. Nah, karena saya sedang di direktori project yang akan saya upload, saya tinggal menjalankan perintah
samsul@studio:~/Dokumen/Projects/git/haftian$ bzr init Created a standalone tree (format: 2a)
Identitas
Kita perlu mengenalkan siapa kita pada Bazaar, hal ini dapat dilakukan dengan perintah
samsul@studio:~/Dokumen/Projects/git/haftian$ bzr whoami "Samsul Ma'arif <mail@samsul.web.id>" samsul@studio:~/Dokumen/Projects/git/haftian$ bzr whoami Samsul Ma'arif <mail@samsul.web.id>
Add & Commit
Mendaftarkan file project ke Bazaar
samsul@studio:~/Dokumen/Projects/git/haftian$ bzr add adding .git adding .gitignore adding README.md adding data.zip adding debian adding haftian adding haftian.patch adding .git/COMMIT_EDITMSG adding .git/HEAD adding .git/ORIG_HEAD adding .git/branches adding .git/config adding .git/description adding .git/hooks adding .git/index adding .git/info adding .git/logs adding .git/objects adding .git/packed-refs adding .git/refs adding debian/README adding debian/README.source adding debian/changelog adding debian/compat adding debian/control adding debian/copyright adding debian/files adding debian/haftian adding debian/haftian-docs.docs adding debian/haftian.debhelper.log adding debian/haftian.substvars adding debian/rules adding debian/source adding .git/hooks/applypatch-msg.sample adding .git/hooks/commit-msg.sample adding .git/hooks/post-update.sample adding .git/hooks/pre-applypatch.sample adding .git/hooks/pre-commit.sample adding .git/hooks/pre-push.sample adding .git/hooks/pre-rebase.sample adding .git/hooks/prepare-commit-msg.sample adding .git/hooks/update.sample adding .git/info/exclude adding .git/logs/HEAD adding .git/logs/refs adding .git/objects/02 ....................................baris dihilangkan adding .git/objects/info adding .git/objects/pack adding .git/refs/heads adding .git/refs/remotes adding .git/refs/tags adding debian/haftian/DEBIAN adding debian/haftian/usr adding debian/source/format adding .git/logs/refs/heads adding .git/logs/refs/remotes adding .git/objects/02/53576cad444ae6f422825ba1e09a33814ef62c ........................................ baris dihilangkan adding .git/refs/heads/debianisasi adding .git/refs/heads/debianisasiv2 adding .git/refs/heads/master adding .git/refs/remotes/origin adding .git/refs/tags/v0 adding .git/refs/tags/v1.0 adding debian/haftian/DEBIAN/control adding debian/haftian/DEBIAN/md5sums adding debian/haftian/usr/local adding debian/haftian/usr/share adding .git/logs/refs/heads/debianisasi adding .git/logs/refs/heads/debianisasiv2 adding .git/logs/refs/heads/master adding .git/logs/refs/remotes/origin adding .git/refs/remotes/origin/HEAD adding .git/refs/remotes/origin/debianisasi adding .git/refs/remotes/origin/debianisasiv2 adding .git/refs/remotes/origin/master adding debian/haftian/usr/local/bin adding debian/haftian/usr/local/share adding debian/haftian/usr/share/doc adding .git/logs/refs/remotes/origin/HEAD adding .git/logs/refs/remotes/origin/debianisasi adding .git/logs/refs/remotes/origin/debianisasiv2 adding .git/logs/refs/remotes/origin/master adding debian/haftian/usr/local/bin/haftian adding debian/haftian/usr/local/share/doc adding debian/haftian/usr/local/share/haftian adding debian/haftian/usr/share/doc/haftian adding debian/haftian/usr/local/share/doc/haftian adding debian/haftian/usr/local/share/haftian/data.zip adding debian/haftian/usr/share/doc/haftian/changelog.Debian.gz adding debian/haftian/usr/share/doc/haftian/copyright adding debian/haftian/usr/local/share/doc/haftian/README.md
Sepertinya terlalu banyak file yang tidak kita inginkan tersimpan, kita perlu mengabaikan beberapa file & folder,
samsul@studio:~/Dokumen/Projects/git/haftian$ bzr ignore .git Warning: the following files are version controlled and match your ignore pattern: .git These files will continue to be version controlled unless you 'bzr remove' them.
Kita hendak mengabaikan folder .git, namun tidak menghilangkannya
samsul@studio:~/Dokumen/Projects/git/haftian$ bzr remove --keep .git removed .git/refs/tags/v1.0 removed .git/refs/tags/v0 removed .git/refs/tags removed .git/refs/remotes/origin/master removed .git/refs/remotes/origin/debianisasiv2 removed .git/refs/remotes/origin/debianisasi removed .git/refs/remotes/origin/HEAD .............................baris dihilangkan
Lakukan commit
samsul@studio:~/Dokumen/Projects/git/haftian$ bzr commit -m "Initial commmit for bazaar" Committing to: /home/samsul/Dokumen/Projects/git/haftian/ added .bzrignore added .gitignore added README.md added data.zip added debian added haftian added haftian.patch added debian/README added debian/README.source added debian/changelog added debian/compat added debian/control added debian/copyright added debian/files added debian/haftian added debian/haftian-docs.docs added debian/haftian.debhelper.log added debian/haftian.substvars added debian/rules added debian/source added debian/haftian/DEBIAN added debian/haftian/usr added debian/haftian/DEBIAN/control added debian/haftian/DEBIAN/md5sums added debian/haftian/usr/local added debian/haftian/usr/share added debian/haftian/usr/local/bin added debian/haftian/usr/local/share added debian/haftian/usr/local/bin/haftian added debian/haftian/usr/local/share/doc added debian/haftian/usr/local/share/haftian added debian/haftian/usr/local/share/doc/haftian added debian/haftian/usr/local/share/doc/haftian/README.md added debian/haftian/usr/local/share/haftian/data.zip added debian/haftian/usr/share/doc added debian/haftian/usr/share/doc/haftian added debian/haftian/usr/share/doc/haftian/changelog.Debian.gz added debian/haftian/usr/share/doc/haftian/copyright added debian/source/format Committed revision 1.
Akun di launchpad.net
Untuk mengirim paket/source code ke launchpad.net Anda harus membuat akun di sana. Dalam hal ini, akun saya adalah : https://launchpad.net/~samsulmaarif. Cara daftarnya rasanya tidak perlu saya tuliskan di sini, tinggal klik link Login / Register di kanan atas, lalu ikuti langkah selanjutnya.
Tambahkan SSH Key di launchpad
Setelah mendaftar, tambahkan kunci SSH Anda di launchpad. Di overview akun Anda, klik Add SSH Key, tempelkan kunci publik (id_rsa.pub) milik Anda di sana, lalu simpan. Cara membuat SSH Key? Dapat bula dibaca di link referensi yang saya cantumkan di bawah.
Jika Anda tidak mengupload kunci SSH, akan muncul pesan sebagai berikut :
samsul@studio:~/Dokumen/Projects/git/haftian$ bzr launchpad-login samsulmaarif bzr: ERROR: The user samsulmaarif has not registered any SSH keys with Launchpad. See <https://launchpad.net/people/+me>
Bazaar login
Kunci SSH sudah diupload, selanjutnya kita dapat login dengan laptop/komputer di mana kita membuat kunci SSH tersebut.
samsul@studio:~/Dokumen/Projects/git/haftian$ bzr launchpad-login samsulmaarif
Pastikan tidak ada pesan error yang muncul.
Push ke launchpad
Perintah bzr push adalah perintah untuk mengupload project ke remote repository.
samsul@studio:~/Dokumen/Projects/git/haftian$ bzr push lp:~samsulmaarif/+junk/haftian The authenticity of host 'bazaar.launchpad.net (91.189.95.84)' can't be established. RSA key fingerprint is SHA256:dS2DmMhdbMsWaFP4HOF7A/ut73ozMR/gDL2Xxs01/7A. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added 'bazaar.launchpad.net,91.189.95.84' (RSA) to the list of known hosts. Created new branch.
Selanjutnya, code yang diupload dapat dilihat di https://code.launchpad.net/~samsulmaarif.
Membuat Package Receipe
Receipe digunakan untuk membuat paket, nantinya akan dapat diinstall sebagai PPA. Akan dijelaskan di bagaian akhir.
- Klik Code,
- klik project yang akan dibuat receiptnya, dalam hal ini adalah lp:~samsulmaarif/+junk/haftian,
- lalu klik Create package Receipe,
- Beri nama receipe, daham hal ini saya beri nama haftian-exp1,
- beri keterangan, jika diperlukan,
- pilih ownner,
- pilih Default distribution series, yaitu distro yang akan dibangun-kan paketnya, Anda dapat memilih semuanya,
- Klik Create receipe
- Jika berhasil, Anda akan masuk ke laman receipe yang Anda buat tadi, ditandai di URL laman terdapat +recipe/nama-receipe,
- klik Build now untuk mulai membangun paket.
- Paket akan dibangun dalam beberapa menit, tergantung ukuran paket dan banyaknya distri yang kita pilih tadi.
Menginstall hasil receipe dengan PPA
Selanjutnya, kita dapat menikmati hasilnya dengan menginstall sebagai PPA seperti biasa. Bedanya, ini adalah PPA buatan kita sendiri
sudo add-apt-repository ppa:samsulmaarif/ppa sudo apt-get update sudo apt-get install haftian
Demikian catatan nge-LAB kali ini, semoga bermanfaat. Jika ada yang ingin ditanyakan, silakan cari di google dulu atau melalui kolom komentar berikut.