Quero ler o código-fonte de algum pacote no Debian; como posso fazer isso?
Resposta
Baixar o código-fonte dos repositórios Debian é tão simples quanto executar apt-get source <PACKAGE>. Ele colocará 3 arquivos em seu diretório atual, .dsc que descreve o pacote, .orig.tar.gz que contém fontes não modificadas e .diff.gz que contém mudanças específicas do Debian. Mas se você receber o erro E: Unable to find a source package for <PACKAGE>, pode não ter o repositório do código-fonte especificado, então vá para /etc/apt/sources.list (ou algum arquivo em /etc/apt/sources.list.d/ que contém seu repositório Debian), encontre uma string como:
deb ftp://ftp.debian.org/debian wheezy main contrib non-free
Altere deb para deb-src:
deb-src ftp://ftp.debian.org/debian wheezy main contrib non-free
Atualize os arquivos de índice do pacote com sudo apt-get update e tente novamente. Veja também:
Resposta
Uma segunda possibilidade é fazer o download o código-fonte do upstream diretamente ao invés de baixá-lo dos repositórios Debian. Isso tem a vantagem de que, se você não só quiser ler o código-fonte, mas também quiser mudar algo, pode fazer um commit diretamente e enviá-lo para o upstream (presumindo que não seja um patch do Debian).
Normalmente, você pode descubra o URL do repositório de código-fonte upstream no arquivo /usr/share/doc/$package_or_program_name/copyright.
$ head /usr/share/doc/git/copyright Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ Upstream-Contact: [email protected] Source: https://www.kernel.org/pub/software/scm/git/ Files: * Copyright: © 2005-2014, Linus Torvalds and others. License: GPL-2 Files: xdiff/* Copyright: © 2003-2009, Davide Libenzi, Johannes E. Schindelin
Este arquivo também é referenciado em packages.debian.org (pesquise " Arquivo de direitos autorais ") .