Di mana tepatnya semua kode sumber pada Launchpad dapat ditelusuri?

8

Saya selalu menemukan browser kode sumber dari Launchpad sangat berguna ketika saya perlu menautkan ke kode pengemasan dalam sebuah jawaban. Pola URL cukup sederhana ( https://code.launchpad.net/ubuntu/+source/<package>) sehingga saya sering bisa mengganti kata terakhir setelah mengetik codedi bilah alamat saya. Tetapi, akhir-akhir ini, saya telah menemukan bahwa semakin tidak konsisten untuk menemukan kode pengemasan yang sebenarnya.

Sebagai contoh:

  • GDM - tidak ada yang lebih baru dari 15.10 (lihai) di sana. Tapi jelas dari changelog bahwa kode pengemasan telah berubah sejak saat itu.
  • Bash - ini menarik. Ada tautan ke repositori Git di Launchpad di halaman itu, dan di sana Anda dapat melihat kemasan untuk rilis yang lebih baru. Demikian pula untuk apt , bash, git, grub2, ....

Perhatikan bahwa tidak ada repositori Git yang terdaftar untuk kemasan GDM. Lainnya seperti GDM: bazaar itu sendiri , LightDM , zsh , Chromium , ...

Kemana semua kode pengemasan itu pergi?

Perhatikan bahwa saya tidak ingin mengunduh kode kemasan, saya punya apt-get sourceuntuk itu. Saya tidak ingin menelusuri kode sumber perangkat lunak, saya akan mencari di luar LP untuk itu (kecuali, tentu saja, perangkat lunak dikembangkan pada LP). Saya ingin menelusuri kode kemasan untuk Ubuntu online, dan dapat menautkannya. Untuk Debian, saya biasanya bisa menggali kemasan di Alioth .

muru
sumber

Jawaban:

11

Jawaban singkat: untuk mendapatkan semuanya, Anda harus mengunduh paket sumber secara terpisah; tidak ada satu pun layanan penjelajahan publik untuk Ubuntu yang umumnya tersedia saat ini. Tapi kami sedang mengusahakannya!

Jawaban panjang:

Kode sumber kanonik untuk semua Ubuntu tersedia sebagai paket sumber. Anda dapat membuka https://launchpad.net/ubuntu/+source/hello , misalnya, klik salah satu nomor versi, dan Anda dapat mengunduh sumber dari bagian Unduhan. Untuk menemukan sumber untuk setiap versi halo yang pernah diterbitkan oleh Ubuntu, Anda dapat mengikuti tautan untuk melihat riwayat penerbitan lengkapnya dan mengeklik string nomor versi apa pun dari sana. Pola URL yang sama berfungsi untuk paket sumber apa pun; Anda hanya perlu tahu nama paket sumbernya.

Paket source adalah kanonik karena mereka adalah unit dasar yang bekerja dengan pengembang Ubuntu untuk mengembangkan Ubuntu. Tetapi mereka agak sulit; membongkar paket sumber membutuhkan beberapa alat. dget, dari devscriptspaket, dapat mengunduh, memverifikasi, dan membongkar paket sumber dalam satu perintah jika Anda memberikan URL ke file dsc.

Ini tentu saja tidak nyaman.

Bertahun-tahun yang lalu, ada upaya untuk membuat ini lebih baik. Ubuntu menyebutnya "Ubuntu Distributed Development", atau singkatnya UDD, dan mengembangkan sistem kontrol versi terdistribusi yang disebut Bazaar untuk mencoba menyelesaikan masalah ini. Sebagai bagian dari upaya ini, paket-paket sumber secara otomatis diimpor ke platform hosting Bazaar VCS di Launchpad saat mereka diterbitkan. Pada saat itu, Anda secara teoritis dapat menemukan kode sumber untuk paket apa pun di code.launchpad.net. Misalnya, Anda masih dapat melihat sumber yang diimpor Bazaar untuk hellopaket untuk rilis Ubuntu Precise and Trusty di https://code.launchpad.net/ubuntu/+source/hello .

Bazaar berfokus pada satu set kasus penggunaan tertentu, dan memiliki antarmuka baris perintah yang dipikirkan dengan sangat baik. Jelmer Vernooij, salah satu pengembangnya, telah menulis retrospektif yang menarik tentang pengembangan Bazaar , termasuk bagaimana hal ini cocok dengan sistem kontrol versi terdistribusi lainnya yang sedang dikembangkan saat itu.

Pada waktunya, git mengambil alih dunia, dan Bazaar mengambil kursi belakang. Sementara itu, UDD sudah mulai menunjukkan keretakannya. Semakin banyak paket gagal diimpor dan perlu intervensi manual untuk memperbaikinya. Ini berarti bahwa, bahkan ketika pengembangan Ubuntu pada paket-paket sumber berlanjut, tampilan Bazaar dari paket-paket itu code.launchpad.netgagal diperbarui.

Akhirnya, importir UDD dimatikan karena tidak ada yang memelihara dan itu tidak dianggap layak untuk membuatnya tetap berjalan.

Bersamaan dengan ini, pada tahun 2014 saya menerbitkan beberapa catatan tentang bagaimana saya menggunakan git untuk melakukan pengembangan Ubuntu ; walaupun pada saat itu paket-paket Ubuntu tidak dikelola secara umum.

Alur kerja berbasis git ini telah diadopsi oleh tim saya (tim Ubuntu Server) dan kami terus berupaya membuat sumber Ubuntu tersedia melalui git. Seorang kolega dan saya sudah mulai menulis seri blog (belum selesai) menjelaskan apa yang kami lakukan.

Repositori git yang Anda temukan untuk beberapa paket adalah hasil dari importir kami ( ~usd-import-team). Kami masih aktif mengerjakan ini, itulah sebabnya mengapa belum semua paket tersedia dengan cara ini. Kami belum pada tahap "beta", berharap untuk mengimpor kembali semua paket sebelum kami siap (melanggar semua hash komit sebelumnya), dan belum memperbarui semua repositori impor dengan pekerjaan pengembangan Ubuntu terbaru. Tetapi ketika kami telah mengimpor versi tertentu dari suatu paket, itu harus cukup akurat untuk dijelajahi.

Kami berharap untuk mengimpor semua paket dan terus memperbaruinya secara otomatis dalam beberapa bulan mendatang.

Salah satu tujuan kami adalah untuk menyelesaikan pertanyaan yang Anda ajukan: memiliki satu tempat resmi di Launchpad tempat semua kode sumber Ubuntu dapat ditelusuri.

Robie Basak
sumber