Bagaimana cara mengetahui sumber repositori dari suatu paket di debian?

9

Di Debian, AFAIK beberapa paket dikelola di Subversion (terkenal team-pkg-gnome), sementara beberapa dipertahankan dalam git, dan yang lain di beberapa VCS lainnya.

Apakah ada cara untuk mengetahui di mana sumber paket tanpa melakukan apt-get source $PACKAGENAME?

Saya mencoba tiga metode dan semuanya gagal: -

$apt show $PACKAGENAME
$aptitude show $PACKAGENAME 
$apt-cache show $PACKAGENAME 

tidak satu pun di atas yang dapat memberikan / membagikan informasi ini.

Apakah ada cara untuk mendapatkan informasi? Saya perlu tahu sumber repo. nama dan apakah itu di git, svn atau kontrol versi lainnya.

shirish
sumber
kebijakan apt-cache <paket>. Duplikat: superuser.com/questions/106794/...
h3rrmiller
@ h3rrmiller yang menunjukkan dari mana paket itu diunduh, bukan dari mana sumber paket tersebut di-host.
Evan Carroll

Jawaban:

8

Menggunakan alat CLI

Seperti yang ditunjukkan oleh derobert , paket Debian yang dikelola dalam VCS seharusnya menunjukkan ini di sepasang Vcs-...bidang dalam paket sumber mereka.

Alat terbaik untuk menggunakan informasi ini ada debcheckoutdalam devscriptspaket, atau apt-cache showsrc. Kedua hal ini akan menunjukkan gnome-disk-utilityinformasi repositori Anda.

apt-cache showsrc gnome-disk-utility

akan menampilkan semua informasi yang terkandung dalam paket sumber, termasuk tautan ke VCS ( Vcs-Browermemberikan tautan untuk digunakan di peramban, Vcs-Gitmemberikan tautan untuk mengkloning git repositori, dengan asumsi repositori menggunakan git):

Vcs-Browser: https://salsa.debian.org/gnome-team/gnome-disk-utility
Vcs-Git: https://salsa.debian.org/gnome-team/gnome-disk-utility.git

sedangkan

debcheckout -d gnome-disk-utility

hanya akan menampilkan informasi VCS dan detail terkait (jika paket di-host dalam VCS).

Periksa

Jika Anda ingin memeriksa sumbernya,

debcheckout gnome-disk-utility

akan melakukannya untuk Anda.

Antarmuka Web

Anda juga dapat melihat informasi ini pada Pelacak Paket Debian , yang akan menautkan ke VCS di mana paket tersebut diinangi (jika ada).

Stephen Kitt
sumber
11

Banyak paket menyertakan ini dalam informasi kontrol mereka di Vcs-*bidang. Anda dapat melihatnya dengan mudah (dan tanpa mengunduh paket sumber) menggunakan apt-cache showsrc.

$ apt-cache showsrc gnome-disk-utility
⋮
Vcs-Browser: https://salsa.debian.org/gnome-team/gnome-disk-utility
Vcs-Git: https://salsa.debian.org/gnome-team/gnome-disk-utility.git
⋮

Jadi dalam hal ini, Anda dapat melakukan git clone https://salsa.debian.org/gnome-team/gnome-disk-utility.gituntuk mengunduh sumbernya, atau menjelajahinya di web di https://salsa.debian.org/gnome-team/gnome-disk-utility .

Tidak semua paket memiliki Vcs-*bidang. Mereka bisa hilang karena pengelola tidak menggunakan VCS (atau setidaknya bukan yang publik), atau belum menambahkan header karena alasan lain. apt-get source packagenameakan selalu mendapatkan sumbernya, meskipun tidak melalui VCS. Demikian pula, Anda dapat menelusuri semua sumber secara online di http://sources.debian.net/

(Catatan: Anda perlu deb-srcbaris di sources.listfile Anda .)

Pembaruan: Stephen Kitt menunjukkan debcheckout -d; pertama kali saya mendengarnya juga. Lihat (dan ingat) jawaban Stephen Kitt untuk detailnya.

derobert
sumber
1

Anda tidak sepenuhnya benar: kode sumber Debian ada dalam paket-paket sumber: Anda memerlukan beberapa baris dengan contoh seperti deb-srcAnda/etc/apt/sources.list

 deb-src http://ftp2.fr.debian.org/debian/ jessie main contrib non-free

(sesuaikan dengan geografi dan kebiasaan Anda)

Kemudian Anda dapat meminta kode sumber yang akan dibangun dari sumber menggunakan mis aptitude build(dan Anda mungkin ingin menggunakan aptitude build-depuntuk menginstal paket yang diperlukan untuk pembangunan itu).

Pengelola Debian mengemas kode sumber dengan memasukkan tambalan mereka relatif terhadap beberapa repositori perangkat lunak hulu. Repositori perangkat lunak hulu menggunakan (atau mungkin tidak) sistem kontrol versi yang ingin mereka gunakan.

Basile Starynkevitch
sumber