¿Cómo saber el repositorio fuente de un paquete en Debian?

9

En Debian, AFAIK algunos paquetes se mantienen en Subversion (famoso equipo-pkg-gnome), mientras que algunos se mantienen en git y otros en algún otro VCS.

¿Hay alguna manera de saber dónde está la fuente de un paquete sin hacer un apt-get source $PACKAGENAME?

Intenté tres métodos y todos fallaron: -

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

ninguno de los anteriores puede dar / compartir esta información.

¿Hay alguna forma de obtener la información? Necesito saber el repositorio fuente. nombre y si está en git, svn o algún otro control de versión.

shirish
fuente
política de apt-cache <paquete>. Duplicar: superuser.com/questions/106794/...
h3rrmiller
@ h3rrmiller que le muestra dónde se descarga el paquete, no dónde está alojado el origen del paquete.
Evan Carroll

Respuestas:

8

Usando herramientas CLI

Como lo indica derobert , se supone que los paquetes Debian que se mantienen en un VCS indican esto en un par de Vcs-...campos en su paquete fuente.

La mejor herramienta para usar esta información está debcheckouten el devscriptspaquete, o apt-cache showsrc. Ambos mostrarán gnome-disk-utilityla información del repositorio.

apt-cache showsrc gnome-disk-utility

mostrará toda la información contenida en el paquete fuente, incluidos los enlaces al VCS ( Vcs-Browerproporciona un enlace para usar en un navegador, Vcs-Gitproporciona el enlace para clonar el repositorio git, suponiendo que el repositorio use git):

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

mientras

debcheckout -d gnome-disk-utility

solo mostrará la información de VCS y los detalles pertinentes (si el paquete está alojado en un VCS).

Revisa

Si luego quieres ver la fuente,

debcheckout gnome-disk-utility

Hará eso por ti.

Interfaz web

También puede ver esta información en el Rastreador de paquetes de Debian , que se vinculará con el VCS donde está alojado el paquete (si lo hay).

Stephen Kitt
fuente
11

Muchos paquetes incluyen esto en su información de control en los Vcs-*campos. Puede verlo fácilmente (y sin descargar el paquete fuente) 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
⋮

Entonces, en este caso, puede hacer una git clone https://salsa.debian.org/gnome-team/gnome-disk-utility.gitdescarga de la fuente, o navegar en la web en https://salsa.debian.org/gnome-team/gnome-disk-utility .

No todos los paquetes tienen Vcs-*campos. Pueden faltar porque el mantenedor no usa un VCS (o al menos no uno público), o no ha agregado los encabezados por alguna otra razón. apt-get source packagenamesiempre obtendrá la fuente, aunque no a través de un VCS. Del mismo modo, puede navegar por toda la fuente en línea en http://sources.debian.net/

(Nota: necesitará deb-srclíneas en su sources.listarchivo).

Actualización: Stephen Kitt señala debcheckout -d; La primera vez que oí hablar de eso también. Ver (y votar) la respuesta de Stephen Kitt para más detalles.

derobert
fuente
1

No tiene toda la razón: el código fuente de Debian está en los paquetes fuente: necesita algunas líneas con deb-srcsu /etc/apt/sources.listgusto, por ejemplo

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

(adaptar eso a su geografía y hábitos)

Luego, puede solicitar que el código fuente se construya a partir de la fuente usando, por ejemplo, aptitude build(y es posible que desee usar aptitude build-deppara instalar los paquetes necesarios para esa compilación).

Los mantenedores de Debian están empaquetando el código fuente incorporando sus parches en relación con algún repositorio de software ascendente. Ese repositorio de software ascendente usa (o quizás no) el sistema de control de versiones que quiere usar.

Basile Starynkevitch
fuente