Существует множество инструментов, которые могут значительно упростить жизнь разработчику Ubuntu. Вы познакомитесь с ними далее в этом руководстве. Чтобы установить большинство инструментов, нужно выполнить следующую команду:
$ sudo apt-get install gnupg pbuilder ubuntu-dev-tools bzr-builddeb apt-file
Примечание: Начиная с Ubuntu 11.10 «Oneiric Ocelot» (или если включен репозиторий Backports в текущем поддерживаемом выпуске), следующая команда устанавливает всё вышеупомянутое и другие инструменты, часто используемые в разработке Ubuntu:
$ sudo apt-get install packaging-dev
Эта команда установит следующие программы:
gnupg – GNU Privacy Guard содержит инструменты, которые понадобятся для создания криптографического ключа, с помощью которого вы будете подписывать файлы, которые хотите загрузить на Launchpad
pbuilder – инструмент для создания готовых к дальнейшему распространению сборок пакетов в чистой и изолированной среде.
ubuntu-dev-tools (и его непосредственная зависимость devscripts) – набор инструментов, упрощающих многие задачи по созданию пакетов.
bzr-builddeb (и его зависимость – bzr) – управление распределёнными версиями с помощью Bazaar (новый способ работы с пакетами для Ubuntu), упрощающий совместную работу многих людей над одним и тем же кодом и позволяющий с лёгкостью объединять результаты их труда друг с другом.
apt-file предоставляет простой способ найти двоичный пакет, содержащий заданный файл.
Как и Bazaar, инструментам создания пакетов Debian/Ubuntu понадобится некоторая информация о вас. Просто откройте ~/.bashrc в текстовом редакторе и добавьте внизу что-то вроде этого:
export DEBFULLNAME=»Bob Dobbs»
export DEBEMAIL=»[email protected]»
Затем сохраните файл и перезапустите терминал или наберите:
$ source ~/.bashrc
В качестве названия пакета я буду использовать «example-package»:
user@server:~$ mkdir example-package-0.1; cd example-package-0.1
Генерируем пустой «скелет» для сборки:
user@server:~$ dh_make —copyright bsd —createorig
В —copyright мы указываем «лицензию» для нашего пакета (кому какая разница=)? ), —createorig — создаёт tar-ник с исходниками каталогом выше. Можно использовать опцию —native, но он не работает в текущей версии dh_make в Wheezy, так что нужно быть к этому готовым.
Удаляем лишние файлы, которые нагенерил нам dh_make:
user@server:~$ rm -f debian/*.EX; rm -f debian/*.ex; rm -f debian/README*
Если вся эта эпопея происходит внутри каталога системы контроля версий (git, svn?), то самое время убрать номер версии из названия каталога:
user@server:~$ cd ../ ; mv example-package-0.1/ example-package; cd example-package
debuild —no-lintian -b