[ назад ] [ Содержание ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ вперед ]
Так как на страницах Уголок
разработчика
нет достаточно четкой информации о том, где и как новые
разработчики должны начинать свою работу, ниже мы попытаемся объяснить каждый
(что может показаться излишним) шажок и помочь вам создать первый пакет, что
позволит вам получить некий опыт для создания последующих пакетов.
При выборе пакета, над которым вы собираетесь работать, вы должны иметь в виду следующие моменты:
проверьте существует ли данный пакет в дистрибутиве. Если вы используете
‘стабильный’ выпуск, лучше всего будет посетить страницу Поиск пакетов
.
Если же вы используете текущий ‘нестабильный’
выпуск, для проверки лучше использовать следующие команды:
dpkg -s название_программы dpkg -l '*название_программы*'
Посмотрите в списке Будущие и
требующие работы пакеты
и архивах списка рассылки debian-devel
— не работает ли уже кто-нибудь над этим пакетом. Если работа уже
ведется, но вы все-таки хотите работать над этим же пакетом, свяжитесь с
текущим разработчиком. Если же вы не против создать другой пакет, поищите
другую интересную программу, над которой еще никто не работает.
Пакет должен содержать программу. Не пытайтесь пока создавать пакеты для библиотек.
У программы обязательно должна быть лицензия. Желательно,
чтобы она позволяла квалифицировать данную программу как свободно
распространяемую в соответствии с Debian Free
Software Guidelines
. Если лицензия не соответствует каким-либо
пунктам этих правил, вы все равно можете включить ваш пакет в один из разделов
‘contrib’ или ‘non-free’. Если вы не уверены, в какой
раздел данный пакет должен быть помещен, спросите в списке рассылки debian-legal@lists.debian.org
.
Программа не должна требовать режима setuid root, а еще лучше — вообще не требовать режима доступа setuid или setgid.
Программа не должна быть демоном или чем-то, что должно быть помещено в
каталоги */sbin
.
Программа должна быть хорошо документирована или, по крайней мере, понятна (всем).
Вы должны связаться с авторами программы, чтобы убедиться, что они не против создания пакета с их программой. Возможность консультироваться с авторами программы по поводу тех или иных моментов обычно очень важна, поэтому лучше не пытайтесь создавать пакеты для неподдерживаемых программ.
И, наконец, программа должна использоваться вами в течение некоторого времени, чтобы вы могли быть уверены, что она работает.
Разумеется, все перечисленное — это всего лишь меры безопасности, которые спасут вас от разъяренных пользователей, если вы сделали что-то не так в ftp-демоне… Как только вы приобретете определенный опыт, вы сможете создавать любые пакеты — но помните, что даже опытные разработчики, если у них есть какие-то сомнения, обращаются за помощью в список рассылки debian-devel. Подписчики этого списка рассылки всегда рады помочь.
Дополнительную информацию вы можете найти в «Руководстве разработчика».
Итак, первое, что вы должны сделать — это найти и загрузить исходные
тексты программы. Скорее всего, у вас уже есть исходные тексты, которые вы
взяли с домашней странички автора. Исходные тексты программ для Linux обычно
предоставляются в виде архива в формате tar-gzip и имеют расширение
.tar.gz
(или .tgz
). Внутри архива обычно находится
каталог программа-версия, в котором находятся все файлы
исходных текстов програмы. Если исходные тексты выбранной вами программы
поставляются в другом виде (например, имя файла оканчивается на .Z
или .zip
), распакуйте его соответствующими средствами или спросите
в списке рассылки debian-mentors, если вы не знаете как это правильно сделать
(подсказка: выполните команду ‘file архив.расширение’).
Для примера мы будем использовать программу gentoo
—
использующий библиотеку GTK+ менеджер файлов для X11. Заметьте, что для этой
программы уже создан пакет и он постоянно обновляется.
В вашем домашнем каталоге создайте подкаталог с именем debian
,
deb
или что-нибудь, что вы найдете подходящим (например, в нашем
случае можно было бы использовать gentoo
). Поместите загруженный
архив в этот каталог и распакуйте его при помощи команды ‘tar -xzf
gentoo-0.9.12.tar.gz’. Убедитесь, что при этом не возникло никаких
(даже, казалось бы, не относящихся к делу) ошибок (наличие каких-либо
предупреждений на вашей машине означает, что на машине, где для распаковки
этого архива используются другие программ, данных архив может и не
распаковаться).
В результате вы получите подкаталог gentoo-0.9.12
. Перейдите в
этот каталог и внимательно прочитайте имеющуюся информацию.
Обычно полезными оказываются файлы README*
, INSTALL*
,
*.lsm
и *.html
. Здесь вы найдете инструкции, которые
позволят вам правильно скомпилировать и установить программу (скорее всего в
каталог /usr/local/bin
; вы должны будете установить программу в
другой каталог, подробнее об этом в разделе Установка в необходимый каталог, раздел
3.1).
Дальнейшая последовательность действий будет зависеть от конкртной программы.
Однако современные программы обычно поставляются со сценарием
configure
, который позволяет получить параметры, необходимые для
компиляции программы в вашей системе (также производится проверка, что в вашей
системе компиляция данной программы вообще возможна). После настройки
(выполните команду ‘./configure’) вы можете скомпилировать вашу
программу при помощи команды ‘make’. В некоторых случаях вы можете
запустить внутренние тесты при помощи команды ‘make check’. Затем
установите ее при помощи команды ‘make install’.
Итак, скомпилируйте программу и попробуйте ее запустить, чтобы убедиться, что она правильно работает и ничто другое не было испорчено.
Вы также можете попытать воспользоваться командой ‘make uninstall’ для того, чтобы удалить все установленные файлы. Команда ‘make clean’ позволит вам очистить ваш рабочий каталог.
dh_make
Свою работу вы должны начать в каталоге, свободном от временных и/или рабочих файлов.
Для того, чтобы правильно построить пакет, вы должны поместить исходные тексты программы в каталог название пакета-версия. Убедитесь, что название каталога содержит буквы только нижнего регистра.
Если название состоит из больше, чем одного слова, попробуйте сократить его или
создать какую-нибудь аббревиатуру[3]. Например, если название программы “John's little
editor for X”, название пакета может быть johnledx
,
jle4x
или что-нибудь, что вам покажется подходящим. Мы
рекомендуем не превышать длину в 20 символов в названии пакета.
Вам также необходимо знать точную версию программы (эта информация будет использована в версии пакета). Если программа нумеруется не как X.Y.Z, а датой, вы можете использовать эту дату, приписав перед ней “0.0.” (на всякий случай, вдруг когда-нибудь авторы программы решать выпустить версию 1.0). Таким образом, если программа была выпущена 19-го декабря 1999 года, вы можете указать 0.0.19981219 в качестве версии. Версии некоторых программ вообще никак не нумеруются. В таком случае мы рекомендуем вам связаться с авторами программы и выяснить, не используют ли они какую-нибудь другую схему отслеживания версий.
dh_make
Перейдите в каталог, в котором находятся исходные тексты программы и выполните команду
dh_make -e ваш@электронный.адрес -f ../gentoo-0.9.12.tar.gz
Разумеется, вы должны заменить ваш@электронный.адрес на ваш реальный
адрес, который будет использован в различных служебных файлах пакета
(debian/changelog
, debian/control
, …), а имя
файла — на имя архива, содержащего оригинальные исходные тексты (см.
dh_make(1)
).
Теперь от вас понадобится дополнительная информация. Вы должны указать тип
пакета, который вы собираетесь создать. В случае программы gentoo
мы хотим создать один пакет, содержащий программу (single binary package),
поэтому мы выберем первый пункт, нажав на клавишу ‘s’. Проверьте
информацию, выведенную на экран и, если все правильно, нажмите на клавишу
Enter. Так как для вас это первый пакет, мы не рекомендуем вам создавать
проект, позволяющий построить сразу несколько пакетов (multi-binary package),
или проект, содержащий библиотеку. Это не сложно, нет, просто такая задача
требует немного больше информации, поэтому мы не будем это описывать в этом
документе.
Помните, что вам необходимо запускать программу dh_make
только один раз. Если вы попытаетесь запустить ее еще раз,
она может сработать неправильно. Это также означает, что для создания новой
версии пакета, вы должны использовать другой подход. Это описано в разделе Обновление пакета, раздел 6.4.
[ назад ] [ Содержание ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ вперед ]
Руководство начинающего разработчика Debian
версия 1.0.2, 10 June 2001 (?)joy-mg@debian.org
mss@transas.com
alexey@pepper.spb.ru