Làm thế nào để biết kho lưu trữ nguồn của một gói trong debian?


9

Trong Debian, AFAIK một số gói được duy trì trong Subversion (nhóm nổi tiếng là pkg-gnome), trong khi một số gói được duy trì trong git và các gói khác trong một số VCS khác.

Có cách nào để biết nguồn của một gói mà không làm gì apt-get source $PACKAGENAMEkhông?

Tôi đã thử ba phương pháp và đều thất bại: -

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

không ai ở trên có thể cung cấp / chia sẻ thông tin này.

Có dù sao để có được thông tin. Tôi cần biết repo nguồn. Tên và cho dù đó là trong git, svn hoặc một số điều khiển phiên bản khác.


chính sách apt-cache <gói>. Bản sao: superuser.com/questions/106794/
Mạnh

@ h3rrmiller cho bạn biết gói được tải xuống từ đâu, không phải nơi lưu trữ nguồn cho gói.
Evan Carroll

Câu trả lời:


8

Sử dụng các công cụ CLI

Như được chỉ định bởi derobert , các gói Debian được duy trì trong một VCS được cho là chỉ ra điều này trong một cặp Vcs-...trường trong gói nguồn của chúng.

Công cụ tốt nhất để sử dụng thông tin này là debcheckouttrong devscriptsgói, hoặc apt-cache showsrc. Cả hai sẽ hiển thị gnome-disk-utilitythông tin kho lưu trữ của bạn.

apt-cache showsrc gnome-disk-utility

sẽ hiển thị tất cả thông tin có trong gói nguồn, bao gồm các liên kết đến VCS ( Vcs-Browercung cấp liên kết để sử dụng trong trình duyệt, Vcs-Gitcung cấp liên kết để sao chép kho git, giả sử kho lưu trữ sử dụng git):

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

trong khi

debcheckout -d gnome-disk-utility

sẽ chỉ hiển thị thông tin VCS và các chi tiết thích hợp (nếu gói được lưu trữ trong một VCS).

Thủ tục thanh toán

Nếu sau đó bạn muốn kiểm tra nguồn,

debcheckout gnome-disk-utility

sẽ làm điều đó cho bạn.

Giao diện web

Bạn cũng có thể xem thông tin này trên Trình theo dõi gói Debian , liên kết đến VCS nơi gói được lưu trữ (nếu có).


11

Rất nhiều gói bao gồm điều này trong thông tin kiểm soát của họ trong các Vcs-*lĩnh vực. Bạn có thể thấy nó dễ dàng (và không cần tải xuống gói nguồn) bằng cách sử dụng 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
⋮

Vì vậy, trong trường hợp này, bạn có thể thực hiện git clone https://salsa.debian.org/gnome-team/gnome-disk-utility.gittải xuống nguồn hoặc duyệt nó trên web tại https://salsa.debian.org/gnome-team/gnome-disk-utility .

Không phải tất cả các gói đều có Vcs-*trường. Chúng có thể bị thiếu vì người bảo trì không sử dụng VCS (hoặc ít nhất không phải là công khai) hoặc không thêm tiêu đề vì một số lý do khác. apt-get source packagenamesẽ luôn nhận được nguồn, mặc dù không thông qua một VCS. Tương tự, bạn có thể duyệt tất cả các nguồn trực tuyến tại http://source.debian.net/

(Lưu ý: bạn sẽ cần deb-srccác dòng trong sources.listtệp của mình .)

Cập nhật: Stephen Kitt chỉ ra debcheckout -d; Lần đầu tiên tôi cũng nghe về nó. Xem (và upvote) câu trả lời của Stephen Kitt để biết chi tiết.


1

Bạn đang không hoàn toàn đúng: mã nguồn Debian là trong các gói nguồn: bạn cần một số dòng với deb-srctại của bạn /etc/apt/sources.liství dụ như

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

(thích nghi với địa lý và thói quen của bạn)

Sau đó, bạn có thể yêu cầu mã nguồn được xây dựng từ nguồn bằng cách sử dụng ví dụ aptitude build(và bạn có thể muốn sử dụng aptitude build-depđể cài đặt các gói cần thiết cho bản dựng đó).

Các nhà bảo trì Debian đang đóng gói mã nguồn bằng cách kết hợp các bản vá của họ liên quan đến một số kho phần mềm ngược dòng. Kho lưu trữ phần mềm ngược dòng đó sử dụng (hoặc có thể không) hệ thống kiểm soát phiên bản mà họ muốn sử dụng.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.