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.

Cara installnya cukup mudah, terutama di distro Linux turunan Debian.

  sudo apt install bzr

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)

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>

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.    

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.

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>

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.

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.

Receipe digunakan untuk membuat paket, nantinya akan dapat diinstall sebagai PPA. Akan dijelaskan di bagaian akhir.

  1. Klik Code,
  2. klik project yang akan dibuat receiptnya, dalam hal ini adalah lp:~samsulmaarif/+junk/haftian,
  3. lalu klik Create package Receipe,
  4. Beri nama receipe, daham hal ini saya beri nama haftian-exp1,
  5. beri keterangan, jika diperlukan,
  6. pilih ownner,
  7. pilih Default distribution series, yaitu distro yang akan dibangun-kan paketnya, Anda dapat memilih semuanya,
  8. Klik Create receipe
  9. Jika berhasil, Anda akan masuk ke laman receipe yang Anda buat tadi, ditandai di URL laman terdapat +recipe/nama-receipe,
  10. klik Build now untuk mulai membangun paket.
  11. Paket akan dibangun dalam beberapa menit, tergantung ukuran paket dan banyaknya distri yang kita pilih tadi.

Selanjutnya, kita dapat menikmati hasilnya dengan menginstall sebagai PPA seperti biasa. Bedanya, ini adalah PPA buatan kita sendiri LOL :-D :-)

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.

  • linux/Bazaar.Version.Control.System
  • Terakhir diubah: 11 bulan yang lalu
  • (Perubahan eksternal)