Woher weiß man das Quell-Repository eines Pakets in Debian?

9

In Debian, AFAIK werden einige Pakete in Subversion (bekannt als team-pkg-gnome) verwaltet, während einige in git und andere in einem anderen VCS verwaltet werden.

Gibt es eine Möglichkeit zu wissen, wo sich die Quelle eines Pakets befindet, ohne eine zu tun apt-get source $PACKAGENAME?

Ich habe drei Methoden ausprobiert und alle sind fehlgeschlagen: -

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

Keiner der oben genannten kann diese Informationen weitergeben.

Gibt es sowieso die Informationen zu bekommen. Ich muss das Quell-Repo kennen. Name und ob es in Git, SVN oder einer anderen Versionskontrolle ist.

shirish
quelle
apt-cache-Richtlinie <Paket>. Duplizieren: superuser.com/questions/106794/...
h3rrmiller
@ h3rrmiller zeigt an, wo das Paket heruntergeladen wird und nicht, wo die Quelle für das Paket gehostet wird.
Evan Carroll

Antworten:

8

Verwenden von CLI-Tools

Wie von derobert angegeben , sollen Debian-Pakete, die in einem VCS verwaltet werden, dies in zwei Vcs-...Feldern in ihrem Quellpaket angeben .

Das beste Werkzeug, um diese Informationen zu verwenden, ist debcheckoutim devscriptsPaket enthalten, oder apt-cache showsrc. In beiden Fällen werden die gnome-disk-utilityRepository-Informationen angezeigt.

apt-cache showsrc gnome-disk-utility

zeigt alle Vcs-Browerim Quellpaket enthaltenen Informationen an, einschließlich Links zum VCS ( gibt einen Link zur Verwendung in einem Browser an, Vcs-Gitgibt den Link zum Klonen des Git-Repositorys an, vorausgesetzt, das Repository verwendet Git):

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

wohingegen

debcheckout -d gnome-disk-utility

zeigt nur die VCS-Informationen und relevanten Details an (wenn das Paket in einem VCS gehostet wird).

Auschecken

Wenn Sie dann die Quelle überprüfen möchten,

debcheckout gnome-disk-utility

werde das für dich tun.

Webinterface

Sie können diese Informationen auch im Debian Package Tracker sehen , der mit dem VCS verknüpft ist, auf dem das Paket gehostet wird (falls vorhanden).

Stephen Kitt
quelle
11

Viele Pakete enthalten dies in ihren Steuerinformationen in den Vcs-*Feldern. Sie können es einfach sehen (und ohne das Quellpaket herunterzuladen) mit 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
⋮

In diesem Fall können Sie git clone https://salsa.debian.org/gnome-team/gnome-disk-utility.gitdie Quelle herunterladen oder im Internet unter https://salsa.debian.org/gnome-team/gnome-disk-utility durchsuchen .

Nicht alle Pakete haben Vcs-*Felder. Sie können fehlen, weil der Betreuer kein VCS (oder zumindest kein öffentliches) verwendet oder die Header aus einem anderen Grund nicht hinzugefügt hat. apt-get source packagenamewird immer die Quelle erhalten, jedoch nicht über ein VCS. Ebenso können Sie alle Quellen online unter http://sources.debian.net/ durchsuchen.

(Hinweis: Sie benötigen deb-srcZeilen in Ihrer sources.listDatei.)

Update: Stephen Kitt weist darauf hin debcheckout -d; Zum ersten Mal hatte ich auch davon gehört. Siehe (und positiv bewerten) Stephen Kitts Antwort für Details.

derobert
quelle
1

Sie haben nicht ganz Recht: Der Debian-Quellcode befindet sich in Quellpaketen: Sie benötigen einige Zeilen mit ähnlichen deb-srcAngaben, /etc/apt/sources.listz

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

(Passen Sie das an Ihre Geografie und Gewohnheiten an)

Dann können Sie verlangen, dass der Quellcode aus dem Quellcode erstellt wird, z. B. aptitude build(und Sie möchten möglicherweise die aptitude build-depfür diesen Build erforderlichen Pakete installieren).

Die Debian-Betreuer verpacken den Quellcode, indem sie ihre Patches relativ zu einem vorgelagerten Software-Repository integrieren. Dieses vorgelagerte Software-Repository verwendet (oder möglicherweise nicht) das Versionskontrollsystem, das sie verwenden möchten.

Basile Starynkevitch
quelle