Come conoscere il repository di origine di un pacchetto in debian?


9

In Debian, AFAIK alcuni pacchetti sono mantenuti in Subversion (notoriamente team-pkg-gnome), mentre alcuni sono mantenuti in git, altri in altri VCS.

C'è un modo per sapere dove si trova l'origine di un pacchetto senza fare un apt-get source $PACKAGENAME?

Ho provato tre metodi e tutti hanno fallito: -

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

nessuna delle precedenti è in grado di fornire / condividere queste informazioni.

C'è comunque per ottenere le informazioni. Devo conoscere il repository di origine. nome e se è in git, svn o qualche altro controllo di versione.


politica apt-cache <pacchetto>. Duplicato: superuser.com/questions/106794/…
h3rrmiller

@ h3rrmiller che ti mostra da dove viene scaricato il pacchetto, non da dove è ospitato il sorgente del pacchetto.
Evan Carroll,

Risposte:


8

Utilizzo degli strumenti della CLI

Come indicato da derobert , i pacchetti Debian che sono mantenuti in un VCS dovrebbero indicarlo in una coppia di Vcs-...campi nel loro pacchetto sorgente.

Lo strumento migliore per utilizzare queste informazioni è debcheckoutnel devscriptspacchetto, oppure apt-cache showsrc. Entrambi mostreranno gnome-disk-utilityle informazioni sul repository.

apt-cache showsrc gnome-disk-utility

mostrerà tutte le informazioni contenute nel pacchetto sorgente, inclusi i collegamenti al VCS ( Vcs-Browerfornisce un collegamento per l'uso in un browser, Vcs-Gitfornisce il collegamento per clonare il repository git, supponendo che il repository usi git):

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

mentre

debcheckout -d gnome-disk-utility

mostrerà solo le informazioni VCS e i dettagli pertinenti (se il pacchetto è ospitato in un VCS).

Check-out

Se poi vuoi controllare la fonte,

debcheckout gnome-disk-utility

lo farà per te.

Interfaccia web

Puoi anche vedere queste informazioni sul Debian Package Tracker , che si collegherà al VCS in cui è ospitato il pacchetto (se ce n'è uno).


11

Molti pacchetti includono questo nelle loro informazioni di controllo nei Vcs-*campi. Puoi vederlo facilmente (e senza scaricare il pacchetto sorgente) usando 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
⋮

Quindi, in questo caso, potresti fare un git clone https://salsa.debian.org/gnome-team/gnome-disk-utility.gitdownload della fonte, oppure sfogliarla sul web all'indirizzo https://salsa.debian.org/gnome-team/gnome-disk-utility .

Non tutti i pacchetti hanno Vcs-*campi. Possono mancare perché il manutentore non utilizza un VCS (o almeno non uno pubblico) o non ha aggiunto le intestazioni per qualche altro motivo. apt-get source packagenameotterrà sempre la fonte, anche se non tramite un VCS. Allo stesso modo, puoi sfogliare tutte le fonti online su http://sources.debian.net/

(Nota: avrai bisogno di deb-srclinee nel tuo sources.listfile.)

Aggiornamento: Stephen Kitt sottolinea debcheckout -d; la prima volta che ne ho sentito parlare anche io. Vedi (e vota) la risposta di Stephen Kitt per i dettagli.


1

Non hai del tutto ragione: il codice sorgente Debian si trova nei pacchetti sorgente: hai bisogno di alcune righe con deb-srcnel tuo /etc/apt/sources.listlike es

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

(adattalo alla tua geografia e alle tue abitudini)

Quindi puoi chiedere che il codice sorgente sia compilato dal sorgente usando ad esempio aptitude build(e potresti voler usare aptitude build-depper installare i pacchetti necessari per quella build).

I manutentori Debian stanno impacchettando il codice sorgente incorporando le loro patch relative ad alcuni repository di software a monte. Quel repository di software a monte utilizza (o forse no) il sistema di controllo della versione che desidera utilizzare.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.