Exemple minimal avec le hello
paquet
Tout ceci et plus encore est décrit à l'adresse suivante : https://www.debian.org/doc/manuals/maint-guide/build.en.html
Tout d'abord, prenons un exemple de paquet pour modifier les sources :
sudo apt-get install hello
hello
sorties :
Hello, world!
Maintenant, on va le pirater. Prends la source :
apt-get source hello
cd hello-*
et ouvert :
vim src/hello.c
et modifier le message pour :
Hello, world hacked!
Faites ensuite la même chose sur le test, sinon le test ennuyeux commencera à échouer :
vim tests/greeting-1
Puis reconstruire avec :
sudo apt-get install devscripts
sudo apt-get build-dep hello
debuild -b -uc -us
Vers la fin de la sortie, il est dit :
dpkg-deb: building package 'hello' in '../hello_2.10-1build1_amd64.deb'.
Il a donc créé le .deb dans le répertoire parent, comment ose-t-il ? Finalement, nous installons et testons le paquet modifié :
sudo dpkg -i ../hello_2.10-1build1_amd64.deb
hello
et voilà, il sort le nouveau message :
Hello, world hacked!
Testé sur Ubuntu 18.04.
Vieux bzr
réponse
TODO : cela a cessé de fonctionner sur Ubuntu 16.04 Xenial, échouant avec : bzr: ERROR: Not a branch: "bzr+ssh://bazaar.launchpad.net/+branch/ubuntu/hello/".
. bzr branch lp:ubuntu/wily/hello
travaux et bzr branch lp:ubuntu/xenial/hello
échoue à nouveau. Pour une raison quelconque https://code.launchpad.net/ubuntu/+source/hello ne montre pas Xenial : https://web.archive.org/save/https://code.launchpad.net/ubuntu/+source/hello
Comme mentionné à https://askubuntu.com/a/81889/52975 il existe également une approche spécifique à Ubuntu avec bzr
.
Obtenez la dernière version :
bzr branch lp:ubuntu/hello
Version spécifique :
bzr branch lp:ubuntu/trusty/hello
Vous pouvez également utiliser pull-lp-source
:
sudo apt-get install ubuntu-dev-tools
pull-lp-source hello
Vous pourrez alors l'éditer :
cd hello
vim some_file
Reconstruisez-le :
dch -i
debcommit
bzr bd -- -b -us -uc
Et l'installer :
sudo dpkg -i ../hello.deb
Le site Guide de l'emballage Ubuntu est une bonne source d'information.