Como conhecer o repositório fonte de um pacote no debian?

9

No Debian, o AFAIK alguns pacotes são mantidos no Subversion (famoso team-pkg-gnome), enquanto outros são mantidos no git e outros em outros VCS.

Existe uma maneira de saber onde está a fonte de um pacote sem fazer um apt-get source $PACKAGENAME?

Eu tentei três métodos e todos falharam: -

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

nenhuma das opções acima é capaz de fornecer / compartilhar essas informações.

Existe alguma maneira de obter as informações. Preciso conhecer o repositório de origem. nome e se está em git, svn ou algum outro controle de versão.

shirish
fonte
política do apt-cache <pacote>. Duplicado: superuser.com/questions/106794/…
h3rrmiller 20/08/2015
@ h3rrmiller que mostra a você de onde o pacote foi baixado, e não de onde a fonte do pacote está hospedada.
Evan Carroll

Respostas:

8

Usando ferramentas da CLI

Conforme indicado por derobert , os pacotes Debian que são mantidos em um VCS devem indicar isso em um par de Vcs-...campos em seu pacote de origem.

A melhor ferramenta para usar essas informações está debcheckoutno devscriptspacote, ou apt-cache showsrc. Ambos mostrarão gnome-disk-utilityas informações do repositório.

apt-cache showsrc gnome-disk-utility

mostrará todas as informações contidas no pacote de origem, incluindo links para o VCS ( Vcs-Browerfornece um link para uso em um navegador, Vcs-Gitfornece o link para clonar o repositório git, assumindo que o repositório 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

enquanto que

debcheckout -d gnome-disk-utility

mostrará apenas as informações do VCS e os detalhes pertinentes (se o pacote estiver hospedado em um VCS).

Verificação de saída

Se você quiser verificar a fonte,

debcheckout gnome-disk-utility

fará isso por você.

Interface web

Você também pode ver essas informações no Debian Package Tracker , que será vinculado ao VCS onde o pacote está hospedado (se houver).

Stephen Kitt
fonte
11

Muitos pacotes incluem isso em suas informações de controle nos Vcs-*campos. Você pode vê-lo facilmente (e sem baixar o pacote de origem) 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
⋮

Portanto, nesse caso, você pode fazer git clone https://salsa.debian.org/gnome-team/gnome-disk-utility.gito download da fonte ou navegar na web em https://salsa.debian.org/gnome-team/gnome-disk-utility .

Nem todos os pacotes têm Vcs-*campos. Eles podem estar ausentes porque o mantenedor não usa um VCS (ou pelo menos não é público) ou não adicionou os cabeçalhos por outro motivo. apt-get source packagenamesempre obterá a fonte, embora não através de um VCS. Da mesma forma, você pode procurar toda a fonte online em http://sources.debian.net/

(Nota: você precisará de deb-srclinhas no seu sources.listarquivo.)

Atualização: Stephen Kitt aponta debcheckout -d; primeira vez que ouvi falar disso também. Veja (e vote) a resposta de Stephen Kitt para obter detalhes.

derobert
fonte
1

Você não está totalmente certo: o código-fonte Debian está nos pacotes de código-fonte: você precisa de algumas linhas deb-srcno seu /etc/apt/sources.listexemplo, por exemplo

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

(adapte isso à sua geografia e hábitos)

Em seguida, você pode solicitar que o código-fonte seja criado a partir da fonte usando, por exemplo aptitude build(e você pode querer usar aptitude build-deppara instalar os pacotes necessários para essa compilação).

Os mantenedores do Debian estão empacotando o código fonte incorporando seus patches em relação a algum repositório de software upstream. Esse repositório de software upstream usa (ou talvez não) o sistema de controle de versão que deseja usar.

Basile Starynkevitch
fonte