Минимальный пример с hello
пакет
Все это и многое другое описано на: https://www.debian.org/doc/manuals/maint-guide/build.en.html
Сначала давайте получим образец пакета для изменения исходного кода для:
sudo apt-get install hellohello
выходы:
Hello, world!
Теперь давайте взломаем его. Получить источник:
apt-get source hellocd hello-*
и открыть:
vim src/hello.c
и измените сообщение на:
Hello, world hacked!
Затем проделайте то же самое с тестом, иначе раздражающий тест начнет завершаться неудачей:
vim tests/greeting-1
Затем перестройте с помощью:
sudo apt-get install devscriptssudo apt-get build-dep hellodebuild -b -uc -us
Ближе к концу вывода в нем говорится:
dpkg-deb: building package 'hello' in '../hello_2.10-1build1_amd64.deb'.
итак, он создал файл .deb в родительском каталоге, как он посмел. Итак, наконец, мы устанавливаем и тестируем измененный пакет:
sudo dpkg -i ../hello_2.10-1build1_amd64.debhello
и вот, пожалуйста, он выводит новое сообщение:
Hello, world hacked!
Протестировано на Ubuntu 18.04.
Старый bzr
ответ
TODO: это перестало работать в Ubuntu 16.04, что привело к сбою с: bzr: ERROR: Not a branch: "bzr+ssh://bazaar.launchpad.net/+branch/ubuntu/hello/".
. bzr branch lp:ubuntu/wily/hello
работает и bzr branch lp:ubuntu/xenial/hello
снова терпит неудачу. По какой-то причине https://code .launchpad.net/ubuntu /+источник/привет не отображается.: https://web.archive.org/save/https://code .launchpad.net/ubuntu /+источник/привет
Как упоминалось в https://askubuntu.com/a/81889/52975 существует также специфичный для Ubuntu подход с bzr
.
Получите последнюю версию:
bzr branch lp:ubuntu/hello
Определенная версия:
bzr branch lp:ubuntu/trusty/hello
Вы также можете использовать pull-lp-source
:
sudo apt-get install ubuntu-dev-toolspull-lp-source hello
Затем вы сможете отредактировать его:
cd hellovim some_file
Восстановите его:
dch -i debcommitbzr bd -- -b -us -uc
И установите его:
sudo dpkg -i ../hello.deb
То Руководство по упаковке Ubuntu является хорошим источником информации.