如何知道 debian 中软件包的源存储库?

shi*_*ish 10 source debian version-control package-management

在 Debian 中,AFAIK 一些包在 Subversion(著名的 team-pkg-gnome)中维护,而一些在 git 中维护,而另一些在其他一些 VCS 中维护。

有没有办法知道包的来源在哪里而不做apt-get source $PACKAGENAME

我尝试了三种方法,但都失败了:-

$apt show $PACKAGENAME
$aptitude show $PACKAGENAME 
$apt-cache show $PACKAGENAME 
Run Code Online (Sandbox Code Playgroud)

以上均无法提供/共享此信息。

有没有办法获取信息。我需要知道源代码库。名称以及它是否在 git、svn 或其他版本控制中。

der*_*ert 11

很多包在他们的控制信息中包含了这个Vcs-*字段。您可以使用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
?
Run Code Online (Sandbox Code Playgroud)

因此,在这种情况下,您可以git clone https://salsa.debian.org/gnome-team/gnome-disk-utility.git下载源代码,或在网站https://salsa.debian.org/gnome-team/gnome-disk-utility上浏览它。

并非所有包都有Vcs-*字段。它们可能会丢失,因为维护者不使用 VCS(或至少不是公共 VCS),或者由于其他原因没有添加标头。apt-get source packagename将始终获得源,尽管不是通过 VCS。同样,您可以在http://sources.debian.net/在线浏览所有源代码

(注意:您deb-srcsources.list文件中需要行。)

更新: 斯蒂芬基特指出debcheckout -d;我也是第一次听说。有关详细信息,请参阅(并投票)Stephen Kitt 的回答


Ste*_*itt 8

使用 CLI 工具

正如derobert所指出的,在 VCS 中维护的 Debian 包应该Vcs-...在其源包中的一对字段中指明这一点。

使用此信息的最佳工具是debcheckoutdevscripts包中,或apt-cache showsrc. 这两个都将显示您gnome-disk-utility的存储库信息。

apt-cache showsrc gnome-disk-utility
Run Code Online (Sandbox Code Playgroud)

将显示源包中包含的所有信息,包括指向 VCSVcs-Brower的链接(提供在浏览器中使用Vcs-Git的链接,提供克隆 git 存储库的链接,假设存储库使用 git):

Vcs-Browser: https://salsa.debian.org/gnome-team/gnome-disk-utility
Vcs-Git: https://salsa.debian.org/gnome-team/gnome-disk-utility.git
Run Code Online (Sandbox Code Playgroud)

然而

debcheckout -d gnome-disk-utility
Run Code Online (Sandbox Code Playgroud)

将仅显示 VCS 信息和相关详细信息(如果包托管在 VCS 中)。

查看

如果您想查看源代码,

debcheckout gnome-disk-utility
Run Code Online (Sandbox Code Playgroud)

会为你做的。

网页界面

您还可以在Debian Package Tracker上看到此信息,它将链接到托管包的 VCS(如果有)。