Como usar o 'apt' para obter o código-fonte e depois compilar em separado

26

Eu quero obter o código fonte de um projeto e depois construí-lo da mesma maneira que o apt faria. Por exemplo, eu quero o código fonte de trabalho e posso executar o comando 'make' ou similar na fonte.

Como eu posso fazer isso?

Especificamente, quero obter esta fonte 'icedtea-6-jre-jamvm'

Berlin Brown
fonte

Respostas:

28

Neste exemplo, vou usar icedtea-6-jre-jamvmcomo o pacote que você deseja reconstruir.

Primeiro instale todas as dependências e crie o essencial:

sudo apt-get build-dep icedtea-6-jre-jamvm
sudo apt-get install build-essential

Então pegue a fonte:

apt-get source icedtea-6-jre-jamvm

Em seguida, cd no diretório do diretório openjdk e construa o deb, o -us e -uc aqui pule as verificações do GPG se você está apenas reconstruindo você mesmo:

cd openjdk-6-6b24-1.11.5
dpkg-buildpackage -us -uc

Em seguida, vá até um diretório e você deverá ter arquivos .deb.

Fontes:

Jorge Castro
fonte
isso é muito legal! Um grande obstáculo para começar a contribuir para um programa de software livre é "fazer a compilação", e é bom ver isso automatizado. Seria legal, no entanto, se pudéssemos gerar os binários e parar por aí (ou seja, não gerar as debs), pois isso é um pouco mais conveniente para os desenvolvedores que estão editando e compilando com frequência ... Você conhece uma maneira de fazer isso? aquele?
josinalvo
7

para compilar apenas o pacote, use o script debian / rules que é fornecido em cada pacote debain:

sudo apt-get build-dep <package>
apt-get source <package>
cd <package>_<version>
./debian/rules binary

isso apenas faz a parte de configuração e compilação.

Michael Dreher
fonte
4

Você pode usar o seguinte:

apt-get source <package>

você precisa certificar-se de instalar as dependências de compilação:

sudo apt-get build-dep <package> 

para mais informações, execute:

man apt-get

Opção alternativa: Primeiro você precisa saber a localização do pacote. faça o download do arquivo tar usando:

sudo wget <url>

Você pode então descompactá-lo e compilá-lo usando make

se você não tiver certeza sobre o comando específico, procure dentro da pasta, deve haver um READMEarquivo ou o INSTALLqual informará o comando apropriado.

meda
fonte
Isso é obtido no site host. Existe uma maneira de fazer isso com o 'apt. Completamente através do 'apt' menos a compilação real. Por exemplo, posso fazer 'apt get source' e depois navegar para esse diretório e depois 'make'.
Berlin Brown
desculpe, acabou de atualizar a pergunta!
meda 23/01