Table of Contents
Ниже приведены необходимые предварительные требования, которые вам нужно понять до того, как вы примете участие в Debian.
Существует несколько типов людей, взаимодействующих с Debian в рамках разный ролей:
Заметьте, что сразу же стать официальным разработчиком Debian (DD) нельзя, так как для этого требуется нечто большее, чем только технические навыки. Тем не менее, не отчаивайтесь из-за этого. Если ваша работа полезна для других, вы всё равно можете загрузить ваш пакет либо как сопровождающий через поручителя, либо как сопровождающий Debian.
Помните, для того чтобы стать разработчиком Debian не обязательно создавать какие-либо новые пакеты. Участие в уже существующих пакетах тоже может дать вам возможность к получению статуса разработчика Debian. Множество пакетов ждут своих хороших сопровождающих (см., Section 2.8, “Подходы к участию”).
Чтобы узнать, как принять участие в Debian, обратите внимание не следующее:
Для подготовки к взаимодействию с Debian следует понять социальную динамику Debian, которая состоит в следующем:
Все мы являемся добровольцами.
Движущей силой является дружеское сотрудничество.
Debian — это не школа, где вы автоматически получаете внимание учителей.
Debian постоянно улучшается.
Поскольку в оставшейся части настоящего руководства мы концентрируемся исключительно на технических аспектах создания пакетов, постольку чтобы понять социальную динамику Debian, рекомендуем обратиться к следующей документации:
Ниже приведена техническая памятка, целью которой является облегчение работы других сопровождающих над вашим пакетом и увеличение полезности для Debian в целом.
Упростите отладку вашего пакета.
Хорошо документируйте ваш пакет.
Note | |
---|---|
Отладка ПО чаще требует большего количества времени, чем написание изначально работающего ПО. |
Please make yourself ready to read the pertinent part of the latest Debian documentation to generate perfect Debian packages:
«Руководство по политике Debian»
«Справочник разработчика Debian»
“Guide for Debian Maintainers” — this guide
All these documents are published to https://www.debian.org using the unstable suite versions of corresponding Debian packages. If you wish to have local accesses to all these documents from your base system, please consider to use techniques such as apt-pinning and chroot (Section 7.10, “chroot”).[5]
Если данное руководство противоречит официальной документации Debian, то верной является последняя. В таком случае отправьте сообщение об ошибке в пакете debmake-doc с помощью команды reportbug.
Также существует следующая альтернативная вводная документация, которую вы можете прочитать вместе с настоящим руководством:
«Руководство нового сопровождающего Debian» (более старое)
«Введение в создание пакетов Debian»
«Руководство по созданию пакетов Ubuntu» (дистрибутив Ubuntu основан на Debian.)
Tip | |
---|---|
When reading these tutorials, you should consider using the debmake command in place of the dh_make command. |
Прежде чем публично задать вопрос, приложите усилия для его самостоятельного разрешения, например, прочтите хорошую документацию:
Нужную вам информацию можно оперативно найти с помощью хорошо сформированного поискового запроса, такого как «ключевое-слово site:lists.debian.org». Такой запрос ограничивает поиск указанным доменом.
Создание небольшого тестового пакета — хороший способ изучить детали создания пакетов. Исследование существующих хорошо сопровождаемых пакетов — лучший способ изучить то, как другие люди создают пакеты.
Если у вас всё ещё остались вопросы по поводу создания пакетов, вы можете задать их в следующих списках рассылки:
Списки рассылки, в которых принято общаться на отличных от английского языках.
Более опытные разработчики Debian с радостью вам помогут, если вы правильно зададите вопрос после того, как уже самостоятельно попробовали разобраться.
Caution | |
---|---|
Разработка Debian представляет собой движущуюся цель. Информация, которую можно найти в Сети, может оказаться устаревшей, неправильной, неприменимой. Используйте её с осмотрительно. |
Пожалуйста, поймите ситуацию с архивом Debian.
Поэтому, участие в работе над уже добавленными в архив пакетами более чем ценно и желательно (и гораздо больше вероятность получить поручительство для загрузки) со стороны других сопровождающих.
Tip | |
---|---|
Команда wnpp-alert из пакета devscripts может проверять, если ли среди установленных пакетов пакеты открытые для усыновления или же осиротевшие пакеты. |
Tip | |
---|---|
The how-can-i-help package can show opportunities for contributing to Debian on packages installed locally. |
Ниже приводится псевдокод на питоноподобном языке, описывающий в программном видевозможности вашего участия в Debian:
if exist_in_debian(program): if is_team_maintained(program): join_team(program) if is_orphaned(program): # maintainer: Debian QA Group adopt_it(program) elif is_RFA(program): # Request for Adoption adopt_it(program) else: if need_help(program): contact_maintainer(program) triaging_bugs(program) preparing_QA_or_NMU_uploads(program) else: leave_it(program) else: # new packages if not is_good_program(program): give_up_packaging(program) elif not is_distributable(program): give_up_packaging(program) else: # worth packaging if is_ITPed_by_others(program): if need_help(program): contact_ITPer_for_collaboration(program) else: leave_it_to_ITPer(program) else: # really new if is_applicable_team(program): join_team(program) if is_DFSG(program) and is_DFSG(dependency(program)): file_ITP(program, area="main") # This is Debian elif is_DFSG(program): file_ITP(program, area="contrib") # This is not Debian else: # non-DFSG file_ITP(program, area="non-free") # This is not Debian package_it_and_close_ITP(program)
Где:
Для функций exist_in_debian() и is_team_maintained() нужно проверить следующее:
Для функций is_orphaned(), is_RFA() и is_ITPed_by_others() нужно проверить следующее:
Для функции is_good_program() нужно проверить следующее:
Для функций is_it_DFSG() и is_its_dependency_DFSG() нужно проверить следующее:
Для функции is_it_distributable() нужно проверить следующее:
Вам необходимо либо отправить сообщение об ошибке ITP или усыновить пакет, чтобы начать над ним работать. См. «Справочник разработчика Debian»:
Начинающий участник и сопровождающий могут недоумевать по поводу того, что же следует изучить, чтобы начать участвовать в Debian. Ниже приводятся некоторые предложения в зависимости от того, чем вы хотите заниматься.
Создание пакетов
Перевод
Документация
Начинающий участник и сопровождающий могут недоумевать по поводу того, где же начать участвовать в Debian. Ниже приводятся некоторые предложения в зависимости от ваших навыков.
Навыки работы с командной оболочкой POSIX, Perl и Python:
Навыки C и C++:
Навыки работы с отличными от английского языками:
Навыки написания документации:
Эта деятельность даст вам возможность познакомиться с другими участниками Debian и улучшить вашу репутацию.
Начинающему сопровождающему следует избегать работу над пакетами, содержащими программы с высокими рисками в плане безопасности:
Когда вы получите больше опыта в работе над пакетами, вы сможете создавать пакеты и с такими программами.
[4] Подавляющее большинство сопровождающих Debian используют git, а не другие системы управления версиями, такие как hg, bzr и т.д.
[5] It is unwise to run your base system under the pure unstable suite even for the development system. Normally, most package development activities use unstable chroot as in Section 7.10, “chroot”. By using virtualization, you can test demanding situation such as the full Desktop system, network daemons, and system installer in the unstable suite environment even from the base system running the stable suite.
[6] Это не является абсолютным требованием. Тем не менее, враждебные разработчики основной ветки могут стать тем, что будет опустошать ресурсы всех нас. С дружественными разработчиками можно консультироваться в решении любых проблем с программой.