Wednesday, February 13, 2013

Launchpad.net: Uploading a package to PPA (Video)


Sebelum melanjutkan membaca, penulis berharap pembaca telah memahami atau setidaknya mengenal pemaketan debian/ubuntu (.deb), jika belum, disarankan untuk sedikit olahraga jemari sembari googling  :)

Meskipun ppa lazim digunakan untuk memasang paket perangkat lunak yang sudah jadi dalam bentuk debian package (.deb), pemilik akun Launchpad PPA tidak dapat begitu saja mengunggah (upload) package debian (.deb) yang telah jadi ke Launchpad PPA karena pasti akan ditolak oleh sistem secara otomatis,

pesan penolakan Launchpad PPA
Launchpad PPA sendiri hanya menerima berkas source package debian, berupa berkas orig.tar.gz, orig.tar.xz, orig.tar.bz2, diff.gz, .dsc. untuk berkas binary (.deb) akan dibuild sendiri oleh server Launchpad

Pada Launchpad PPA, setelah sebuah source package debian selesai diunggah, launchpad akan melakukan validasi, dimana nantinya pengguna akan menerima sebuah pesan pada alamat e-mail yang digunakan pada akun Launchpad PPA mengenai status  source package yang diunggah, apakah diterima atau ditolak

pesan Launchpad PPA, paket yang telah diunggah
diterima dan akan diproses
Secara umum berkas source package debian yang telah dipaketkan sesuai dengan kaidah peraturan pemaketan debian/ubuntu dapat diterima oleh Launchpad PPA, tambahan yang mungkin perlu diperhatikan adalah mendefinisikan build target (versi ubuntu) pada changelog (lucid, precise, quantal, raring)


Dalam membangun paket, Launchpad PPA menggunakan beberapa sumber arsip (paket) dependensi diantarnya  :
  • Seluruh paket yang berada di PPA itu sendiri,
  • Seluruh ubuntu arsip repository  (main, restricted, universe dan multiverse)
  • PPA lainnya yang terdaftar dilaunchpad
karenanya ketika mengunggah source package ke Launchpad PPA pastikan paket dependensi yang dibutuhkan untuk membangun paket telah tersedia, karena jika tidak proses pembangunan paket akan gagal. 
Sebagai contoh : seorang pengguna ingin mengunggah source package software1234 pada Launchpad PPA, dan software1234 memiliki dependensi (ketergantungan) pada paket software1234-lib-dev yang tidak terdapat pada ubuntu arsip repository (main, restricted, universe and multiverse), maka agar proses pembangunan dapat berjalan dengan lancar jaya, software1234-lib-dev terlebih dahulu harus diupload ke Launchpad PPA, opsi lain yang dapat digunakan adalah menambahkan PPA lainnya yang memiliki paket software1234-lib-dev

Pengaturan PPA dependensi
Proses pengunggahan source package debian menuju Launchpad PPA, dapat dilakukan menggunakan beberapa cara, salah satunya yang disarankan adalah menggunakan alat bantu dput , penggunaanya mudah dan praktis :)

 

Untuk penggunaan cara lain dapat membaca lebih lanjut pada https://help.launchpad.net/Packaging/PPA/Uploading.

Pada saat melakukan pembangunan paket debian, gunakan opsi -S -sa untuk menghasilkan source saja tanpa binary (.deb) , proses pemaketan debian akan menghasilkan berkas .changes, berkas inilah yang diperlukan untuk proses pengunggahan,
 
dpkg-buildpackage -S -sa 

debuild -S -sa

Proses pengunggahan source package
Terkadang setelah source package debian berhasil diunggah pengguna masih harus menunggu antrian untuk membuild source package, lamanya bervariasi mula dari beberapa menit, hingga beberapa jam.


Setelah pemilik akun Launchpad PPA mendapatkan pesan mengenai source package yang berhasil diunggah dan diterima, tidak menjadi jaminan source package pasti akan sukses dibangun (build) oleh server Launchpad PPA, karena bisa saja karena masalah paket dependensi atau kesalahan lainnya, proses pembangunan bisa berujung pada kegagalan, jika hal ini terjadi sebuah pesan pemberitahuan akan diterima oleh pengguna  lengkap dengan log, yang dapat digunakan untuk menelusuri kesalahan yang terjadi  :)


Untuk meminimalisir penolakan dari launchpad sebaikannya source package yang akan diunggah dibuild terlebih dahulu pada sistem lokal menggunakan pbuilder. Keseluruhan proses dapat dilihat pada video berikut :


Demikian rangkaian artikel mengenai launchpad PPA, lebih lanjut mengenai pemaketan ubuntu dapat merujuk pada http://developer.ubuntu.com/resources/tools/packaging/

Semoga bermanfaat ;)

1 comment:

  1. Wah akhirnya, makasih Mas. Tutorial-nya bermanfaat banget ^_^

    ReplyDelete