Ejemplo mínimo con el hello
paquete
Todo esto y más se describe en: https://www.debian.org/doc/manuals/maint-guide/build.en.html
Primero obtengamos un paquete de muestra para modificar la fuente de:
sudo apt-get install hello
hello
salidas:
Hello, world!
Ahora hackéelo. Obtén la fuente:
apt-get source hello
cd hello-*
y abierto:
vim src/hello.c
y modifique el mensaje para:
Hello, world hacked!
Luego haga lo mismo en la prueba; de lo contrario, la prueba molesta comenzará a fallar:
vim tests/greeting-1
Luego reconstruir con:
sudo apt-get install devscripts
sudo apt-get build-dep hello
debuild -b -uc -us
Cerca del final de la salida, dice:
dpkg-deb: building package 'hello' in '../hello_2.10-1build1_amd64.deb'.
así que creó el .deb en el directorio padre, ¿cómo se atreve? Así que finalmente instalamos y probamos el paquete modificado:
sudo dpkg -i ../hello_2.10-1build1_amd64.deb
hello
y ahí lo tienes, emite el nuevo mensaje:
Hello, world hacked!
Probado en Ubuntu 18.04.
Vieja bzr
respuesta
TODO: este dejó de funcionar en Ubuntu 16.04 Xenial, en su defecto con: bzr: ERROR: Not a branch: "bzr+ssh://bazaar.launchpad.net/+branch/ubuntu/hello/".
. bzr branch lp:ubuntu/wily/hello
funciona y bzr branch lp:ubuntu/xenial/hello
falla nuevamente. Por alguna razón, https://code.launchpad.net/ubuntu/+source/hello no muestra Xenial: https://web.archive.org/save/https://code.launchpad.net/ubuntu/+source /Hola
Como se menciona en https://askubuntu.com/a/81889/52975, también existe un enfoque específico de Ubuntu bzr
.
Consigue la versión más reciente:
bzr branch lp:ubuntu/hello
Versión especifica:
bzr branch lp:ubuntu/trusty/hello
También puedes usar pull-lp-source
:
sudo apt-get install ubuntu-dev-tools
pull-lp-source hello
Entonces podrás editarlo:
cd hello
vim some_file
Reconstruirlo:
dch -i
debcommit
bzr bd -- -b -us -uc
E instalarlo:
sudo dpkg -i ../hello.deb
La guía de empaquetado de Ubuntu es una buena fuente de información.
apt-get
también admite programas de código cerrado, por lo que su suposición inicial es incorrecta.