Exemplo mínimo com o hello
pacote
Tudo isso e muito mais estão descritos em: https://www.debian.org/doc/manuals/maint-guide/build.en.html
Primeiro, vamos obter um pacote de amostra para modificar a fonte:
sudo apt-get install hello
hello
saídas:
Hello, world!
Agora vamos cortar isso. Obtenha a fonte:
apt-get source hello
cd hello-*
e aberto:
vim src/hello.c
e modifique a mensagem para:
Hello, world hacked!
Faça o mesmo no teste, caso contrário, o teste irritante começará a falhar:
vim tests/greeting-1
Em seguida, reconstrua com:
sudo apt-get install devscripts
sudo apt-get build-dep hello
debuild -b -uc -us
Perto do final da saída, diz:
dpkg-deb: building package 'hello' in '../hello_2.10-1build1_amd64.deb'.
por isso, criou o .deb no diretório pai, como ousa. Finalmente, instalamos e testamos o pacote modificado:
sudo dpkg -i ../hello_2.10-1build1_amd64.deb
hello
e pronto, ele gera a nova mensagem:
Hello, world hacked!
Testado no Ubuntu 18.04.
bzr
Resposta antiga
TODO: isto parou de funcionar no Ubuntu 16.04 hospitaleiro, falhando com: bzr: ERROR: Not a branch: "bzr+ssh://bazaar.launchpad.net/+branch/ubuntu/hello/".
. bzr branch lp:ubuntu/wily/hello
funciona e bzr branch lp:ubuntu/xenial/hello
falha novamente. Por alguma razão, https://code.launchpad.net/ubuntu/+source/hello não mostra o Xenial: https://web.archive.org/save/https://code.launchpad.net/ubuntu/+source /Olá
Como mencionado em https://askubuntu.com/a/81889/52975 , também há uma abordagem específica do Ubuntu bzr
.
Obtenha a última versão:
bzr branch lp:ubuntu/hello
Versão específica:
bzr branch lp:ubuntu/trusty/hello
Você também pode usar pull-lp-source
:
sudo apt-get install ubuntu-dev-tools
pull-lp-source hello
Então você poderá editá-lo:
cd hello
vim some_file
Reconstrua-o:
dch -i
debcommit
bzr bd -- -b -us -uc
E instale-o:
sudo dpkg -i ../hello.deb
O guia de pacotes do Ubuntu é uma boa fonte de informações.
apt-get
também suporta programas de código fechado, portanto, sua suposição inicial está incorreta.