Справочник разработчика Debian

Андреас Барт

Адам Ди Карло

Рафаэль Герцог

Лукас Нуссбаум

Кристиан Шварц

Иен Джексон

версия 3.4.19

Данное руководство является Свободным ПО; вы можете распространять его и/или изменять в соответствии с условиями Стандартной общественной лицензии GNU, опубликованной Free Software Foundation; либо версии 2, либо (по вашему усмотрению) любой более поздней версии.

Руководство распространяется в надежде на то, что оно будет кому-нибудь полезно, но без каких-либо гарантий; даже без гарантии товарного состояния или пригодности его использования в конкретных целях. Для получения более подробной информации ознакомьтесь со Стандартной общественной лицензией GNU.

Копия Стандартной общественной лицензии GNU доступна в /usr/share/common-licenses/GPL-2 в дистрибутиве Debian, либо во Всемирной паутине на веб-сайте GNU. Также вы можете получить печатную версию, обратившись по адресу: Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.

Если вы хотите распечатать данное руководство, вам следует использовать pdf-версию. Данная страница также доступна на английском, французском, немецком, итальянском, русском и японском языках.

2017-10-28


Содержание

1. Границы данного документа
2. Подача заявки на получение статуса сопровождающего
2.1. Приступаем к работе
2.2. Наставники и поручители Debian
2.3. Регистрация в качестве разработчика Debian
3. Обязанности разработчика Debian
3.1. Обязанности сопровождающего пакетов
3.1.1. Работа по подготовке следующего стабильного выпуска
3.1.2. Сопровождение пакетов в стабильном выпуске
3.1.3. Работа с критичными для выпуска ошибками
3.1.4. Координация с разработчиками основной ветки
3.2. Административные обязанности
3.2.1. Сопровождение вашей связанной с Debian информации
3.2.2. Сопровождение вашего открытого ключа
3.2.3. Голосование
3.2.4. Вежливый уход в отпуск
3.2.5. Уход в отставку
3.2.6. Возвращение после ухода
4. Ресурсы для разработчиков и сопровождающих Debian
4.1. Списки рассылки
4.1.1. Базовые правила
4.1.2. Базовые списки рассылки
4.1.3. Специальные списки рассылки
4.1.4. Запрос новых списков рассылки, связанных с разработкой
4.2. Каналы IRC
4.3. Документация
4.4. Машины Debian
4.4.1. Сервер bugs
4.4.2. Сервер ftp-master
4.4.3. Сервер www-master
4.4.4. Веб-сервер people
4.4.5. Серверы систем управления версиями
4.4.6. chroot для различных выпусков
4.5. База данных разработчиков
4.6. Архив Debian
4.6.1. Разделы
4.6.2. Архитектуры
4.6.3. Пакеты
4.6.4. Выпуски
4.6.4.1. Стабильный, тестируемые и нестабильный выпуски
4.6.4.2. Дополнительная информация о тестируемом выпуске
4.6.4.3. Экспериментальный выпуск
4.6.5. Кодовые имена выпусков
4.7. Зеркала Debian
4.8. Система входящих пакетов
4.9. Информация о пакете
4.9.1. В веб
4.9.2. Утилита dak ls
4.10. Система отслеживания пакетов Debian
4.10.1. Интерфейс электронной почты для системы отслеживания пакетов
4.10.2. Фильтрация почты от системы отслеживания пакетов
4.10.3. Пересылка коммитов системы управления версиями в систему отслеживания пакетов
4.10.4. Веб-интерфейс системы отслеживания пакетов
4.11. Обзор пакетов разработчика
4.12. Установка Debian FusionForge: Alioth
4.13. Плюшки для разработчиков и сопровождающих Debian
5. Управление пакетами
5.1. Новые пакеты
5.2. Запись изменений в пакете
5.3. Тестирование пакета
5.4. Схема пакета с исходным кодом
5.5. Выбор выпуска
5.5.1. Специальный случай: загрузка в стабильный и предыдущий стабильный выпуски
5.5.2. Специальный случай: загрузка в testing/testing-proposed-updates
5.6. Загрузка пакета
5.6.1. Загрузка на ftp-master
5.6.2. Задержанные загрузки
5.6.3. Загрузки безопасности
5.6.4. Другие очереди загрузки
5.6.5. Notifications
5.7. Определение раздела для пакета, подраздела и приоритета
5.8. Работа с ошибками
5.8.1. Мониторинг ошибок
5.8.2. Ответ на ошибки
5.8.3. Работа с ошибками
5.8.4. Когда ошибки исправляются путём новых загрузок
5.8.5. Работа с ошибками, связанными с безопасностью
5.8.5.1. Система отслеживания безопасности
5.8.5.2. Конфиденциальность
5.8.5.3. Рекомендации по безопасности
5.8.5.4. Подготовка пакетов для решения проблем безопасности
5.8.5.5. Загрузка исправленного пакета
5.9. Перемещение, удаление, переименование, придание статуса осиротевшего, усыновление и повторное введение пакетов
5.9.1. Перемещение пакетов
5.9.2. Удаление пакетов
5.9.2.1. Удаление пакетов из каталога Incoming (каталога входящих пакетов)
5.9.3. Замена или переименование пакетов
5.9.4. Придание статуса осиротевшего пакета
5.9.5. Усыновление пакета
5.9.6. Повторное добавление пакетов
5.10. Работа на переносом и перенос пакетов
5.10.1. Будьте добры к тем, кто занимается переносом
5.10.2. Руководство для загрузок теми, кто занимается переносом
5.10.2.1. Повторная компиляция или только двоичные NMU
5.10.2.2. Когда следует делать NMU, если вы занимаетесь переносом
5.10.3. Инфраструктура переноса и автоматизация
5.10.3.1. Списки рассылки и веб-страницы
5.10.3.2. Инструменты переноса
5.10.3.3. wanna-build
5.10.4. Если ваш пакет не может быть перенесён
5.10.5. Отмечаем несвободные пакеты как собираемые автоматически (auto-buildable)
5.11. Загрузки не-сопровождающим (NMU)
5.11.1. Когда и как делать NMU
5.11.2. NMU и файл debian/changelog
5.11.3. Использование очереди DELAYED/
5.11.4. NMU с точки зрения сопровождающего
5.11.5. NMU исходного кода и двоичные NMU (binNMU)
5.11.6. NMU и загрузки командой контроля качества
5.11.7. NMU и командные загрузки
5.12. Совместное сопровождение
5.13. Тестируемый выпуск
5.13.1. Основы
5.13.2. Обновления из нестабильного выпуска
5.13.2.1. Устаревание
5.13.2.2. Удаление из тестируемого выпуска
5.13.2.3. Круговые зависимости
5.13.2.4. Влияние пакета в тестируемом выпуске
5.13.2.5. Подробности
5.13.3. Прямые обновления тестируемого выпуска
5.13.4. Часто задаваемые вопросы
5.13.4.1. Что такое критичные для выпуска ошибки, как производится их подсчёт?
5.13.4.2. Как установка какого-то пакета в тестируемый выпуск может сломать другие пакеты?
6. Лучшие практики создания пакетов
6.1. Лучшие практики для debian/rules
6.1.1. Сценарии-помощники
6.1.2. Отделение ваших заплат в несколько файлов
6.1.3. Множественные двоичные пакеты
6.2. Лучшие практики для debian/control
6.2.1. Общие принципы описания пакетов
6.2.2. Резюме пакета или короткое описание
6.2.3. Длинное описание
6.2.4. Домашняя страница основной ветки разработки
6.2.5. Размещение системы контроля версий
6.2.5.1. Vcs-Browser
6.2.5.2. Vcs-*
6.3. Лучшие практики для debian/changelog
6.3.1. Написание полезных пунктов файла изменений
6.3.2. Распространённые неправильные представления о записях об изменениях
6.3.3. Общие ошибки в записях об изменениях
6.3.4. Дополнение журналов файлами NEWS.Debian
6.4. Лучшие практики для сценариев сопровождающих
6.5. Управление настройкой с помощью debconf
6.5.1. Не злоупотребляйте debconf
6.5.2. Общие рекомендации для авторов и переводчиков
6.5.2.1. Пишите на правильном английском
6.5.2.2. Будьте добры к переводчикам
6.5.2.3. Отменяйте статус неясных строк когда исправляете опечатки или орфографию
6.5.2.4. Не допускайте ничего по поводу интерфейсов
6.5.2.5. Не используйте первое лицо
6.5.2.6. Будьте нейтральны в гендерном отношении
6.5.3. Определение полей шаблонов
6.5.3.1. Тип
6.5.3.1.1. string
6.5.3.1.2. password
6.5.3.1.3. boolean
6.5.3.1.4. select
6.5.3.1.5. multiselect
6.5.3.1.6. note
6.5.3.1.7. text
6.5.3.1.8. error
6.5.3.2. Описание: краткое и расширенное описания
6.5.3.3. Choices
6.5.3.4. Default
6.5.4. Руководство по стилю в зависимости от полей шаблона
6.5.4.1. Тип поля
6.5.4.2. Поле Description
6.5.4.2.1. Шаблоны string/password
6.5.4.2.2. Шаблоны boolean
6.5.4.2.3. select/multiselect
6.5.4.2.4. Примечания
6.5.4.3. Поле Choices
6.5.4.4. Поле Default
6.5.4.5. Поле Default
6.6. Интернационализация
6.6.1. Обработка переводов debconf
6.6.2. Интернационализованная документация
6.7. Общие ситуации при создании пакетов
6.7.1. Пакеты, использующие autoconf/automake
6.7.2. Библиотеки
6.7.3. Документация
6.7.4. Конкретные типы пакетов
6.7.5. Независящие от архитектуры данные
6.7.6. Необходимость в конкретной локали во время сборки
6.7.7. Делаем так, чтобы deborphan определят переходные пакеты
6.7.8. Лучшие практики для файлов .orig.tar.{gz,bz2,xz}
6.7.8.1. Чистый исходный код
6.7.8.2. Повторная упаковка исходного кода основной ветки
6.7.8.3. Изменение двоичных файлов
6.7.9. Лучшие практики для отладочных пакетов
6.7.10. Лучшие практики для метапакетов
7. Помимо создания пакетов
7.1. Отправка отчётов об ошибках
7.1.1. Отправка множества отчётов об ошибках за один раз (массовое заполнение отчётов об ошибках)
7.1.1.1. Пользовательские метки
7.2. Работа по контролю качества
7.2.1. Ежедневная работа
7.2.2. Вечеринки по исправлению ошибок
7.3. Связь с другими сопровождающими
7.4. Работа с неактивными и/или недоступными сопровождающими
7.5. Взаимодействие с будущими разработчиками Debian
7.5.1. Поручение пакетов
7.5.1.1. Поручительство нового пакета
7.5.1.2. Поручение обновления существующего пакета
7.5.2. Поддержка новых разработчиков
7.5.3. Обработка заявок новых сопровождающих
8. Интернационализация и переводы
8.1. Как переводы обрабатываются в Debian
8.2. ЧаВО по I18N и L10N для сопровождающих
8.2.1. Как перевести некоторый данный текст
8.2.2. Как проверить перевод
8.2.3. Как обновить перевод
8.2.4. Как работать с отчётом об ошибке, касающемся перевода
8.3. ЧаВО по I18N и L10N для переводчиков
8.3.1. Как помочь с переводом
8.3.2. Как предоставить перевод для добавления его в пакет
8.4. Лучшие текущие практики, касающиеся локализации
A. Обзор инструментов Debian для сопровождающего
A.1. Базовые инструменты
A.1.1. dpkg-dev
A.1.2. debconf
A.1.3. fakeroot
A.2. Инструменты для проверки пакетов на предмет ошибок и соответствия стандартам
A.2.1. lintian
A.2.2. debdiff
A.3. Помощники для debian/rules
A.3.1. debhelper
A.3.2. dh-make
A.3.3. equivs
A.4. Сборщики пакетов
A.4.1. git-buildpackage
A.4.2. debootstrap
A.4.3. pbuilder
A.4.4. sbuild
A.5. ПО для загрузки пакетов
A.5.1. dupload
A.5.2. dput
A.5.3. dcut
A.6. Автоматизация сопровождения пакетов
A.6.1. devscripts
A.6.2. autotools-dev
A.6.3. dpkg-repack
A.6.4. alien
A.6.5. dpkg-dev-el
A.6.6. dpkg-depcheck
A.7. Инструменты для переноса
A.7.1. dpkg-cross
A.8. Документация и информацию
A.8.1. docbook-xml
A.8.2. debiandoc-sgml
A.8.3. debian-keyring
A.8.4. debian-el