WWW.BOOK.LIB-I.RU
БЕСПЛАТНАЯ  ИНТЕРНЕТ  БИБЛИОТЕКА - Электронные ресурсы
 

Pages:   || 2 | 3 |

«Справочник разработчика Debian Авторы «Справочника разработчика», Андреас Барт, Адам Ди Карло, Рафаэль Герцог, Лукас Нуссбаум, Кристиан Шварц, Иен ...»

-- [ Страница 1 ] --

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

Авторы «Справочника разработчика», Андреас Барт,

Адам Ди Карло, Рафаэль Герцог, Лукас Нуссбаум,

Кристиан Шварц, Иен Джексон

19 июня 2016 г.

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

by Авторы «Справочника разработчика», Андреас Барт, Адам Ди Карло, Рафаэль Герцог, Лукас Нуссбаум,

Кристиан Шварц, Иен Джексон

Published 2016-06-19

Copyright © 2004, 2005, 2006, 2007 Андреас Барт

Copyright © 1998, 1999, 2000, 2001, 2002, 2003 Адам Ди Карло

Copyright © 2002, 2003, 2008, 2009 Рафаэль Герцог Copyright © 2008, 2009 Лукас Нуссбаум Copyright © 1997, 1998 Кристиан Шварц Данное руководство является Свободным ПО; вы можете распространять его и/или изменять в соответствии с условиями Стандартной общественной лицензии 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-версию. Данная страница также доступна на английском, французском, немецком, итальянском, русском и японском языках.

ii Оглавление 1 Границы данного документа 1 2 Подача заявки на получение статуса сопровождающего 3

2.1 Приступаем к работе........................................ 3

2.2 Наставники и поручители Debian.................................. 3

2.3 Регистрация в качестве разработчика Debian........................... 4 3 Обязанности разработчика Debian 7

3.1 Обязанности сопровождающего пакетов.............................. 7 3.1.1 Работа по подготовке следующего стабильного выпуска..........

–  –  –

Границы данного документа Целью данного документа является обзор рекомендованных процедур и доступных разработчикам Debian ресурсов.

Обсуждаемые здесь процедуры включают в себя то, как стать сопровождающим (раздел 2, «Подача заявки на получение статуса сопровождающего»); как создавать новые пакеты (раздел 5.1, «Новые пакеты») и как загружать пакеты (раздел 5.6, «Загрузка пакета»); как работать с сообщениями об ошибках (раздел 5.8, «Работа с ошибками»); как перемещать, удалять или придавать пакетам статус осиротевших пакетов (раздел 5.9, «Перемещение, удаление, переименование, придание статуса осиротевшего, усыновление и повторное введение пакетов»); как переносить пакеты на другие архитектуры (раздел 5.10, «Работа на переносом и перенос пакетов»); и то, как и когда выполнять временные выпуски пакетов других сопровождающих (раздел 5.11, «Загрузки не-сопровождающим (NMU)»).

Обсуждаемые ресурсы в данном руководстве включают в себя списки рассылки (раздел 4.1, «Списки рассылки») и серверы (раздел 4.4, «Машины Debian»); обсуждается структура архива Debian (раздел 4.6, «Архив Debian»); объясняются разные серверы, которые принимают загружаемые пакеты (раздел 5.6.1, «Загрузка на ftp-master»); также обсуждаются ресурсы, которые могут помочь сопровождающим контролировать качество своих пакетов (раздел A, «Обзор инструментов Debian для сопровождающего»).





Должно быть ясно, что данное руководство не содержит обсуждения технических деталей пактов Debian и технических деталей их создания. Данное руководство не содержит подробных сведений о стандартах, которым должно отвечать ПО в Debian. Вся эта информация может быть найдена в Руководстве по политике Debian.

Более того, данный документ не выражает формальной политики. Он содержит документацию по системе Debian и лучшие практики, принимаемые большинством. Таким образом, это не „нормативный“ документ.

Глава 2 Подача заявки на получение статуса сопровождающего

2.1 Приступаем к работе Итак, вы прочли всю документацию, просмотрели Руководство начинающего разработчика Debian, поняли, зачем нужно всё то, что содержится в пакете hello и собираетесь сделать своё любимое ПО частью Debian.

Как же вам стать разработчиком Debian, как сделать так, чтобы ваша работа была включена в Проект?

Во-первых, подпишитесь на debian-devel@lists.debian.org, если вы ещё не оформили подписку. Отправьте слово subscribe в поле Тема вашего сообщения электронной почты на адрес debian-devel-REQUEST@ lists.debian.org. В случае возникновения проблем свяжитесь с администратором списка по адресу listmaster@ lists.debian.org. Дополнительную информацию о доступных списках рассылки см. в разделе 4.1, «Списки рассылки». Ещё один обязательный список рассылки debian-devel-announce@lists.debian.org, для тех кто хочет следить за разработкой и развитием Debian.

Вам следует подписаться и ненадолго скрыться (то есть, читать сообщения и ничего не отправлять в список) до начала какой-либо работы над кодом, вам следует писать о ваших намерениях по реализации чего-либо для того, чтобы избежать повторов в работе.

Ещё одним хорошим списком рассылки, на который стоит подписаться, является debian-mentors@lists.

debian.org. Подробности см. в разделе 2.2, «Наставники и поручители Debian». IRC-канал #debian также может быть полезен, см. раздел 4.2, «Каналы IRC».

Когда вы решите, как вы хотите участвовать в Debian, вам следует связаться с существующими сопровождающими Debian, которые работают над схожими задачами. Это позволит вам научиться у опытных разработчиков. Например, если вы заинтересованы в создании пакетов Debian для существующего ПО, вам следует попытаться найти поручителя. Поручитель будет работать с вами над вашим пакетом и загрузит его в архив Debian, когда он будет доволен проделанной вами работой по созданию пакета. Вы можете найти поручителя отправив сообщение в список рассылки debian-mentors@lists.debian.org с описанием вашего пакета и себя самого и с просьбой о поручительстве (для дополнительной информации о поручительстве см. раздел 7.5.1, «Поручение пакетов» и https://wiki.debian.org/DebianMentorsFaq). С другой стороны, если вы заинтересованы в переносе Debian на альтернативные архитектуры или ядра, вы можете подписаться на конкретные списки рассылки и спросить там о том, как начать работу. Наконец, если вы заинтересованы в работе над документацией или в контроле качества (QA), вы можете присоединиться к сопровождающим, которые уже работают над этими задачами и отправляют заплаты и улучшения.

Одной из проблем может быть то, что локальная часть вашего адреса электронной почты имеет слишком общий характер: следует избегать таких терминов как mail, admin, root, master, подробнее см. https:// www.debian.org/MailingLists/.

2.2 Наставники и поручители Debian Список рассылки debian-mentors@lists.debian.org создан для начинающих сопровождающих, которые ищут помощи в работе над созданием пакетов или в решении связанных с разработкой проблем. Каждому новому разработчику рекомендуется подписаться на этот список рассылки, подробнее см. раздел 4.1, «Списки рассылки».

ГЛАВА 2. ПОДАЧА ЗАЯВКИ НА … 2.

3. РЕГИСТРАЦИЯ В КАЧЕСТВЕ … Те, кто предпочитает помощь в режиме «один-на-один» (напр., через частную электронную почту), также должны написать в этот список рассылки и опытные разработчики помогут вам.

Кроме того, если у вас имеются пакеты, готовые для добавления в Debian, но вы ожидаете прохождения процедуры получения статуса нового сопровождающего, в этом списке рассылки вы можете найти поручителя для загрузки вашего пакета. Поручители — люди, которые являются официальными разработчиками Debian и которые желают проверить ваши пакеты и загрузить их. Пожалуйста, для начала прочтите ЧаВО списка рассылки debian-mentors по адресу https://wiki.debian.org/DebianMentorsFaq.

Если вы хотите выступить в качестве наставника и/или поручителя, см. дополнительную информацию в разделе 7.5, «Взаимодействие с будущими разработчиками Debian».

2.3 Регистрация в качестве разработчика Debian До того как вы решите зарегистрировать в Debian, вам необходимо прочитать всю доступную информацию в Уголке новых членов Debian. Там описаны подробности подготовки, которую вам следует пройти до того, как вы сможете зарегистрироваться для получения статуса разработчика Debian. Например, до подачи заявки вам необходимо прочитать Общественный договор Debian. Ваша регистрация как разработчика предполагает, что вы согласны и ручаетесь придерживаться Общественного договора Debian; очень важно, что сопровождающие согласны с ключевыми идеями, стоящими за Debian. Чтение Манифеста GNU также может быть хорошей идеей.

Регистрация в качестве разработчика представляет собой процесс проверки вашей личности и ваших намерений, а также проверку ваших технических навыков. Поскольку число людей, работающих над Debian, переросло 1000, и поскольку наши системы используются в ряде очень важных мест, мы должны быть аккуратны. Следовательно, нам необходимо проверять новых сопровождающих до того, как мы предоставим их учётные записи на наших серверах и позволим им загружать пакеты.

До того как вы фактически зарегистрируетесь, вам следует показать, что вы можете выполнять компетентную работу и быть хорошим участником разработки. Вы можете показать это, отправляя заплаты через систему отслеживания ошибок и работая некоторое время над пакетом, имеющим поручителем существующего разработчика Debian. Кроме того, мы ожидаем, что участники заинтересованы во всём проекте целиком, а не просто в сопровождении своих собственных пакетов. Если мы можете помочь другим сопровождающим, предоставляя дополнительную информацию об ошибке или даже заплату, сделайте это!

Для регистрации необходимо, чтобы вы были знакомы с философией Debian и технической документацией. Более того, вам потребуется ключ GnuPG, которые должен быть подписан существующими сопровождающими Debian. Если ваш ключ GnuPG ещё не подписан, вам следует попытаться встретиться с разработчиком Debian лично и подписать у него свой ключ. Имеется страница для координации подписания ключа GnuPG, которая поможет вам найти разработчика Debian около вас. (Если около вас нет разработчиков Debian, может быть разрешён альтернативный путь прохождения проверки личности как некоторое абсолютное исключение в зависимости от конкретного случая. Дополнительную информацию см. на странице установления личности.) Если у вас нет ключа OpenPGP, создайте его. Каждому разработчику необходим ключ OpenPGP для подписывания и проверки загрузок пакетов. Вам следует прочесть руководство для ПО, которое вы используете, поскольку оно содержит большое количество очень важной информации касательно безопасности. Большая часть проблем безопасности возникла из-за человеческих ошибок, а не из-за проблем с ПО или каких-то высокотехнологичных шпионских штучек. Дополнительную информацию о сопровождении вашего открытого ключа см. раздел 3.2.2, «Сопровождение вашего открытого ключа».

Debian использует GNU Privacy Guard (пакет gnupg версии 1 или новее) в качестве своего базового стандарта. Вы также можете использовать некоторые другие реализации OpenPGP. Заметьте, что OpenPGP является открытым стандартом на основе RFC 2440.

Для разработки Debian вам потребуется ключ версии 4. Длина вашего ключа должна быть больше 1024 бит. Оснований использовать меньший ключ нет и это намного менее безопасно.1 1 Ключи версии 4 соответствуют стандарту OpenPGP, определённому в RFC 2440. Версия 4 представляет собой тот тип ключа, который всегда создаётся при использовании GnuPG. Версии PGP начиная с 5.x также могут создавать ключи версии 4, другой возможностью является PGP 2.6.x, который совместим с ключами версии v3 (в PGP они также называют наследуемыми RSA).

Ключи версии 4 (первичные) могут использовать либо алгоритм RSA, либо алгоритм DSA, поэтому это не имеет отношения к вопросу GnuPG о том, какой вид ключей вам нужен: (1) DSA и Elgamal, (2) DSA (только для подписи), (5) RSA (только для подписи). Если у вас нет специальных требований, выберите вариант по умолчанию.

Наиболее простым способом определить, является ли существующий ключ ключом версии 4 или 3 (или 2), состоит в том, чтобы проверить его отпечаток. Отпечатки ключей версии 4 являются SHA-1 хэшем некоторого материала ключа, поэтому они представляют собой 40 шестнадцатеричных чисел, обычно сгруппированных в блоки по 4. Отпечатки ключей более старых версий используют MD5 и обычно отображаются в виде блоков по 2 шестнадцатеричных числа. Например, если ваш отпечаток похож на 5B00 C96D 5D54 AEE1 206B AF84 DE7A AF6E 94C0 9C7F, то это ключ версии 4.

ГЛАВА 2. ПОДАЧА ЗАЯВКИ НА … 2.

3. РЕГИСТРАЦИЯ В КАЧЕСТВЕ … Если ваш открытый ключ не размещён на сервере открытых ключей, таком как subkeys.pgp.net, прочтите доступную по адресу Шаг 2: Установление личности информацию. Этот документ содержит инструкции о том, как поместить ваш ключ на серверы открытых ключей. Группа новых сопровождающих поместит ваш открытый ключ на серверы, если ключ ещё не был там размещён.

Некоторые страны ограничивают использование ПО для шифрования своими гражданами. Это не должно затруднить вашу деятельность как сопровождающего пакетов Debian, поскольку допускается использование продуктов шифрования для аутентификации, а не в целях зашифровать что-либо. Если вы живёте в стране, в которой запрещено использование шифрования даже для аутентификации, свяжитесь с нами, чтобы мы могли подготовить специальные договорённости.

Чтобы подать заявку на получение статуса нового сопровождающего, существующий разработчик Debian должен поддержать вашу заявку (адвокат). Если вы уже участвуете в Проекте Debian в течении некоторого времени и хотите подать заявку на получение статуса зарегистрированного разработчика, то существующий разработчик, с которым вы работали несколько последних месяцев, должен выразить свою убеждённость, что вы сможете успешно участвовать в развитии Проекта Debian.

Когда вы найдёте адвоката, ваш ключ GnuPG будет подписан, и у вас уже будет опыт участия в Проекте Debian, вы будете готовы подать заявку. Вы можете просто зарегистрироваться на нашей странице заявок.

После того, как вы авторизуетесь, ваш адвокат должен подтвердить вашу заявку. Когда ваш адвокат завершит этот шаг, вам будет назначен менеджер заявки, который пройдёт вместе с вами все необходимые шаги процесса получения статуса нового сопровождающего. Вы всегда можете проверить свой статус в таблице статусов заявок.

Для получения подробных сведений, обратитесь в Уголок новых членов Debian на веб-сайте Debian.

Убедитесь, что вам знакомы все необходимые шаги процесса получения статуса нового сопровождающего до того, как вы фактически подадите свою заявку. Если вы будете хорошо подготовлены, вы сможете сохранить большое количество времени.

Другой возможностью является передача ключа программе pgpdump, которая сообщит что-то вроде Public Key Packet - Ver 4.

Кроме того, заметьте, что ваш ключ должен быть подписан этим же ключом (т. е. должны быть подписаны все собственные идентификаторы пользователя; это предотвращает их подделку). Всё современное ПО OpenPGP делает это автоматически, но если у вас имеется более старый ключ, вам может потребоваться вручную добавить эти подписи.

Глава 3 Обязанности разработчика Debian

3.1 Обязанности сопровождающего пакетов Как сопровождающий пакета вы должны предоставлять пакеты высокого качества, которые хорошо интегрируются в систему и соответствуют Политике Debian.

3.1.1 Работа по подготовке следующего стабильного выпуска Предоставление пакетов высокого качества в нестабильный выпуск не достаточно, большинство пользователей извлекут пользу из ваших пакетов в том случае, если они будут выпущены в составе следующего стабильного выпуска. Поэтому вам следует взаимодействовать с командой, курирующей выпуск, чтобы подстраховаться, что ваши пакеты будут добавлены в выпуск.

Более конкретно, вам необходимо отслеживать, мигрировали ли ваши пакеты в тестируемый выпуск (см. раздел 5.13, «Тестируемый выпуск»). Если миграция не произошла после периода тестирования, вам следует выяснить, почему так получилось, и поработать над исправлением проблемы. Это может предполагать исправление пакета (в случае критичных для выпуска ошибок или проблем сборки на некоторых архитектурах), но также это может предполагать обновление (или исправление, или удаление из тестируемого выпуска) других пакетов, чтобы помочь в завершении перехода пакетов, в котором ваш пакет застрял изза своих зависимостей. Команда по выпуску может предоставить вам некоторую информацию о факторах, блокирующих некоторый данный переход пакетов, в случае, если вы сами не можете их определить.

3.1.2 Сопровождение пакетов в стабильном выпуске Большая часть работы сопровождающего пакетов сводится к загрузке обновлённых версий пакетов в нест абильный выпуск, но также предполагается отслеживание пакетов в текущем стабильном выпуске.

Хотя вносить изменения в стабильный выпуск не рекомендуется, они возможны. Когда сообщается о проблеме безопасности, вам следует совместно с командой безопасности предоставить исправленную версию (см. раздел 5.8.5, «Работа с ошибками, связанными с безопасностью»). Если сообщается об ошибках с важностью important (или более) в стабильной версии вашего пакета, вам следует подумать над предоставлением целевого исправления. Вы можете спросить команду стабильного выпуска о том, примут они такое обновление или нет, и затем уже подготовить загрузку в стабильный выпуск (см. раздел 5.5.1, «Специальный случай: загрузка в стабильный и предыдущий стабильный выпуски»).

3.1.3 Работа с критичными для выпуска ошибками Обычно вам следует работать с сообщениями об ошибках в ваших пакетах так, как это описано в разделе 5.8, «Работа с ошибками». Тем не менее, имеется специальная категория ошибок, на которые следует обратить внимание — это так называемые критичные для выпуска ошибки (RC ошибки). Все такие сообщения об ошибках, имеющие важность critical, grave или serious, делают пакет неподходящим для включения в следующий стабильный выпуск. Таким образом, они могут задержать выпуск Debian (когда они затрагивают пакет из тестируемого выпуска), либо блокировать миграцию пакетов в тестируемый выпуск (когда они лишь затрагивают пакет из нестабильного выпуска). В худшем сценарии такие ошибки приведут к удалению пакета. Вот почему эти ошибки следует исправить как можно скорее.

Если по какой-либо причине вы не можете исправить критичную для выпуска ошибку в вашем пакете в течении двух недель (например, из-за нехватки времени, либо потому, что её очень сложно исправить),

ГЛАВА 3. ОБЯЗАННОСТИ РАЗРАБОТЧИКА … 3.2. АДМИНИСТРАТИВНЫЕ ОБЯЗАННОСТИ

вам следует явно указать это в сообщении об ошибке, также вам следует отметить ошибку тегом help, который используется для привлечения добровольцев. Учтите, что критичные для выпуска ошибки часто исправляются путём обновления и загрузки пакета теми, кто не является сопровождающим (см. раздел 5.11, «Загрузки не-сопровождающим (NMU)»), поскольку они блокируют переход многих пакетов в тестируе мый выпуск.

Отсутствие внимания к критичным для выпуска ошибкам обычно интерпретируется командой контроля качества как знак того, что сопровождающий прекратил свою работу без корректного придания своему пакету статуса осиротевшего пакета. Команда по поиску пропавших (MIA) может подключиться к работе, что может привести к тому, что ваши пакеты получат статус осиротевших пакетов (см. раздел 7.4, «Работа с неактивными и/или недоступными сопровождающими»).

3.1.4 Координация с разработчиками основной ветки Большая часть вашей работы в качестве сопровождающего Debian будет состоять во взаимодействии с разработчиками основной ветки. Пользователи Debian иногда будут сообщать об ошибках, которые не касаются непосредственно Debian. Вам следует пересылать эти сообщения об ошибках разработчикам основной ветки, чтоб они могли исправить эти ошибки в последующем выпуске основной ветки разработки.

Хотя вашей задачей не является исправление ошибок, которые не касаются непосредственно Debian, вы вполне можете это делать, если имеете необходимые знания и навыки. Когда вы вносите такие исправления, обязательно передайте их и сопровождающим основной ветки разработки. Пользователи и разработчики Debian иногда присылают заплаты, исправляющие ошибки основной ветки разработки — вам следует оценить их и переслать в основную ветку разработки.

Если вам необходимо изменить исходный код из основной ветки разработки для того, чтобы собрать пакет, соответствующий правилам, то вам следует предложить своё исправление разработчикам основной ветки, которые может быть включено ими в основную ветку разработки, чтобы вам не пришлось изменять исходный код последующих выпусков основной ветки. Какие бы изменения вы не производили, попытайтесь не создавать ответвлений от основной ветки.

Если вы обнаружите, что разработчики основной ветки враждебны по отношению к Debian или сообществу Свободного ПО, ещё раз подумайте о том, так ли необходимо включать данное ПО в Debian. Иногда социальная стоимость, которую платит сообщество Debian, не покрывается прибылью, которую может принести какое-либо ПО.

3.2 Административные обязанности Проект, имеющий размеры, сопоставимые с Debian, полагается на некоторую административную инфраструктуру для того, чтобы всё можно было отследить. Как у члена проекта у вас будут некоторые обязанности, исполнение которых гарантирует, что всё идёт гладко.

3.2.1 Сопровождение вашей связанной с Debian информации

База данных LDAP, содержащая информацию о разработчиках Debian, расположена по адресу https:

//db.debian.org/. Вам следует ввести информацию о себе в эту базу данных и обновлять её по мере изменения. В первую очередь, убедитесь, что адрес электронной почты, на который пересылается ваша почта с ящика на debian.org, актуален, также проверьте ваш адрес, на который оформлена подписка на рассылку debian-private, если вы подписаны на неё.

Дополнительную информацию о базе данных см. в разделе 4.5, «База данных разработчиков».

3.2.2 Сопровождение вашего открытого ключа Будьте аккуратны с вашими закрытыми ключами. Не размещайте их на публичных серверах или многопользовательских машинах, таких как серверы Debian (см. раздел 4.4, «Машины Debian»). Сделайте резервную копию ваших ключей; храните копию автономно. Прочтите документацию, поставляемую с вашим ПО; прочтите ЧаВО по PGP.

Вам следует убедиться в том, что ваш ключ не только защищён от кражи, но также и в том, что он не может быть потерян. Создайте и сделайте копию (лучше всего сделать также и бумажную копию) вашего сертификата отзыва ключа; он понадобится в случае потери ключа.

Если вы добавили подписи к вашему открытому ключу, либо добавили информацию о пользователе, вы можете обновить брелок Debian, отправив ваш ключ на сервер ключей по адресу keyring.debian.org.

ГЛАВА 3. ОБЯЗАННОСТИ РАЗРАБОТЧИКА … 3.2. АДМИНИСТРАТИВНЫЕ ОБЯЗАННОСТИ

Если вам необходимо добавить абсолютно новый ключ или удалить старый, вам следует получить подпись на новом ключе от другого разработчика. Если старый ключ скомпрометирован, либо недействителен, вам также следует добавить сертификат отзыва ключа. Если реальных причин для создания нового ключа нет, сопровождающие брелока могут отклонить новый ключ. Подробности могут найдены по адресу http://keyring.debian.org/replacing_keys.html.

Применимы процедуры разворачивания ключа, обсуждаемые в разделе 2.3, «Регистрация в качестве разработчика Debian».

Подробную информацию о сопровождении ключей Debian вы можете найти в документации из пакета debian-keyring.

3.2.3 Голосование Даже несмотря на то, что Проект Debian в действительности не представляет собой демократию, мы используем демократический процесс для выбора лидеров Проекта и утверждения общих решений. Эти процедуры определяются Конституцией Проекта Debian.

Помимо ежегодных выборов лидера Проекта, голосования не проводятся регулярно, и к ним не относятся легкомысленно. Каждое предложение сначала обсуждается в списке рассылки debian-vote@lists.debian.

org, требуется некоторое одобрение любого предложения до того, как секретарь Проекта инициирует процедуру голосования.

Вам не нужно отслеживать предваряющие голосование обсуждения, поскольку секретарь опубликует несколько требований голосования в списке рассылки debian-devel-announce@lists.debian.org (все разработчики должны быть подписаны на этот список рассылки). Демократия не работает, если люди не принимают участия в голосовании, поэтому мы просим разработчиков голосовать. Голосование происходит при помощи GPG-подписанных/зашифрованных сообщений электронной почты.

Список всех предложений (прошлых и текущих) доступен на странице Информации о голосованиях Debian, там же доступна информация о том, как выдвинуть, поддержать и проголосовать по поводу предложения.

3.2.4 Вежливый уход в отпуск Разработчики могут отсутствовать, это нормально, это может быть запланированный отпуск, либо они могут быть загружены другой работой. Важно, чтобы остальные разработчики знали о том, что вы находитесь в отпуске, чтобы они могли сделать то, что нужно, если возникнут проблемы в ваших пакетах, либо от вас требуется выполнение каких-либо других обязанностей в Проекте.

Обычно это означает, что другие разработчики могут осуществлять загрузки, не будучи сопровождающими (см. раздел 5.11, «Загрузки не-сопровождающим (NMU)»), в случае если во время вашего отсутствия возникнет какая-либо большая проблема (критичная для выпуска ошибка, обновление безопасности и т. д.).

Иногда ничего критичного не происходит, но всё равно лучше предупредить остальных о том, что вы будете недоступны.

Для того, чтобы проинформировать других разработчиков, вам следует сделать две вещи. Во-первых, отправьте сообщение по адресу debian-private@lists.debian.org с [VAC] в начале темы сообщения1, в сообщении укажите промежуток времени, когда вы будете находиться в отпуске. Вы также можете указать какие-либо специальные инструкции по поводу того, что нужно предпринять в случае, если возникнет проблема.

Далее, следует отметить себя как находящегося в отпуске в базе данных LDAP разработчиков Debian (эта информация доступна только разработчикам Debian). Не забудьте удалить флаг статуса «в отпуске» по своему возвращению!

В идеале вам следует зайти на координационные страницы GPG во время планирования своего отпуска и выяснить, хочет ли кто-либо подписать свой ключ. Это особенно важно, когда люди едут в экзотические места, где у нас пока нет разработчиков, но где есть заинтересованные в участии в Проекте люди.

3.2.5 Уход в отставку

Если вы решили покинуть Проект Debian, вам следует убедиться, что вы выполнили следующие шаги:

1. Придайте всем ваши пакетам статус осиротевших пакетов как это описано в разделе 5.9.4, «Придание статуса осиротевшего пакета».

1 Это нужно для того, чтобы те, кто не хочет читать сообщения об отпусках, могли отфильтровать такие сообщения.

ГЛАВА 3. ОБЯЗАННОСТИ РАЗРАБОТЧИКА … 3.2. АДМИНИСТРАТИВНЫЕ ОБЯЗАННОСТИ

2. Вышлите подписанное с помощью gpg электронное письмо о том, что вы хотите покинуть Проект, по адресу debian-private@lists.debian.org.

3. Сообщите сопровождающим брелока Debian, что вы выходите из Проекта, открыв запрос в Debian RT путём отправления сообщения на адрес keyring@rt.debian.org со словами «Debian RT» в теме сообщения (регистр не имеет значения).

4. Если вы получали сообщения через алиас @debian.org (напр. press@debian.org) и хотите удалить свой адрес из рассылки, откройте билет RT для системных администраторов Debian. Просто отправьте сообщение на адрес admin@rt.debian.org со словами ”Debian RT” где-нибудь в теме сообщения, в сообщении укажите, от каких алиасов вы более не хотите получать сообщения.

Важно, чтобы весь приведённый выше процесс был соблюдён, поскольку поиск неактивных разработчиком и пометка их пакетов как осиротевших занимает значительное количество времени и требует усилий.

3.2.6 Возвращение после ухода Учётная запись разработчика получает отметку «emeritus» в случае, если выход в отставку выполнен в соответствии с разделом 3.2.5, «Уход в отставку», и «disabled» в противном случае. Вышедшие в отставку разработчики, имеющие учётную запись с отметкой «emeritus», могут заново активировать свою учётную запись следующим образом:

• Свяжитесь с da-manager@debian.org.

• Пройдите через укороченную процедуру получения статуса нового члена (это необходимо для того, чтобы убедиться, что возвращающийся разработчик всё ещё помнит важные части P&P и T&S).

• Докажите, что вы всё ещё контролируете ключ GPG, ассоциированный с учётной записью, либо предоставьте доказательство того, что новый ключ GPG принадлежит именно вам, для этого необходимы как минимум две подписи других разработчиков.

Прошлые разработчики, учётные записи которых были «отключены», должны заново проходить через процесс NM.

Глава 4 Ресурсы для разработчиков и сопровождающих Debian В данной главе вы найдёте очень краткую дорожную карту списков рассылки Debian, машин Debian, которые доступны вам как разработчику, а также всех других доступных вам ресурсов, которые могут помочь в вашей работе в качестве сопровождающего.

4.1 Списки рассылки Большая часть общения между разработчиками Debian (а также пользователями) происходит в списках рассылки, которые расположены по адресу lists.debian.org. Чтобы узнать о том, как подписаться или отписаться, как отправлять сообщения и как не отправлять их, где искать старые сообщения и как осуществлять поиск по ним, как связаться с сопровождающими данного списка рассылки и как просмотреть другую информацию о данном списке рассылки, прочтите https://www.debian.org/MailingLists/.

В данном разделе приводятся лишь некоторые аспекты списков рассылки, которые особенно интересны разработчикам.

4.1.1 Базовые правила При ответе на сообщения в списке рассылки не отправляйте копию сообщения (CC) автору сообщения, на которое вы отвечаете, если он об этом не попросил явным образом. Всякий, кто отправляет сообщения в список рассылки, должен быть подписан на него, чтобы видеть ответы.

Отправление нескольких одинаковых сообщений в разные списки рассылки не желательно. Как это обычно делается при работе в сети, сокращайте цитаты из сообщений, на которые вы отвечаете. В общем придерживайтесь обычных договорённостей по отправке сообщений.

Для получения дополнительной информации ознакомьтесь с нормами поведения. Также стоит прочитать Руководство по взаимодействию в сообществе Debian.

4.1.2 Базовые списки рассылки

Базовые списки рассылки Debian, которыми следует пользоваться разработчикам:

• debian-devel-announce@lists.debian.org используется для анонсирования важной для разработчиков информации. Ожидается, что все разработчики подписаны на этот список рассылки.

• debian-devel@lists.debian.org используется для обсуждения различных вопросов разработки, связанных с техническими проблемами.

• debian-policy@lists.debian.org используется для обсуждения Политики Debian, а также для голосования по её изменению.

• debian-project@lists.debian.org используется для обсуждения различных не технических проблем, связанных с Проектом.

Существуют и другие списки рассылки для обсуждения специальных вопросов; см. список по адресу https://lists.debian.org/.

–  –  –

4.1.3 Специальные списки рассылки debian-private@lists.debian.org представляет собой специальный список рассылки для частных дискуссий между разработчиками Debian. Предполагается, что он будет использоваться для сообщений, которые по какой-либо причине не должны быть доступны широкой публике. Как таковой это небольшой список рассылки, пользователям рекомендуется не использовать debian-private@lists.debian.org, если только это не является действительно необходимым. Более того, не пересылайте сообщения из этого списка кому бы то ни было. Архивы данного списка не доступны в сети по очевидным причинам, но вы можете просмотреть их, используя вашу учётную запись для командной оболочки на master.debian.org, архив находится в каталоге ~debian/archive/debian-private/.

debian-email@lists.debian.org представляет собой специальный список рассылки, используемый для сбора связанной с Debian корреспонденции, такой как взаимодействие с авторами основной ветки разработки по поводу лицензий, ошибок и т. д., либо для обсуждения Проекта с другими пользователями и разработчиками, если сохранение этого обсуждения может оказаться полезным.

4.1.4 Запрос новых списков рассылки, связанных с разработкой До отправки запроса по поводу списка рассылки, связанного с разработкой пакета (или небольшой группы связанных пакетов), решите подходит для этого использование псевдонима (через файл.forward-aliasname на master.debian.org, который переводит адрес в довольно хороший адрес you-aliasname@debian.org) или самостоятельно управляемый список рассылки на Alioth.

Если вы решили, что обычный список рассылки на lists.debian.org — это то, что вы хотите, то заполните запрос, следуя данному руководству.

4.2 Каналы IRC Несколько каналов IRC специально посвящены разработке Debian. В основном они размещены в сети сообщества открытых и свободных технологий (OFTC). Запись DNS irc.debian.org является псевдонимом для irc.oftc.net.

Основным общим каналом для Debian является #debian. Это большой канал общего назначения, где пользователи могут найти свежие новости о Проекте, этот канал обслуживается роботами. #debian предназначен для говорящих на английском языке; также имеются #debian.de, #debian-fr, #debian-br и другие каналы со сходными названиями для тех, кто говорит на других языках.

Основным каналом по вопросам разработки Debian является #debian-devel. Это довольно активный канал; обычно на нём присутствует не менее 150 человек в любое время дня. Это канал для тех, кто хочет работать над Debian, это не канал поддержки (это этого используется канал #debian). Тем не менее, этот канал открыт для всех, кто хочет затаиться (и научиться). Его тематика состоит в обсуждении любой информации, которая интересна разработчикам.

Поскольку #debian-devel является открытым каналом, вам не следует обсуждать в нём то, что обсуждается в debian-private@lists.debian.org. Для этого цели имеется другой канал, который имеет имя # debian-private, он защищён ключом. Ключ доступен по адресу master.debian.org:~debian/ misc/irc-password.

Имеются и другие дополнительные каналы, специально предназначенные для конкретных тем. #deb ian-bugs используется для координации вечеринок по исправлению ошибок. #debian-boot используется для координации работы над программой установки Debian. #debian-doc время от времени используется для разговоров по поводу документации, например, для обсуждения документации, которую вы читаете в настоящий момент. Другие каналы выделены для архитектур или наборов пакетов: #debiankde, #debian-dpkg, #debian-jr, #debian-edu, #debian-oo (пакет OpenOffice.org)...

Существуют также некоторые каналы для разработчиков, родным языком которых не является английский, например #debian-devel-fr для людей, говорящих на французском языке и заинтересованных в разработке Debian.

В других сетях IRC также существуют каналы, посвящённые Debian, в частности в IRC сети freenode, на который до 4 июня 2006 года работало перенаправление с псевдонима irc.debian.org.

Для получения скрытия (cloak) в сети freenode отправьте Йоргу Ясперту (Jrg Jaspert) joerg@debian.org подписанное вашим ключом сообщение электронной почты с указанием вашего псевдонима. Добавьте гденибудь слово cloak в заголовке Subject:. Ваш псевдоним должен быть зарегистрирован, см. страницу настройки псевдонима. Сообщение должно быть подписано ключом, который входит в брелок Debian. Дополнительную информацию о скрытии см. в документации Freenode.

ГЛАВА 4. РЕСУРСЫ ДЛЯ РАЗРАБОТЧИКОВ … 4.

3. ДОКУМЕНТАЦИЯ

4.3 Документация Данный документ содержит большое количество полезной разработчикам Debian информации, но он не может содержать всё. Ссылки на большинство других интересных документов приведены в Уголке разработчика. Потратьте некоторое время на то, чтобы ознакомиться с ними, и вы обязательно узнаете много нового.

4.4 Машины Debian У Debian имеется несколько компьютеров, которые работают в качестве серверов, большинство из них обслуживают критически важные функции в Проекте Debian. Большая часть машин используется для переноса пакетов, все эти машины имеют постоянное подключение к сети Интернет.

Некоторые машины доступны для использования отдельными разработчиками до тех пор, пока эти разработчики соблюдают правила, приведённые в Политике использования машин Debian.

Вообще говоря, вы можете использовать эти машины для связанных с Debian целей, если это кажется вам подходящим. Пожалуйста, будьте добры с системными администраторами, не используйте большое количество места на диске, пропускной способности сети, либо процессорного времени без предварительного разрешения системных администраторов. Обычно эти машины обслуживаются добровольцами.

Позаботьтесь о защите ваших паролей Debian и ключей SSH, установленных на машинах Debian. Избегайте входа или методов загрузки, которые пересылают пароли по сети Интернет в открытом виде, такие как Telnet, FTP, POP и т. д.

Пожалуйста, не размещайте какой-либо материал, не связанный с Debian, на серверах Debian, если у вас нет на это соответствующего разрешения.

Текущий список машин Debian доступен по адресу: https://db.debian.org/machines.cgi. Эта веб-страница содержит имена машин, контактную информацию, информацию о том, кто может входить на данную машину, ключи SSH и т. д.

Если у вас имеются проблемы с работой сервера Debian, и вы считаете, что системные операторы должны быть извещены об этой проблеме, вы можете обратиться к списку открытых проблем в очереди DSA в нашей системе отслеживания билетов https://rt.debian.org/ (вы можете войти под пользователем «debian», пароль же доступен по адресу: master.debian.org:~debian/misc/rt-password).

Чтобы сообщить о новой проблеме, вам нужно лишь отправить сообщение по адресу admin@rt.debian.org и убедиться, что в теме вы указали «Debian RT». Чтобы связаться с командой DSA по электронной почте, для частной или привилегированной информации, которая не должна быть публичной, используйте адрес dsa@ debian.org, а для всего остального адрес debian-admin@lists.debian.org. Команда DSA также может быть найдена на IRC-канале #debian-admin в сети OFTC.

Если у вас имеются проблемы с конкретной службой, которые не связаны с администрированием системы (такие как пакеты, которые следует удалить из архива, предложения для веб-сайта и т. д.), вам следует отправить сообщение об ошибке в псевдопакете „pseudo-package“. Информацию о том, как отправлять такие сообщения об ошибках, см. раздел 7.1, «Отправка отчётов об ошибках».

Некоторые корневые серверы ограничены, но информация с них зеркалируется на других серверах.

4.4.1 Сервер bugs bugs.debian.org является каноническим размещением системы отслеживания ошибок.

Если вы планируете проводить какой-либо статистической анализ, либо обработку сообщений об ошибках Debian, то это можно сделать здесь. Тем не менее, пожалуйста, опишите ваши планы в сообщений в debian-devel@lists.debian.org до реализации чего бы то ни было, чтобы уменьшить объём ненужной работы или время на обработку запросов.

4.4.2 Сервер ftp-master Сервер ftp-master.debian.org хранит каноническую копию архива Debian. Вообще говоря, пакет, загружаемый на ftp.upload.debian.org, в конце концов попадает на этот сервер, см. раздел 5.6, «Загрузка пакета».

Доступ у нему ограничен; зеркало доступно по адресу mirror.ftp-master.debian.org.

О проблемах с архивом Debian FTP следует сообщать как об ошибках в псевдопакете ftp.debian.

org, либо по электронной почте на адрес ftpmaster@debian.org, также см. описание процедур в разделе 5.9, «Перемещение, удаление, переименование, придание статуса осиротевшего, усыновление и повторное введение пакетов».

ГЛАВА 4. РЕСУРСЫ ДЛЯ РАЗРАБОТЧИКОВ … 4.5. БАЗА ДАННЫХ РАЗРАБОТЧИКОВ

4.4.3 Сервер www-master Основной веб-сервер расположен по адресу www-master.debian.org. Он содержит официальные вебстраницы и представляет собой лицо Debian для большинства новичков.

Если вы обнаружите проблему с веб-сервером Debian, вам следует отправить сообщение об ошибке в псевдопакете www.debian.org. Не забудьте проверить, сообщил ли кто-либо уже об этой проблеме в систему отслеживания ошибок.

4.4.4 Веб-сервер people people.debian.org представляет собой сервер, используемый для размещения собственных веб-страниц разработчиков обо всём, что связано с Debian.

Если у вас имеется какая-то касающаяся Debian информация, которую вы хотели бы разместить в веб, вы можете сделать это, поместив ваш материал в каталог public_html своего домашнего каталога на people.debian.org. Материал будет доступен по URL: https://people.debian.org/~ваш-иде нтификатор-пользователя/.

Вам следует использовать именно это место потому, что мы создаём его резервную копию, на других узлах резервные копии не создаются.

Обычно единственная причина использовать другой узел заключается в том, что вы хотите опубликовать какие-то материалы, которые подпадают под ограничения экспорта с территории США, в это случае вы можете использовать один из тех серверов, которые размещены за пределами США.

Если у вас имеются какие-либо вопросы, отправьте сообщения по адресу debian-devel@lists.debian.org.

4.4.5 Серверы систем управления версиями Если вам нужно использовать систему управления версиями для какой-либо из ваших задач в Debian, вы можете использовать один из существующих репозиториев, размещённых на Alioth, либо вы можете запросить создание нового проекта и выделения для него репозитория системы управления версиями по вашему выбору. Alioth поддерживает CVS (cvs.alioth.debian.org/cvs.debian.org), Subversion (svn.debian.org), Arch (tla/baz, оба на arch.debian.org), Bazaar (bzr.debian.org), Darcs (darcs.debian.org), Mercurial (hg.debian.org) и Git (git.debian.org). Если вы планируете сопровождать пакеты через репозиторий системы управления версиями, см. https://wiki.debian.org/Alioth/PackagingProject. Информацию о предоставляемых Alioth сервисах см. в разделе 4.12, «Установка Debian FusionForge: Alioth».

4.4.6 chroot для различных выпусков На некоторых машинах доступны chroot для различных выпусков. Вы можете использовать их следующим образом:

vore$ dchroot unstable Executing shell in chroot: /org/vore.debian.org/chroots/user/unstable Во всех chroot доступны обычные домашние каталоги пользователей. Вы можете узнать то, какие chroot доступны, через https://db.debian.org/machines.cgi.

4.5 База данных разработчиков База данных разработчиков, расположенная на https://db.debian.org/, представляет собой каталог LDAP для управления атрибутами разработчиков Debian. Вы можете использовать этот ресурс для поиска по списку разработчиков Debian. Часть этой информации также доступна через службу finger на серверах Debian, попробуйте выполнить finger ваша-учётная-запись@db.debian.org и посмотрите вывод этой команды.

Разработчики могут входить в базу данных для изменения различной информации о самих себе, как то:

• адрес для пересылки вашей почты debian.org

• подписка на debian-private

• нахождение в отпуске

–  –  –

• персональная информация, например, адрес, страна, широта и долгота места, где вы проживаете, и которые будут использованы на мировой карте разработчиков Debian, номера телефонов и факсов, псевдоним в IRC и адрес веб-страницы

• пароль и предпочтительная оболочка на машинах Проекта Debian Естественно, большая часть информации не доступна публично. Для получения дополнительной информации, прочтите документацию, которая может быть найдена по адресу https://db.debian.org/ doc-general.html.

Разработчики могут добавлять свои SSH-ключи, которые будут использовать для авторизации на официальных машинах Debian, и даже добавлять новые записи DNS вида *.debian.net. Эти возможности описаны по адресу https://db.debian.org/doc-mail.html.

4.6 Архив Debian Дистрибутив Debian состоит из огромного числа пакетов (в настоящее время около 15000 пакетов с исходным кодом) и нескольких дополнительных файлов (таких как документация и образы установочных дисков).

Ниже приведён пример дерева каталогов полного архива Debian:

dists/stable/main/ dists/stable/main/binary-amd64/ dists/stable/main/binary-armel/ dists/stable/main/binary-i386/...

dists/stable/main/source/...

dists/stable/main/disks-amd64/ dists/stable/main/disks-armel/ dists/stable/main/disks-i386/...

dists/stable/contrib/ dists/stable/contrib/binary-amd64/ dists/stable/contrib/binary-armel/ dists/stable/contrib/binary-i386/...

dists/stable/contrib/source/ dists/stable/non-free/ dists/stable/non-free/binary-amd64/ dists/stable/non-free/binary-armel/ dists/stable/non-free/binary-i386/...

dists/stable/non-free/source/ dists/testing/ dists/testing/main/...

dists/testing/contrib/...

dists/testing/non-free/...

dists/unstable dists/unstable/main/...

dists/unstable/contrib/...

dists/unstable/non-free/...

pool/ pool/main/a/

–  –  –

pool/main/a/apt/...

pool/main/b/ pool/main/b/bash/...

pool/main/liba/ pool/main/liba/libalias-perl/...

pool/main/m/ pool/main/m/mailx/...

pool/non-free/f/ pool/non-free/f/firmware-nonfree/...

Как вы можете видеть, каталог верхнего уровня содержит два каталога, dists/ и pool/. Последний представляет собой “пул”, в котором фактически находятся пакеты, и который обрабатывается базой данных для сопровождения архива и сопутствующими программами. Первый же содержит выпуски, стабильный, тестируемый и нестабильный. Файлы Packages и Sources в подкаталогах выпусков могут указывать на файлы в каталоге pool/. Деревья каталогов каждого выпуска организованы одинаковым образом. То, что мы описываем ниже для стабильного выпуска применимо и для нестабильного, и для тестируемого выпусков.

dists/stable содержит три каталога, а именно main, contrib и non-free.

В каждом из них имеется каталог для пакетов с исходным кодом (source) и каталог для каждой поддерживаемой архитектуры (binary-i386, binary-amd64 и т. д.).

Каталог main содержит дополнительные каталоги, в которых хранятся образы дисков и некоторые важные части документации, требующиеся для установки дистрибутива Debian на конкретную архитектуру (disks-i386, disks-amd64 и т. д.).

4.6.1 Разделы Раздел main архива Debian — то, что является официальным дистрибутивом Debian. Раздел main является официальным потому, что он полностью соответствует всем нашим рекомендациям. Другие два раздела не соответствуют им в той или иной степени; как таковые они не являются официальной частью Debian.

Каждый пакет из основного раздела должен полностью соответствовать Критериям Debian по определению Свободного ПО (DFSG), а также всем другим правилам, описываемым в Руководстве по политике Debian. DFSG представляет собой наше определение понятия “свободное ПО.” Для получения дополнительной информации ознакомьтесь с Руководством по политике Debian.

Пакеты из раздела contrib должны соответствовать DFSG, но могут не отвечать другим требованиями.

Например, они могут зависеть от несвободных пакетов.

Пакеты, которые не соответствуют DFSG, помещаются в раздел non-free. Эти пакеты не считаются частью дистрибутива Debian, хотя мы даём возможность их использовать, а также предоставляем нашу инфраструктуру (например, нашу систему отслеживания ошибок, а также списки рассылки) под пакеты с несвободным ПО.

Руководство по политике Debian содержит более точное определение этих трёх разделов. Приведённое выше определение является лишь вводным.

Разделение этих трёх разделов на верхнем уровне архива является важным для всех людей, которые хотят распространять Debian, через FTP серверы в Интернет или на CD-ROM: распространяя только разделы main и contrib, можно избежать правовых рисков. Например, некоторые пакеты в разделе non-free не разрешают их коммерческое распространение.

С другой стороны, производитель CD-ROM легко может проверить лицензию отдельно взятого пакета в разделе non-free и добавить столько пакетов из этого раздела на CD-ROM, сколько это разрешено их лицензиями. (Поскольку это отличается от производителя к производителю, данная работа не может быть проделана разработчиками Debian.) Заметьте, понятие раздела также используется для указания категорий, которые упрощают организацию и просмотр доступных пакетов, например, admin, net, utils и т. д. Когда-то давно эти разделы (скорее подразделы) существовали в виде подкаталогов внутри архива Debian. Сегодня же они существуют только в поле Section пакета.

ГЛАВА 4. РЕСУРСЫ ДЛЯ РАЗРАБОТЧИКОВ … 4.

6. АРХИВ DEBIAN 4.6.2 Архитектуры В начале ядро Linux было доступно только для платформ Intel i386 (или выше), поэтому и Debian был доступен только для этой платформы. Но когда Linux стал всё более и более популярным, ядро было перенесено на другие архитектуры, и Debian начал их поддерживать. И если этой поддержки оборудования было недостаточно, Debian решал собрать некоторые переносы на основе ядер Unix, например hurd и kfreebsd.

Debian GNU/Linux 1.3 был доступен только для i386. Debian 2.0 поставлялся для архитектур i386 и m68k. Debian 2.1 поставлялся для архитектур i386, m68k, alpha и sparc. Затем Debian очень сильно вырос. Debian 6 поддерживает девять архитектур Linux (amd64, armel, i386, ia64, mips, mipsel, pow erpc, s390, sparc) и две архитектуры kFreeBSD (kfreebsd-i386 и kfreebsd-amd64).

Информация для разработчиков и пользователей о конкретных переносах доступна на веб-страницах переносов Debian.

4.6.3 Пакеты Имеется два типа пакетов Debian, а именно пакеты с исходным кодом и двоичные пакеты.

В зависимости от формата пакета с исходным кодом, он состоит из одного или нескольких файлов в дополнение к обязательному файлу.dsc:

• формат “1.0” содержит либо файл.tar.gz, либо файл.orig.tar.gz и файл.diff.gz;

• формат “3.0 (quilt)” содержит обязательный tar-архив из основной ветки разработки.orig.tar.

{gz,bz2,xz}, множество необязательных дополнительных tar-архивов из основной ветки разработки.orig-компонент.tar.{gz,bz2,xz} и обязательный tar-архив debian doc debian.tar.{gz, bz2,xz};

• формат “3.0 (native)” содержит только один tar-архив.tar.{gz,bz2,xz}.

Если пакет разработан специально для Debian и не распространяется за пределами Debian, то в нём содержится только один файл.tar.{gz,bz2,xz}, содержащий исходный код программы, такой пакет называется “родным” пакетом с исходным кодом. Если пакет распространяется где-либо ещё, файл.orig.

tar.{gz,bz2,xz} содержит так называемый исходный код из основной ветки разработки, то есть исходный код, распространяемый сопровождающим основной ветки (часто это автор ПО). В этом случае файл.diff.gz или debian.tar.{gz,bz2,xz} содержит изменения, сделанные сопровождающим Debian.

Файл.dsc содержит список всех файлов в пакете с исходным кодом, а также их контрольные суммы (md5sums, sha1sums, sha256sums) и некоторую дополнительную информацию о пакете (сопровождающий, версия и т. д.).

4.6.4 Выпуски Система каталогов, описанная в предыдущей главе, сама по себе содержится в каталогах выпусков.

Каждый выпуск фактически содержит каталог pool на верхнем уровне архива Debian.

Подводя итог, скажем, что корневой каталог архива Debian расположен на сервере FTP. Например, на зеркальном сайте, ftp.us.debian.org, сам архив Debian содержится в /debian, что является его обычным расположением (другое расположение — /pub/debian).

Выпуск включает в себя исходный код Debian и двоичные пакеты, а также соответствующие индексные файлы Sources и Packages, содержащие заголовочную информацию всех пакетов. Первый файл хранится в каталоге pool/, а последний — в каталоге dists/ архива (для обратной совместимости).

4.6.4.1 Стабильный, тестируемые и нестабильный выпуски Всегда имеются выпуски, называемые стабильным выпуск (он расположен в dists/stable), тестир уемый выпуск (он расположен в dists/testing), а также нестабильный выпуск (он расположен в dists/unstable). Эта иерархия отражает процесс разработки Проекта Debian.

Активная разработка выполняется в нестабильном выпуске (вот почему этот выпуск иногда называется разрабатываемым выпуском). Каждый разработчик Debian может загружать свои пакеты в этот выпуск в любое время. Таким образом, содержимое этого выпуска меняется день ото дня. Поскольку для того, чтобы убедится, что этот выпуск работает нормально, иногда он в буквальном смысле бывает нестабильным.

ГЛАВА 4. РЕСУРСЫ ДЛЯ РАЗРАБОТЧИКОВ … 4.

6. АРХИВ DEBIAN Тестируемый выпуск создаётся автоматически путём принятия пакетов из нестабильного выпуска, если они удовлетворяют определённым критериям. Эти критерии должны гарантировать хорошее качестве пакетов в тестируемом выпуске. Обновление тестируемого выпуска запускается дважды в день, сразу после установки новых пакетов. См. раздел 5.13, «Тестируемый выпуск».

После периода разработки, когда управляющий выпуском решает, что время подходящее, тестируе мый выпуск замораживается, что означает, что правила, управляющие тем, как пакеты переходят из нес табильного выпуска в тестируемый ужесточаются. Удаляются пакеты с большим количеством ошибок. Запрещается изменять что-либо в тестируемом выпуске за исключением исправления ошибок. Через некоторое время, в зависимости от хода всего процесса, тестируемый выпуск переходит на вторую стадию заморозки. Подробности работы с тестируемым выпуском публикуются выпускающей командой в списке рассылки debian-devel-announce. Когда открытые проблемы будут решены так, что выпускающая команда будет удовлетворена, осуществляется выпуск дистрибутива. Это предполагает, что тестируемый выпуск переименовывается в стабильный выпуск, создаётся его копия для нового тестируемого выпуска, а предыдущий стабильный переименовывается в предыдущий стабильный выпуск и остаётся им до тех пор пока наконец не будет архивирован. Во время архивирования его содержимое перемещается на archive.debian.org.

Этот цикл разработки основывается на допущении, что нестабильный выпуск становится стабил ьным после периода тестирования. Даже если выпуск считается стабильным, в нём всё равно присутствуют ошибки — вот почему стабильный выпуск продолжает обновляться. Тем не менее, эти обновления довольно тщательно тестируются до их включения в архив и добавляются по одному для того, чтобы снизить риск добавления новых ошибок. Вы можете найти предлагаемые дополнения к стабильному выпуску в каталоге proposed-updates. Те пакеты из proposed-updates, которые прошли проверку, периодически перемещаются в составе группы других пакетов в стабильный выпуск, а номер редакции стабильного выпуска увеличивается (напр., ‘6.0’ становится ‘6.0.1’, ‘5.0.7’ становится ‘5.0.8’ и т. д.). За подробностями обратитесь к разделу загрузки в стабильный выпуск.

Заметьте, что разработка нестабильного выпуска продолжается во время периода заморозки, поскольку нестабильный выпуск остаётся параллельным тестируемому выпуску.

4.6.4.2 Дополнительная информация о тестируемом выпуске Обычно пакеты устанавливаются в тестируемый выпуск после того, как они пройдут некоторое тестирование в нестабильном выпуске.

Для получения дополнительных сведений обратитесь к информации о тестируемом выпуске.

4.6.4.3 Экспериментальный выпуск Экспериментальный выпуск является специальным выпуском. Это не полный выпуск в том же смысле как являются полными стабильный, тестируемый и нестабильный выпуски. Наоборот, это лишь временное место для экспериментального ПО, которое вполне может сломать ваше систему, либо для ПО, которое пока ещё недостаточно стабильно для того, чтобы помещать его в нестабильный выпуск (но всё равно имеются причины для создания такого пакета). Ожидается, что пользователи, которые скачивают и устанавливают пакеты из экспериментального выпуска, предупреждены о возможных проблемах. Короче, для экспериментального выпуска мы не даём никаких гарантий, вся ответственность исключительно на вас.

Вот строки sources.list(5) для экспериментального выпуска:

deb http://ftp.xy.debian.org/debian/ experimental main deb-src http://ftp.xy.debian.org/debian/ experimental main Если имеется возможность того, что ПО может нанести непоправимый вред системе, лучше всего поместить его в экспериментальный выпуск. Например, поддержка экспериментальной файловой системы с сжатием должна, вероятно, войти в экспериментальный выпуск.

Если имеется новая версия пакета из основной ветки разработки, которая добавляет новые возможности, но приводит к поломке старых возможностей, она либо не должна быть загружена, либо должна быть загружена в экспериментальный выпуск. Новая бета версия некоторого ПО, использующая совершенно другую настройку, может войти в экспериментальный выпуск решению сопровождающего. Если вы работаете над несовместимой или сложной ситуацией по обновлению пакета, вы также можете использовать экспериментальный выпуск для тестирования, так чтобы те, кто будут тестировать ваш пакет, могли раньше получить к нему доступ.

ГЛАВА 4. РЕСУРСЫ ДЛЯ РАЗРАБОТЧИКОВ … 4.

7. ЗЕРКАЛА DEBIAN Некоторое экспериментальное ПО может войти и в нестабильный выпуск, если в описание вы добавите предупреждение, но это не рекомендуется, поскольку пакеты предполагается, что пакеты из нестаби льного выпуска будут перемещены в тестируемый выпуск, а затем в стабильный. Вам не следует бояться использовать экспериментальный выпуск, поскольку он не доставляет проблем сопровождающим ftp, экспериментальные пакеты периодически удаляются как только вы загрузите в нестабильный выпуск пакет, имеющий более высокий номер версии.

Новое ПО, которое скорее всего не повредит систему, может быть сразу добавлено в нестабильный выпуск.

Альтернативой экспериментальному выпуску является ваше личное пространство на people.deb ian.org.

4.6.5 Кодовые имена выпусков Каждый выпущенный дистрибутив Debian имеет кодовое имя: Debian 6.0 называется squeeze; Debian 7 — wheezy; Debian 8 — jessie; следующий выпуск Debian 9 будет называться stretch а Debian 10 будет называться buster. Кроме того, имеется «псевдодистрибутив», называемый sid, который является текущим нестабильный выпуском; поскольку пакеты перемещаются из нестабильного выпуска в тестируемый по мере их достижения стабильного состояния, сам sid никогда не будет выпущен. Помимо обычного содержимого дистрибутива Debian sid содержит пакеты для тех архитектур, которые пока официально не поддерживаются и не были выпущены Debian. Эти архитектуры планируется интегрировать в будущем в основную ветку дистрибутива. Кодовые имена и версии предыдущих выпусков указаны на вебсайте.

Поскольку Debian следует открытой модели разработки (т. е., всякий может участвовать и следить за разработкой), даже нестабильный и тестируемый выпуски распространяются в Интернет через сеть FTP и HTTP серверов Debian. Таким образом, если мы назвали каталог, содержащий версию, рассматриваемую в качестве кандидата на выпуск, testing, то мы переименуем его в stable, когда эта версия будет выпущена, что приведёт к тому, что все FTP зеркала заново загрузят весь дистрибутив (который довольно велик).

С другой стороны, если мы с самого начала назовём каталоги выпусков Debian-x.y, люди будут полагать, что доступен выпуск Debian версии x.y. (Такое было в прошлом, когда производитель CD-ROM собрал CD-ROM Debian 1.0 на основе разрабатываемой версии pre-1.0. Вот почему первым официальным выпуском Debian был 1.1, а не 1.0.) Таким образом, имена каталогов для выпусков в архиве соответствуют кодовым именам выпусков, а не статусу выпуска (напр., jessie’). Эти имена остаются одними и теми же в период разработки в после выпуска;

символические ссылки, которые легко могут быть изменены, обозначают текущий стабильный выпуск. Вот почему фактические каталоги используют кодовые имена, а символические ссылки для стабильного, тестируемого и нестабильного выпусков указывают на соответствующие каталоги выпусков.

4.7 Зеркала Debian Разные архивы для скачивания и веб-сайт имеют несколько зеркал для того, чтобы освободить наши каноничные серверы от тяжёлой нагрузки. Фактически, некоторые каноничные серверы не доступны публично — вместо этого первый ряд зеркал занимается балансировкой нагрузки. Так, пользователи всегда получают доступ к зеркалу и привыкают использовать их, что позволяет Debian лучше разделять пропускную способность между несколькими серверами и сетями и вообще позволяет пользователям избежать обращения к основному серверу. Заметьте, что первый ряд серверов является наиболее актуальными, поскольку они обновляются по запросу с внутренних сайтов (мы называем это проталкивающим зеркалированием).

Все информация о зеркалах Debian, включая список доступных публично FTP/HTTP серверов, может быть найдена на https://www.debian.org/mirror/. Эта полезная страница содержит информацию и инструменты, которые могут быть вам полезны, если вы заинтересованы в настройке собственного зеркала, как для внутренних нужд, так и с публичным доступом.

Заметьте, что зеркала обычно обслуживаются третьими лицами, которые заинтересованы в оказании помощи Debian. Как таковые, разработчики обычно не имеют учётных записей на этих машинах.

4.8 Система входящих пакетов Система входящих пакетов ответственна за сбор обновлённых пакетов и их установку в архив Debian. Она состоит из набора каталогов и сценариев, которые установлены на ftp-master.debian.org.

ГЛАВА 4. РЕСУРСЫ ДЛЯ РАЗРАБОТЧИКОВ … 4.

9. ИНФОРМАЦИЯ О ПАКЕТЕ Пакеты загружаются сопровождающими в каталог с названием UploadQueue. Этот каталог сканируется каждые несколько минут службой, названой queued, выполняются файлы *.command, а оставшиеся и корректно подписанные файлы *.changes перемещаются вместе с соответствующими их файлами в каталог unchecked. Этот каталог невидим для большинства разработчиков, поскольку доступ у главному ftp ограничен; он сканируется каждые 15 минут сценарием dak process-upload, который проверяет целостность загруженных пакетов и их криптографические подписи. Если пакет считается готовым к установке, он перемещается в каталог done. Если это первая загрузка данного пакета (либо в ней содержаться новые двоичные пакеты), пакет перемещается в каталог new, где он должен ожидать подтверждения от сопровождающих ftp. Если пакет содержит файлы, которые должны быть установлены вручную, он перемещается в каталог byhand, где он ожидает ручной установки, выполняемой сопровождающими ftp. В противном случае, если была обнаружена какая-либо ошибка, пакет получает отказ и перемещается в каталог reject.

Когда пакет будет принят, система отправляет сообщение с подтверждением этого сопровождающему и закрывает все ошибки, которые были отмечены как исправленные в данной загрузке, тогда ПО для автоматической сборки может начать их повторную компиляцию.

Теперь пакет доступен публично в http:

//incoming.debian.org/, она остаётся там до фактической установки в архив Debian. Это происходит четыре раза в день (и также по историческим причинам называется dinstall run’); затем пакет удаляется из входящих и устанавливается в пул вместе со всеми другими пакетами. Когда все другие обновления (создающие, например, индексные файлы Packages и Sources) будут произведены, вызывается специальный сценарий, которые просит все первичные зеркала запустить обновление.

ПО для сопровождения архива также отправит подписанный с помощью OpenPGP/GnuPG файл.changes, который вы загрузили, в соответствующий список рассылки. Если у пакета поле Distribution имеет значение stable, то анонс отправляется в debian-changes@lists.debian.org. Если у пакета поле Distribution имеет значение unstable или experimental, то анонс будет отправлен в debian-devel-changes@lists.

debian.org или debian-experimental-changes@lists.debian.org.

Хотя доступ к главному ftp ограничен, копия установки доступна всем разработчикам по адресу mir ror.ftp-master.debian.org.

4.9 Информация о пакете 4.9.1 В веб Каждый пакет имеет несколько выделенных для него веб-страниц. https://packages.debian.org/ имя-пакета отображает каждую версию пакета, доступную в различных выпусках. Каждая версия представляет собой ссылку на страницу, предоставляющую информацию, включая описание пакета, зависимости и ссылки для скачивания пакета.

Система отслеживания ошибок отслеживает ошибки каждого пакета. Вы можете просмотреть ошибки любого данного пакета по адресу https://bugs.debian.org/имя-пакета.

4.9.2 Утилита dak ls dak ls является частью набора инструментов dak, она выводит список доступных версий пакета для всех известных выпусков и архитектур. Инструмент dak доступен на ftp-master.debian.org, а также на зеркале mirror.ftp-master.debian.org. Он используется единственный аргумент, соответствующий имени пакета. Пример объяснит это лучше:

$ dak ls evince oldstable | source, alpha, arm, hppa, i386, ia64, evince | 0.1.5-2sarge1 | m68k, mips, mipsel, powerpc, s390, sparc evince | 0.4.0-5 | etch-m68k | source, m68k stable | source, alpha, amd64, arm, hppa, i386, ia64 evince | 0.4.0-5 |, mips, mipsel, powerpc, s390, sparc evince | 2.20.2-1 | testing | source testing | alpha, amd64, arm, armel, hppa, i386, ia64 evince | 2.20.2-1+b1 |, mips, mipsel, powerpc, s390, sparc unstable | source, alpha, amd64, arm, armel, hppa, evince | 2.22.2-1 | i386, ia64, m68k, mips, mipsel, powerpc, s390, sparc В этом примере вы можете видеть, что версия в нестабильном выпуске отличается от версии в тес тируемом выпуске, и что была сделана binNMU этого пакета для всех архитектур. Каждая версия пакета была заново скомпилирована на всех архитектурах.

ГЛАВА 4. РЕСУРСЫ ДЛЯ РАЗРАБОТЧИКОВ … 4.

10. СИСТЕМА ОТСЛЕЖИВАНИЯ ПАКЕТОВ …

4.10 Система отслеживания пакетов Debian Система отслеживания пакетов представляет собой построенный на основе электронной почты и веб инструмент для отслеживания активности пакета с исходным кодом. Вы можете получать ту же электронную почту, которую получает сопровождающий, просто подписавшись на пакет в системе отслеживания пакетов Debian.

Каждое сообщение электронной почты, отправляемое через систему отслеживания пакетов классифицируется по одному из ключевых слов, приведённых ниже. Это позволит вам выбирать сообщения, которые вы хотите получить.

По умолчанию вы будете получить следующие сообщения:

bts Все сообщения об ошибках и последующие их обсуждения.

bts-control Сообщения от control@bugs.debian.org об изменении статуса сообщения об ошибке.

upload-source Сообщения от dak о том, что загруженный пакет с исходным кодом был принят.

archive Другие сообщения о предупреждениях или ошибках от dak (например, отмена несоответствия раздела и/или приоритета). Также уведомления об удалении пакетов.

build Сообщения об ошибках сборки, отправляемые сетью сборочных служб, они содержат указатели на журналы сборки, которые следует изучить.

default Любые неопределённые сообщения электронной почты, отправляемые в систему отслеживания пакетов через dispatch+пакет_с_исходным_кодом@tracker.debian.org. Для того, чтобы предотвратить отправку спама, все сообщения, отправляющиеся по этим адресам, должны содержать заголовок X-Distro-Tracker-Approved с непустым значением.

contact Почта, отправляемая сопровождающему через псевдонимы *@packages.debian.org.

summary Регулярные обобщенные сообщения о состоянии пакета, включая переход в тестируемый выпуск. В идеале должны содержать уведомления о новых версиях основной ветки разработки, а также уведомления об осиротевших пакетах (но пока это не так).

Также вы можете получить дополнительную информацию:

upload-binary Уведомления от dak, отправляемые в случае принятия загруженного двоичного пакета.

Другими словами, когда служба сборки или тот, кто занимается переносом, загружает ваш пакет для другой архитектуры, вы можете получить сообщений для отслеживания того, как ваш пакет компилируется для всех архитектур.

vcs Сообщения о коммитах в системе управления версиями, если пакет имеет репозиторий системы управления версиями и сопровождающий настроил пересылку сообщений о коммитах в систему отслеживания пакетов.

translation Переводы описаний или шаблонов debconf, отправленные в Проект по переводу описаний Debian.

derivatives Информацию об изменения, внесённых в пакет, в производных дистрибутивах (например, Ubuntu).

derivatives-bugs Сообщения об ошибках и комментарии из производных дистрибутивов (например, Ubuntu).

4.10.1 Интерфейс электронной почты для системы отслеживания пакетов Вы можете управлять своими подписками на систему отслеживания пакетов, отправляя различные команды по адресу control@tracker.debian.org.

subscribe пакет-с-исходным-кодом [адрес-электронной-почты] Подписывает адресэлектронной-почты на сообщения, связанные с пакетом с исходным кодом пакет-с-исходнымкодом. Адрес отправителя используется в том случае, если второй аргумент отсутствует. Если пакетс-исходным-кодом не является корректным пакетом с исходным кодом, вы получите предупреждение. Тем не менее, если это корректный двоичный пакет, систем отслеживания пакетов подпишет вас на соответствующий пакет с исходным кодом.

ГЛАВА 4. РЕСУРСЫ ДЛЯ РАЗРАБОТЧИКОВ … 4.

10. СИСТЕМА ОТСЛЕЖИВАНИЯ ПАКЕТОВ … unsubscribe пакет-с-исходным-кодом [адрес-электронной-почты] Удаляет предыдущую подписку на пакет с исходным кодом пакет-с-исходным-кодом, используя указанный адрес электронной почты, либо адрес отправителя в случае, если второй аргумент опущен.

unsubscribeall [адрес-электронной-почты] Удаляет все подписки указанного адреса электронной почты, либо адреса отравителя, в случае если второй аргумент опущен.

which [адрес-электронной-почты] Выводит список всех подписок отправителя, либо указанного адреса электронной почты.

keyword [адрес-электронной-почты] Сообщает вам то, какие ключевые слова вы принимаете.

Объяснение ключевых слов см. выше.

keyword пакет-с-исходным-кодом [адрес-электронной-почты] То же, что и предыдущий пункт, но для данного пакета с исходным кодом, поскольку вы можете выбрать другой набор ключевых слов для каждого пакета с исходным кодом.

keyword [адрес-электронной-почты] {+|-|=} список-ключевых-слов Принимает (+) или отклоняет (-) сообщения, классифицируемые по данным ключевым словам. Определяет список (=) принимаемых ключевых слов. Изменяет набор ключевых слов, по умолчанию принимаемых пользователем.

keywordall [адрес-электронной-почты] {+|-|=} список-ключевых-слов Принимает (+) или отклоняет (-) сообщения, классифицируемые по данным ключевым словам. Определяет список (=) принимаемых ключевых слов. Изменяет набор принимаемых ключевых слов всех активных в настоящий момент подписок пользователя.

keyword пакет-с-исходным-кодом [адрес-электронной-почты] {+|-|=} список-ключевых-слов То же, что и предыдущий пункт, но отменяет список ключевых слов для обозначенного пакета с исходным кодом.

quit | thanks | -- Останавливает обработку команд. Все последующие строки будут игнорироваться роботом.

Утилита командной строки pts-subscribe (из пакета devscripts) может быть полезна для оформления временной подписки на какие-то пакеты, например, после осуществления NMU.

4.10.2 Фильтрация почты от системы отслеживания пакетов После оформления подписки на пакет вы будете получить почту, пересылаемую системой отслеживания пакетов. Эти сообщения имеют специальные заголовки для того, чтобы вы могли отфильтровать их в специальный почтовый ящик (напр., с помощью procmail). Добавлены следующие заголовки: X-Loop, X-Dis tro-Tracker-Package, X-Distro-Tracker-Keyword, X-Debian-Package, X-Debian, List-Id и List-Unsubscribe.

Ниже приведён пример добавленных заголовков для оповещения о загрузке исходного кода для пакета

dpkg:

X-Loop: dispatch@tracker.debian.org X-Distro-Tracker-Package: dpkg X-Distro-Tracker-Keyword: upload-source X-Debian-Package: dpkg X-Debian: tracker.debian.org List-Id: dpkg.tracker.debian.org List-Unsubscribe: mailto:control@tracker.debian.org?body=unsubscribe%20dpkg 4.10.3 Пересылка коммитов системы управления версиями в систему отслеживания пакетов Если вы используете публично доступный репозиторий системы управления версиями для сопровождения вашего пакета Debian, вы возможно пересылать оповещения о коммитах в систему отслеживания пакетов, чтобы подписчики (и возможные помощники) могли более внимательно следить за эволюцией пакета.

ГЛАВА 4. РЕСУРСЫ ДЛЯ РАЗРАБОТЧИКОВ … 4.11. ОБЗОР ПАКЕТОВ РАЗРАБОТЧИКА

Когда вы настроите свои репозиторий для отправки сообщений о коммитах, вам следует убедиться, что копия сообщения отправляется в систему отслеживания пакетов по адресам dispatch@tracker.

debian.org или dispatch+пакет_с_исходным_кодом_vcs@tracker.debian.org. В первом случае вы должны убедиться, что система отслеживания пакетов может определить пакет с исходным кодом и соответствующее ключевое слово... либо добавляя заголовки X-Distro-Tracker-Package:пакет_с_и сходным_кодом и X-Distro-Tracker-Keyword:vcs, либо полагаясь на тот факт, что система отслеживания пакетов обнаружит заголовок X-Git-Repo и будет считать, что имя git-репозитория совпадает с именем пакета с исходным кодом.

При использовании репозиториев Subversion рекомендуется использовать svnmailer. Пример того, как это делать, см. в https://wiki.debian.org/Alioth/PackagingProject.

4.10.4 Веб-интерфейс системы отслеживания пакетов Система отслеживания пакетов имеет веб-интерфейс по адресу https://tracker.debian.org/, в нём собирается множество информации о каждом пакете с исходным кодом. Там имеется множество полезных ссылок (система отслеживания ошибок, статистика QA, контактная информация, статус перевода DDTP, журналы сборки) и собирается большое количество информации из разные мест (30 последних записей журнала изменений, статус в тестируемом выпуске и т. д.). Это очень полезный инструмент, если вы хотите знать, что происходит с конкретным пакетом c исходным кодом. Более того, после аутентификации вы сможете за один клик подписаться или отписаться от информации о любом пакете.

Вы можете напрямую перейти на веб-страницу конкретного пакета с исходным кодом при помощи URL вида https://tracker.debian.org/пакет-с-исходным-кодом.

Веб-интерфейс легко расширять, вы можете интегрировать в него дополнительные полезные данные.

Если вы хотите принять участие в разработке, обратитесь к https://tracker.debian.org/docs/ contributing.html.

4.11 Обзор пакетов разработчика Веб-портал QA (гарантия качества) доступен по адресу https://qa.debian.org/developer.php, на нём отображается таблица с пакетами одного разработчика (включая те пакеты, у которых в качестве помощников указана группа). Таблица даёт обзор пакетов конкретного разработчика: число ошибок по их важности, список доступных версий в каждом выпуске, статус в тестируемом выпуске и множество ссылок на другую полезную информацию.

Рекомендуется регулярно просматривать эти данные для своих пакетов, так вы не забудете об открытых сообщениях об ошибках и не забудете то, за какие пакеты вы ответственны.

4.12 Установка Debian FusionForge: Alioth Alioth является службой Debian, основанной на слегка изменённой версии ПО FusionForge (которое эволюционировало из SourceForge и GForge). Это ПО предлагает разработчикам доступ к простым в использовании инструментам, таким как системы отслеживания ошибок, ПО для управления заплатами, ПО для управления проектами/задачами, службы хостинга файлов, списки рассылки, репозитории систем управления версиями и т. д. Управление всеми этими инструментами осуществляется через веб-интерфейс.

Это ПО предназначено для того, чтобы предоставить свободным проектам, которые поддерживаются или ведутся Debian, облегчения участия внешних разработчиков в проектах, начатых Debian, а также для помощи проектам, чьими целями являются продвижение Debian или производных от него дистрибутивов.

Оно активно используется многими командами Debian и предоставляет хостинг для всех видов репозиториев систем управления версиями.

Все разработчики Debian автоматически получают учётную запись на Alioth. Они могут активировать ее, используя инструмент восстановления пароля. Внешние разработчики могут запросить гостевые учётные записи на Alioth.

Для получения дополнительной информации перейдите по следующим ссылкам:

• https://wiki.debian.org/Alioth

• https://wiki.debian.org/Alioth/FAQ

• https://wiki.debian.org/Alioth/PackagingProject

• https://alioth.debian.org/ ГЛАВА 4. РЕСУРСЫ ДЛЯ РАЗРАБОТЧИКОВ … 4.13. ПЛЮШКИ ДЛЯ РАЗРАБОТЧИКОВ И …

4.13 Плюшки для разработчиков и сопровождающих Debian О плюшках, доступных разработчикам и сопровождающим Debian можно прочитать тут: https://wiki.

debian.org/MemberBenefits.

Глава 5 Управление пакетами Данная глава содержит информацию, связанную с созданием, загрузкой, сопровождением и переносом пакетов.

5.1 Новые пакеты Если вы хотите создать новый пакет для дистрибутива Debian, вам следует вначале проверить список требующих доработки и будущих пакетов (WNPP). Проверка списка WNPP гарантирует, что в настоящий момент никто не работает над созданием пакетов для данного ПО, и что не будет проделана повторная работа. Прочтите страницу WNPP для получения дополнительной информации.

Допустим, что более никто не работает над вашим будущим пакетом. Далее, вам следует отправить сообщение об ошибке (раздел 7.1, «Отправка отчётов об ошибках») в псевдопакете wnpp с объяснением вашего плана по созданию нового пакета, ваше сообщение должно в себя включать описание пакета, лицензию будущего пакета и текущий адрес, по которому этот пакет может быть загружен.

Тема сообщения об ошибке должна иметь вид ITP:foo --краткое описание, подставьте имя нового пакета вместо foo. Важность сообщения об ошибке должна быть установлена в значение wishlist. Отправьте копию по адресу debian-devel@lists.debian.org, используя заголовок X-Debbugs-CC (не используйте CC:, так как в этом случае в теме сообщения не будет указан номер ошибки). Если вы создаёте много новых пакетов (10), то помните, что отправка в список рассылки большого количества отдельных сообщений будет слишком мешать другим, отправьте сообщение с обзором вашей работы в список рассылки debiandevel после заполнения всех сообщений об ошибках. Это позволит сообщить вам другим разработчикам о готовящихся пакетах и позволит вам проверить ваши описания и имена пакетов.

Добавьте запись вида Closes:#nnnnn в журнал изменений нового пакета для того, чтобы ваше сообщение об ошибке было автоматически закрыто сразу же как только пакет будет установлен в архиве (см.

раздел 5.8.

4, «Когда ошибки исправляются путём новых загрузок»).

Если вы считаете, что по поводу вашего пакета необходимо дать дополнительные объяснения администраторам очереди новых (NEW) пакетов, добавьте их в журнал изменений, отправьте по адресу ftpmaster@ debian.org ваш ответ на сообщение электронной почты, которое вы получите как сопровождающий после вашей загрузки пакета, либо ответьте на сообщение об отказе, если вы осуществляете загрузку повторно.

Закрывая сообщения об ошибках безопасности, добавляйте номера CVE, а также Closes:#nnnnn. Это помогает команде безопасности отслеживать уязвимости. Если загрузка осуществляется для того, чтобы исправить ошибку, и если идентификационный номер рекомендации по безопасности ещё не известен, советуем вам во время следующей загрузки изменить запись в журнале изменений и добавить номер рекомендации.

Даже в этом случае добавляйте все доступные указатели на общую информацию из записи оригинального журнала изменений.

Имеется ряд причин, почему мы просим сопровождающих анонсировать их намерения, они приведены ниже:

• Это помогает (потенциальному) сопровождающему получить советы опытных людей, участвующих в списке рассылки, и позволяет этим людям узнать, работает ли уже кто-нибудь над созданием пакета для данного ПО.

• Это позволяет другим людям, которые думают о работе над созданием пакета, знать, что кто-то уже начал этим заниматься, и поэтому можно объединить усилия.

ГЛАВА 5. УПРАВЛЕНИЕ ПАКЕТАМИ 5.2. ЗАПИСЬ ИЗМЕНЕНИЙ В ПАКЕТЕ

• Это позволяет остальным сопровождающим знать о данном пакете больше, чем то, что содержится в одной строке описания и обычной записи из журнала изменений вида „Initial release“, которые публикуются в debian-devel-changes@lists.debian.org.

• Это помогает людям, которые постоянно пользуются нестабильным выпуском (и являются теми, кто первый широко тестирует пакеты). Нам следует поощрять этих людей.

• Анонсы дают сопровождающим и другим заинтересованным сторонам лучшее понимание того, что происходит и что является новым в Проекте.

Наиболее частые причины для отказа в добавлении нового пакета см. по адресу https://ftp-master.

debian.org/REJECT-FAQ.html.

5.2 Запись изменений в пакете Изменения, которые вы произвели в пакете, должны быть записаны в файл debian/changelog. Эти изменения должны содержать точное описание того, что было изменено, почему это было изменено (в случае если имеются какие-либо сомнения), а также номера закрываемых сообщений об ошибках. Кроме того, в журнале должно быть указано, когда была завершена работа над пакетом. Этот файл будет установлен как /usr/ share/doc/пакет/changelog.Debian.gz, либо как /usr/share/doc/пакет/changelog.gz в случае, если пакет является родным.

Файл debian/changelog соответствует определённой структуре, имеющей ряд различных полей. Одно из этих полей, выпуск, описывается в разделе 5.5, «Выбор выпуска». Дополнительная информация о структуре этого файла может быть найдена в Политике Debian, в разделе с названием debian/changelog.

Записи журнала изменений могут использоваться для автоматического закрытия сообщений об ошибках Debian, когда пакет устанавливается в архив. См. раздел 5.8.4, «Когда ошибки исправляются путём новых загрузок».

Обычная запись в журнале изменений какого-либо пакета, содержащего новую версию из основной ветки разработки ПО, выглядит следующим образом:

* New upstream release.

Имеются специальные инструменты, которые помогают вам создавать записи журнала изменений и готовить файл changelog к выпуску — см. раздел A.6.1, «devscripts» и раздел A.6.5, «dpkg-dev-el».

Также см. раздел 6.3, «Лучшие практики для debian/changelog».

5.3 Тестирование пакета До того как вы загрузите ваш пакет, вам следует провести его простое тестирование. Как минимум вам следует попытаться выполнить следующие действия (вам будет нужна более старая версия того же пакета

Debian):

• Установите пакет и убедитесь, что ПО работает, либо обновите пакет с более старой версии до вашей новой версии, если пакет Debian для данного ПО уже существует.

• Выполните lintian, в качестве цели укажите ваш пакет. Вы можете запустить lintian следующим образом: lintian -v версия-пакета.changes. Эта команда проверит пакет с исходным кодом, наряду с двоичным пакетом. Если вы не понимаете вывод, предоставляемый вам lintian, попробуйте добавить опцию -i, это приведёт к тому, что lintian будет выводить довольно подробное описание проблему.

Обычно пакет не следует загружать в случае, если lintian сообщает об ошибках (они начинаются с E).

Для получения дополнительной информации о команде lintian, см. раздел A.2.1, «lintian».

• Также вы можете выполнить debdiff (см. раздел A.2.2, «debdiff»), чтобы проанализировать изменения по сравнению с более старой версией (если таковая существует).

• Установите предыдущую версию пакета (если она существует) поверх новой — это позволит проверить работу сценариев postrm и prerm.

• Удалите пакет, затем заново установите его.

ГЛАВА 5. УПРАВЛЕНИЕ ПАКЕТАМИ 5.4. СХЕМА ПАКЕТА С ИСХОДНЫМ КОДОМ

• Скопируйте пакет с исходным кодом в другой каталог и попытайтесь распаковать и собрать его заново.

Это позволит проверить то, зависит ли пакет от существующих файлов, которые не были добавлены в сам пакет, а также проверить то, зависит ли он от того, сохраняются ли права доступа в файлах из файла.diff.gz.

5.4 Схема пакета с исходным кодом

Имеется два типа пакетов Debian с исходным кодом:

• так называемые родные пакеты, для которых нет различия между оригинальным исходным кодом и заплатами Debian • (более частные) пакеты, для которых имеется оригинальный исходный файл с tarball-архивом и другой файл, содержащий изменения, внесённые Проектом Debian У родных пакетов пакеты с исходным кодом включают в себя исходный файл контроля (.dsc) и исходный архив в виде tarball (.tar.{gz,bz2,xz}). Пакет с исходным кодом неродного пакета включает в себя исходный файл контроля, оригинальный исходный файл в виде tarball (.orig.tar.{gz,bz2,xz}) и специфичные изменения Debian (.diff.gz для формата пакета с исходным кодом “1.0” или.debian.

tar.{gz,bz2,xz} для формата пакета с исходным кодом “3.0 (quilt)”).

Для пакетов в исходном формате “1.0” то, является пакет родным или нет, определялось командой dpkgsource во время сборки. Сегодня же рекомендуется явным образом указывать желаемый исходный формат, помещая строку “3.0 (quilt)”, либо “3.0 (native)” в файл debian/source/format. Остаток настоящего раздела посвящён исключительно неродным пакетам.

Во время первой загрузки пакета, версия пакета должна соответствовать определённой версии основной ветки разработки, должен быть загружен оригинальный исходный tar-файл, также он должен быть добавлен в файле.changes. В последующем этот самый tar-файл должен использоваться для сборки новых различий (diffs) и файлов.dsc, его не нужно будет загружать заново.

По умолчанию команды dpkg-genchanges и dpkg-buildpackage включат оригинальный исходный tarфайл тогда и только тогда, когда текущая запись в журнале изменений содержит версию из основной ветки разработки, которая отличается от предыдущей записи. Это поведение может быть изменено при помощи использования -sa, что позволяет всегда включать оригинальный исходный tar-файл, либо -sd, что позволяет всегда игнорировать его.

Если оригинальный исходный код не включён в загрузку, оригинальный tar-файлс исходным кодом, используемый dpkg-source при создании файла.dsc и diff для загрузки должен побайтно совпадать с тем файлом, который уже добавлен в архив.

Заметьте, что в неродных пакетах права доступа к файлам, которые не входят в *.orig.tar.{gz, bz2,xz} не будут сохранены, поскольку diff не сохраняет права доступа к файлам в заплате. Тем не менее, если используется формат исходного кода “3.0 (quilt)”, права доступа к файлам внутри каталог debian сохраняются, так как они сохранены в архиве tar.

5.5 Выбор выпуска Каждая загрузка должна содержать явное указание того, для какого выпуска предназначается данный пакет. Процесс сборки пакета извлекает эту информацию из первой строки файла debian/changelog и помещает её в поле Distribution файла.changes.

Обычно пакеты загружаются в нестабильный выпуск. Загрузки в нестабильный (unstable) или экспериментальный (experimental) выпуски должны использовать эти названия выпуска в записях журнала изменений; uploads for other supported suites should use the suite codenames, as they avoid any ambiguity.

Фактически, существуют и другие выпуски: кодовое-имя-security, прочтите раздел 5.8.5, «Работа с ошибками, связанными с безопасностью» для получения дополнительной информации.

Нельзя загрузить пакет в несколько выпусков одновременно.

5.5.1 Специальный случай: загрузка в стабильный и предыдущий стабильный выпуски Загрузка в stable означает, что пакет будет передан в очередь proposed-updates-new для проверки управляющими стабильного выпуска, и если пакеты будут одобрены, то они будут установлены в каталог ГЛАВА 5. УПРАВЛЕНИЕ ПАКЕТАМИ 5.6. ЗАГРУЗКА ПАКЕТА stable-proposed-updates архива Debian. Отсюда, в свою очередь, пакеты будут перенесены в sta ble во время формирования следующей редакции выпуска.

Чтобы гарантировать, что ваша загрузка будет принята, вам следует обсудить изменения с командой стабильного выпуска до момента самой загрузки. Для этого отправьте сообщение об ошибке в псевдопакетепакете release.debian.org, используя reportbug, в сообщение добавьте заплату, которую вы желаете применить к той версии пакета, которая в настоящее время входит в стабильный выпуск. Будьте как можно более подробны в описании ваших записей журнала изменений, когда это касается стабильного выпуска.

Необходимо с особым вниманием относиться к загрузке пакета в стабильный выпуск.

По сути, пакет следует загружать в стабильный выпуск исключительно в случае, если произошло что-либо из ниже следующего:

• действительно критическая проблема функциональности

• пакет больше нельзя установить

• пакет отсутствует в выпущенной архитектуре В прошлом загрузки в stable использовались и для решения проблема безопасности. Тем не менее, в настоящее время эта практика считается устаревшей, поскольку загрузки, используемые для рекомендаций Debian по безопасности, автоматически копируются в соответствующий архив proposed-updates в момент выпуска рекомендации. См. раздел 5.8.5, «Работа с ошибками, связанными с безопасностью» для получения подробной информации о работе с проблемами безопасности. Если команда безопасности считает, что проблема не настолько велика, чтобы исправлять её через механизм DSA, обычно управляющие стабильным выпуском добавляют ваше исправление в обычную загрузку в стабильный выпуск.

Изменение в пакете чего-либо ещё, что не является действительно важным, крайне не рекомендуется, поскольку даже тривиальные исправления могут вызвать появление новых ошибок.

Пакеты, загружаемые в стабильный выпуск, должны быть скомпилированы на системах, работающих под управлением стабильного выпуска, чтобы их зависимости были ограничены библиотеками (а также другими пакетами), доступными в стабильном выпуске; например, пакет, загруженный в стабильный выпуск, будет отклонён в том случае, если она зависит от пакета с библиотекой, который доступен только в нестабильном выпуске. Крайне не рекомендуется производить изменения зависимостей других пакетов (путём создания путаницы с Provides или файлами shlibs), которые могут привести к тому, что эти другие пакеты нельзя будет установить.

Загрузки в предыдущие стабильные выпуски возможны до тех пор, пока эти выпуски не будут добавлены в архив. Те же правила применяются и к стабильным выпускам.

5.5.2 Специальный случай: загрузка в testing/testing-proposed-updates Подробности см. в разделе тестируемом выпуске.

5.6 Загрузка пакета 5.6.1 Загрузка на ftp-master Чтобы загрузить пакет, вам следует загрузить файлы (включая подписанные файлы changes и dsc-файл) с помощью анонимного доступа по ftp на ftp.upload.debian.org в каталог /pub/UploadQueue/. Для того, чтобы файлы были обработаны, они должны быть подписаны ключом, входящим либо в брелок ключей разработчиков Debian, либо в брелок ключей сопровождающих Debian (см. https://wiki.debian.org/ DebianMaintainer).

Заметьте, что вам следует переслать файл changes самым последним. В противном случае ваша загрузка может быть отклонены потому, что ПО для сопровождения архива, осуществляющее грамматический разбор файла changes, посчитает, что не все файлы были загружены.

Для загрузки пакетов Вам могут пригодиться пакеты dupload или dput.Эти удобные программы помогают автоматизировать процесс загрузки пакетов в Debian.

Для удаления пакетов см. ftp://ftp.upload.debian.org/pub/UploadQueue/README и пакет dcut.

ГЛАВА 5. УПРАВЛЕНИЕ ПАКЕТАМИ 5.

7. ОПРЕДЕЛЕНИЕ РАЗДЕЛА ДЛЯ … 5.6.2 Задержанные загрузки Иногда полезно загрузить пакет сразу же, но так, чтобы этот пакет поступил в архив лишь несколько дней спустя. Например, при подготовке загрузки тем, кто не является сопровождающим, вы возможно захотите дать сопровождающему несколько дней для того, чтобы тот как-то отреагировал.

Загрузка в каталог задержанных пакетов приводит к сохранению пакета в очереди отложенной загрузки.

Когда указанное время ожидания истечёт, пакет будет перемещён в обычный каталог входящих пакетов для его обработки. Это производится путём автоматической загрузки на ftp.upload.debian.org в каталог загрузки DELAYED/X-day (X может быть в интервале от 0 до 15). 0-дней загружается несколько раз в день на ftp.upload.debian.org.

Работая с dput, вы можете использовать параметр --delayed ЗАДЕРЖКА, чтобы поместить пакет в одну из очередей.

5.6.3 Загрузки безопасности НЕ загружайте пакет в очередь загрузки безопасности (на security-master.debian.org) без предварительного разрешения от команды безопасности. Если пакет не соответствует требованиям команды безопасности, он может вызвать множество проблем и задержек во время рассмотрения этой нежелательной загрузки. Подробности см. в разделе 5.8.5, «Работа с ошибками, связанными с безопасностью».

5.6.4 Другие очереди загрузки В Европе имеется альтернативная очередь загрузки по адресу ftp://ftp.eu.upload.debian.org/ pub/UploadQueue/. Она работает точно так же как и ftp.upload.debian.org, но для разработчиков из Европы она может быть более удобной из-за более быстрого доступа.

Кроме того, пакеты можно загружать через ssh на ssh.upload.debian.org; файлы должны быть помещены в /srv/upload.debian.org/UploadQueue. Эта очередь не поддерживает отложенные загрузки.

5.6.5 Уведомление об установке нового пакета Сопровождающие архива Debian ответственны за обработку загрузок пакетов. По большей части загрузки обрабатываются автоматически и ежедневно при помощи специальных инструментов для сопровождения архива, dak process-upload. Говоря более конкретно, обновление существующих пакетов, предназначенные для нестабильного выпуска, обрабатываются автоматически. В других случаях (особенно это касается новых пакетов) помещение загруженного пакета в выпуск осуществляется вручную. Если загрузки обрабатываются вручную, изменение архива может потребовать некоторого времени. Пожалуйста, будьте терпеливы.

В любом случае вы получите уведомление по электронной почте о том, что пакет был добавлен в архив, в этом уведомлении также указаны сообщения об ошибках, которые будут закрыты благодаря данной загрузке.

Внимательно изучите это уведомление, проверьте, все ли сообщения об ошибках, которые должны быть закрыты, в нём указаны.

Уведомление об установке также включает в себя информацию о том, в какой раздел был добавлен ваш пакет. Если имеет место несоответствие, то вы получите об этом отдельное сообщение. Читайте ниже.

Заметьте, что если вы загрузили пакет через очереди, служба очередей также отправит вам уведомление по электронной почте.

5.7 Определение раздела для пакета, подраздела и приоритета Поля Section и Priority файла debian/control фактически не определяют то, куда в архиве будет помещён ваш пакет, также они не определяют приоритет. Для того, чтобы сохранить общую целостность архива, сопровождающие архива осуществляют контроль над данными полями. Значения в файле debian/ control в действительности являются лишь подсказками.

Сопровождающие архива отслеживаю канонические разделы и приоритеты пакетов с помощью специального файла замещения. Если между файлом замещения и полями пакета, определёнными в файле debian/control, имеет место несоответствие, то вы получите сообщение о расхождении в момент, когда пакет будет установлен в архив. Вы можете либо исправить ваш файл debian/control во время следующей загрузки, либо вы можете захотеть изменить файл замещения.

Чтобы изменить раздел, в который был помещён пакет, вам для начала нужно убедиться, что файл debian/ control в вашем пакете правилен. Далее, отправьте сообщение об ошибке в ftp.debian.org с запросом ГЛАВА 5. УПРАВЛЕНИЕ ПАКЕТАМИ 5.8. РАБОТА С ОШИБКАМИ изменения раздела или приоритета для вашего пакета.

Используйте тему сообщения на подобие override:

ПАКЕТ1:раздел/приоритет, [...], ПАКЕТX:раздел/приоритет и добавьте обоснование данного изменения в теле сообщения об ошибке.

Дополнительную информацию о файлах замещения см. в dpkg-scanpackages(1) и https://www.

debian.org/Bugs/Developer#maintincorrect.

Заметьте, что поле Section описывает и раздел, и подраздел, которые описываются в разделе 4.6.1, «Разделы». Если раздел имеет значение main (основной), то его указание должно быть опущено. Список разрешённых подразделов может быть найден в https://www.debian.org/doc/debian-policy/ ch-archive.html#s-subsections.

5.8 Работа с ошибками Каждый разработчик должен быть способен работать с системой отслеживания ошибок Debian. Это предполагает знание того, как следует правильно отправлять сообщения об ошибках (см. раздел 7.1, «Отправка отчётов об ошибках»), как обновлять и упорядочивать их, а также то, как с ними работать и как их закрывать.

Возможности системы отслеживания ошибок описаны в документации по системе отслеживания ошибок для разработчиков. Она включает в себя описание того, как закрывать сообщения об ошибках, отправлять ответные сообщения, назначать важность и теги, отмечать ошибки как перенаправленные, а также многих других вопросов.

Такие операции как переназначение сообщений об ошибках другим пакетам, объединение отдельных сообщений об ошибках в одну проблему, а также повторное открытие ошибок, если они были закрыты прежде времени, осуществляются при помощи так называемого сервера управляющей почты. Все доступные на этом сервере команды описываются в документации по управляющему серверу системы отслеживания ошибок.

5.8.1 Мониторинг ошибок Если вы хотите быть хорошим сопровождающим, вам следует периодически проверять в системе отслеживания ошибок Debian (BTS) состояние ваших пакетов. Система отслеживания ошибок содержит все открытые сообщения об ошибках в ваших пакетах. Вы можете проверить их путём просмотра следующей страницы:

https://bugs.debian.org/ваша-учётная-запись@debian.org.

Сопровождающие взаимодействуют с системой отслеживания ошибок через адреса электронной почты bugs.debian.org. Документация по доступным командам может быть найдена в https://www.debian.

org/Bugs/, либо, если вы установили пакет doc-debian, вы можете посмотреть локальные файлы /usr/ share/doc/debian/bug-*.

Некоторые разработчики находят полезным получение периодических отчётов об открытых ошибках.

Вы можете добавить работу cron подобно следующей, если вы хотите получить еженедельные сообщения с обзором всех открытых сообщений об ошибках в ваших пакетах:

# запрашивает еженедельные отчёты об ошибках в моих пакетах 0 17 * * fri echo ”index maint address” | mail request@bugs.debian.org

Замените адрес вашим официальным адресом сопровождающего Debian.

5.8.2 Ответ на ошибки Отвечая на сообщения об ошибках, убедитесь, что любое обсуждение сообщения об ошибке отправляется и изначальному автору сообщения об ошибке, и записи в системе отслеживания ошибок (напр., 123@bugs.

debian.org). Если вы пишете новое сообщение и не помните адрес электронной почты изначального автора сообщения об ошибке, вы можете использовать адрес 123-submitter@bugs.debian.org для того, чтобы связаться с ним и записать вашу почту в журнал сообщения об ошибке (что означает, что вам не нужно будет отправлять копию письма на адрес 123@bugs.debian.org).

Если вы получили сообщение об ошибке, в котором упоминается FTBFS, то это означает Fails to build from source (не удалось собрать из исходного кода). Те, кто занимаются переносами, часто используют данный акроним.

Как только вы закончили работать с сообщением об ошибке (напр., исправили ошибку) отметьте его как завершённое (закройте его), отправив сообщение с объяснением по адресу 123-done@bugs.debian.

org. Если вы исправили ошибку путём изменения и загрузки пакета, вы можете автоматизировать закрытие сообщения об ошибке как это описано в разделе 5.8.4, «Когда ошибки исправляются путём новых загрузок».

ГЛАВА 5. УПРАВЛЕНИЕ ПАКЕТАМИ 5.

8. РАБОТА С ОШИБКАМИ Вам никогда не следует закрывать ошибки через отправку команды close для сервера ошибок по адресу control@bugs.debian.org. Если вы так сделаете, то изначальный автор сообщения об ошибке не получит какой-либо информации о том, почему сообщение об ошибке было закрыта.

5.8.3 Работа с ошибками Как сопровождающий пакетов вы часто будете находить ошибки в других пакетах, иногда вы будете получать сообщения об ошибках в ваших пакетах, которые в действительности касаются ошибок в других пакетах. Возможности системы отслеживания ошибок описываются в документации по системе отслеживания ошибок для разработчиков Debian. Такие операции как переназначение, объединение и отметка тегами сообщений об ошибках описываются в документации по управляющему серверу системы отслеживания ошибок. Данный раздел содержит некоторые рекомендации по управлению сообщениями об ошибках в ваших собственных пакетах, эти рекомендации основываются на коллективном опыте разработчиков Debian.

Отправка сообщений об ошибках по поводу проблем, которые вы найдёте в других пакетах, является одной из гражданских обязанностей сопровождающего, см. раздел 7.1, «Отправка отчётов об ошибках» для получения дополнительной информации. Тем не менее, работа с ошибками в ваших собственных пакетах ещё более важна.

Ниже приведена последовательность шагов, которой можно следовать при работе с сообщением об ошибке:

1. Решите, соответствует присланный отчёт реальной ошибке или нет. Иногда пользователи всего лишь неправильно запускают программу, поскольку они не прочли документацию. Если вы это обнаружите, то просто закройте сообщение об ошибке, предоставив достаточное количество информации, которая позволит пользователю исправить свою проблему (вышлите ссылки на хорошую документацию и так далее). Если вы снова получите то же сообщение об ошибке, задайте себе вопрос, достаточно ли хороша документация, или может быть программа не может обнаружить случаи неправильного использования и выдать информативное сообщение об ошибке. Об этой проблеме следует сообщить автору основной ветки разработки.

Если тот, кто отправил сообщение об ошибке, не согласен с вашим решением о закрытии сообщения об ошибке, то он может заново открывать его до тех пор, пока вы не придёте к согласию о том, что делать. Если вы не сможете найти общего решения, тогда вы можете отметить ошибку тегом wontfix, чтобы люди знали, что ошибка существует, но что она не будет исправлена. Если эта ситуация не приемлема, вы (или тот, кто отправил сообщение об ошибке) можете потребовать решение проблемы от технического комитета, переназначив сообщение об ошибке tech-ctte (вы можете использовать команду clone, если вы хотите, чтобы сообщение об ошибке осталось сообщением об ошибке в вашем пакете). До того, как сделать это, прочтите информацию о рекомендуемой процедуре.

2. Если ошибка действительно имеет место, но она вызвана другим пакетом, просто переназначьте сообщение об ошибке тому пакету. Если вы не знаете, какому пакету следует переназначить сообщение об ошибке, вам следует попросить помощи в IRC или в debian-devel@lists.debian.org. Пожалуйста, проинформируйте сопровождающего того пакета, которому вы переназначаете сообщение об ошибке, например, отправив копию сообщения для системы отслеживания ошибок, содержащего команды для переназначения, по адресу имя-пакета@packages.debian.org, объясните ему причины в своём сообщении. Заметьте, что простое переназначение не пересылается сопровождающим пакета, которому вы переназначаете сообщение об ошибке, поэтому они не будет знать об этом до тех пор, пока они не посмотрят сводную информацию об ошибках в своих пакетах.

Если ошибка затрагивает работу вашего пакета, вы можете клонировать сообщение об ошибке и переназначить полученную копию тому пакету, который фактически вызывает нежелательное поведение в вашем пакете. В противном случае, ошибка не будет показываться в списке ошибок вашего пакета, что, вероятно, приведёт к тому, что пользователи будут снова и снова сообщать об одной и той же ошибке. Вам следует заблокировать ”вашу” ошибку переназначенной, клонированной ошибкой, чтобы засвидетельствовать отношение между ними.

3. Иногда вам также необходимо изменить важность ошибки так, чтобы она соответствовала вашему определению её важности. Люди обычно склонны преувеличивать важность ошибок для того, чтобы их ошибки были быстрее исправлены. Важность некоторых ошибок может понижена до wishlist, если запрашиваемое изменение является скорее косметическим.

4. Если ошибка действительно имеет место, но об этой же проблеме было сообщено кем-то ещё, то два релевантных сообщения должны быть объединены в одно с помощью команды merge. В этом случае ГЛАВА 5. УПРАВЛЕНИЕ ПАКЕТАМИ 5.

8. РАБОТА С ОШИБКАМИ если ошибка будет исправлена, все те, кто сообщил о ней, будут уведомлены об этом. (Тем не менее, заметьте, что сообщения, отправленные одному из тех, кто сообщил об ошибке, не будут автоматически перенаправлены остальным пользователям, которые тоже сообщили об ошибке.) Подробности о технической стороне команды merge и родственной ей команды unmerge, см. в документации по управляющему серверу системы отслеживания ошибок.

5. Пользователь, отправивший сообщение об ошибке, мог забыть предоставить какую-то информацию, в этом случае вам следует попросить их предоставить необходимую информацию. Вы можете использовать тег moreinfo, чтобы отметить сообщение об ошибке как требующее предоставления дополнительной информации. Более того, если вы не можете воспроизвести ошибку, вы можете пометить сообщение об ошибке тегом unreproducible. Это будет означать, что если кто-то может воспроизвести ошибку, то вы просите его предоставить вам дополнительную информацию о том, как воспроизвести эту ошибку. Через несколько месяцев, если эта дополнительная информация не была никем отправлена, сообщение об ошибке может быть закрыто.

6. Если ошибка касается создания пакета, вам следует её исправить. Если вы не можете сами исправить её, то отметьте сообщение об ошибке тегом help. Кроме того, вы можете попросить о помощи в debian-devel@lists.debian.org или debian-qa@lists.debian.org. Если это проблема основной ветки разработки, вам следует переслать сообщение об ошибке автору основной ветки. Простой пересылки сообщения об ошибке не достаточно, вам следует проверять каждый выпуск основной ветки на предмет исправления этой ошибки. Если ошибка была исправлена, вам нужно просто закрыть сообщение об ошибке, в противном случае вам следует напомнить автору об ошибке. Если у вас имеются требуемые навыки, вы можете подготовить заплату, исправляющую ошибку и отправить её автору основной ветки. Убедитесь, что вы отправили заплату в систему отслеживания ошибок и пометили сообщение об ошибке тегом patch.

7. Если вы исправили ошибку в своей локальной копии пакета, либо если исправление было загружено в репозиторий системы управления версиями, вы можете отметить сообщение об ошибке тегом pen ding, что будет означать, что ошибка исправлена, и что сообщение об ошибке будет закрыто при следующей загрузке (добавьте пункт closes: в ваш файл changelog). Это особенно полезно, когда над одним и тем же пакетом работает несколько разработчиков.

8. Как только исправленный пакет будет доступен в архиве, сообщение об ошибке должно быть закрыто с указанием версии, в которой ошибка была исправлена. Это может быть сделано автоматически, см.

раздел 5.8.

4, «Когда ошибки исправляются путём новых загрузок».

5.8.4 Когда ошибки исправляются путём новых загрузок Когда ошибки и проблемы в ваших пакетах будут исправлены, вам как сопровождающему следует закрыть сообщения об этих ошибках. Тем не менее, вам не следует закрывать сообщение об ошибке до того момента, как пакет, содержащий исправление ошибки, будет принят в архив Debian. Следовательно, как только вы получите уведомление о том, что загруженный вами пакет был установлен в архив, вы можете и должны закрыть сообщение об ошибке в системе отслеживания ошибок. Кроме того, сообщение об ошибке должно быть закрыто с указанием правильно версии, содержащей исправление ошибки.

Тем не менее, можно избежать необходимости ручного закрытия сообщений об ошибках после загрузки — просто перечислите ошибки в вашем файле debian/changelog, следуя определённым синтаксическим правилам, и ПО по сопровождению архива закроет соответствующие ошибки.

Например:

acme-cannon (3.1415) unstable; urgency=low * Frobbed with options (closes: Bug#98339) * Added safety to prevent operator dismemberment, closes: bug#98765, bug#98713, #98714.

* Added man page. Closes: #98725.

Технически говоря, следующее регулярное выражение Perl описывает то, как определяются журналы с закрытиями ошибок:

/closes:\s*(?:bug)?\#\s*\d+(?:,\s*(?:bug)?\#\s*\d+)*/ig Мы предпочитаем синтаксис closes:#XXX, поскольку он является наиболее точным, также он проще в плане интеграции с текстом файла changelog. Если не указано обратное с помощью параметра -v для ГЛАВА 5. УПРАВЛЕНИЕ ПАКЕТАМИ 5.8. РАБОТА С ОШИБКАМИ dpkg-buildpackage, будут закрыты только те сообщения об ошибках, которые указаны как закрытые в самой последней записи журнала изменений (по сути, будут закрыты именно те сообщения об ошибках, которые указаны в файле в разделе об изменениях в файле.changes).

Исторически загрузки определяются как загрузки теми, кто не является сопровождающим (NMU) отмечались тегом fixed, но не закрывались, но эта практика была прекращена с приходом отслеживания версий.

То же самое справедливо и по отношению к тегу fixed-in-experimental.

Если вы неправильно введёте номер сообщения об ошибке или забудете указать этот номер в записи журнала изменений, не стесняйтесь исправить эту ошибку и её последствия. Чтобы заново открыть ошибочно закрытое сообщение об ошибке, отправьте команду reopen XXX на адрес системы управления системы отслеживания ошибок, control@bugs.debian.org. Чтобы закрыть любое сообщение об ошибках, указанная в котором ошибка была исправлена в вашей загрузке, перешлите файл.changes на адрес XXX-done@bugs.

debian.org, вместо XXX укажите номер ошибки, также добавьте Version: YYY и пустую строку в качестве первых двух строк тела вашего сообщения, замените YYY на номер версии, в которой ошибка была исправлена.

Помните, что закрывать ошибки с помощью журнала изменений, как это описано выше, не является чемто обязательным. Если вы просто хотите закрыть сообщения об ошибках, которые никак не касаются сделанной вами загрузки, закройте ошибку путём отправки вашего объяснения на адрес XXX-done@bugs.debian.

org. Не закрывайте ошибки в записи журнала изменений какой-либо версии пакета, если изменения в этой версии пакета не имеют ничего общего с исправление этой ошибки.

Общую информацию о том, как писать журнал изменений, см. в разделе 6.3, «Лучшие практики для deb ian/changelog».

5.8.5 Работа с ошибками, связанными с безопасностью Из-за того, что ошибки, связанные с безопасностью, обладают скорее некоторой чувствительной природой, с ними следует работать очень внимательно. Команда безопасности Debian существует для того, чтобы координировать эту работу, следить за серьёзными проблемами безопасности, помогать сопровождающим в их работе с проблемами безопасности или исправлять эти проблемы, отправлять рекомендации по безопасности и сопровождать security.debian.org.

Если вам становится известно о какой-либо ошибке в пакете Debian, связанной с безопасностью, вне зависимости от того, являетесь вы сопровождающим этого пакета или нет, соберите информацию о проблеме, и сразу же свяжитесь с командой безопасности по электронной почте: team@security.debian.org. Если хотите, то можете зашифровать ваше сообщение ключом Debian Security Contact, см. https://www.debian.

org/security/faq#contact. НЕ ЗАГРУЖАЙТЕ какие-либо пакеты в стабильный выпуск, не связавшись с командой безопасности. В качестве полезной информации понимается следующее:

• Известно ли об этой ошибке широкой публике.

• Какие версии пакета подвержены данной ошибке. Проверьте каждую версию, которая в настоящее время поддерживается выпуском Debian, а также тестируемый и нестабильный выпуски.

• Суть исправления, если оно доступно (заплаты особенно полезны)

• Любые исправленные пакеты, которые вы подготовили самостоятельно (отправьте только debdiff или только файлы.diff.gz и.dsc и прочтите раздел 5.8.5.4, «Подготовка пакетов для решения проблем безопасности»)

• Любая помощь, которую вы можете предоставить в плане тестирования (уязвимость, тестирование регрессий и т. д.)

• Любая информация, необходимая для рекомендации по безопасности (см. раздел 5.8.5.3, «Рекомендации по безопасности») Как сопровождающий пакетов вы ответственны за сопровождение своих пакетов даже в стабильном выпуске. Вы имеете лучшие возможности для оценки заплат и тестирования обновлённых пакетов, поэтому, пожалуйста, внимательно изучите приводимую ниже информацию о том, как подготовить пакеты для работы команды безопасности.

5.8.5.1 Система отслеживания безопасности Команда безопасности сопровождает центральную базу данных, систему отслеживания безопасности Debian.

Она содержит всю публично доступную информацию о том, что известно о проблемах безопасности: какие ГЛАВА 5. УПРАВЛЕНИЕ ПАКЕТАМИ 5.8. РАБОТА С ОШИБКАМИ пакеты и версии подвержены проблемами, либо были исправлены, а также какие выпуски, стабильный, тестируемый и/или нестабильный, уязвимы. Конфиденциальная информация не добавляется в эту систему.

Вы можете производить поиск по конкретной проблеме или имени пакета. Посмотрите ваш пакет, чтобы узнать, какие проблемы всё ещё открыты. Если вы можете, предоставьте дополнительную информацию об этих проблемах, либо помогите решить их в вашем пакете. Все инструкции доступны на страницах системы отслеживания проблем.

5.8.5.2 Конфиденциальность В отличии от большей части другой деятельности, которая происходит в Debian, информация о проблемах безопасности иногда держится в секрете в течении некоторого времени. Это позволяет поставщикам ПО координировать раскрытие этой информации, чтобы минимизировать опасность для своих пользователей.

Временное закрытие информации об уязвимости зависит от природы проблемы и соответствующего исправления, а также от того, находится ли уже информация об уязвимости в открытом доступе.

Разработчики могут узнать о проблемах безопасности из следующих источников:

• они могут найти упоминание проблемы на публичном форуме (списке рассылки, веб-сайте и т. д.)

• кто-то отправляет отчёт об ошибке

• кто-то информирует через частную почту В первых двух случаях информация публична, важно подготовить исправление ошибки как можно раньше. Тем не менее, в последнем случае информация об ошибке может не быть публичной. Тогда при работе с проблемой возможны несколько вариантов действий:

• Если проблема безопасности не значительна, иногда нет необходимости скрывать информацию об этой проблеме, следует подготовить исправление и выпустить его.

• Если проблема относится к серьёзным проблемам, желательно сообщить о ней другим поставщикам и скоординировать выпуск. Команда безопасности постоянно находится на связи с различными организациями и индивидами, и заботится о распространении информации и координации.

Если тот, кто сообщает о проблеме, просит не раскрывать её, то в любом случае такой запрос следует уважать, конечно, это не касается информирования команды безопасности с целью подготовки исправления для стабильного выпуска Debian. При отправка конфиденциальной информации команде безопасности, обязательно упомяните о полученной просьбе.

Заметьте, что если требуется сохранить тайну, то вы не можете загрузить исправление в нестабильный выпуск (или куда-либо ещё, например, в публичный репозиторий системы управления версиями). Запутывания информации о подробностях изменения не достаточно, поскольку сам код доступен общественности и может быть (и будет) просмотрен остальными людьми.

Однако имеются две причины выпускать информацию даже в том случае, если было запрошено этого не делать: проблема уже была известна в течении некоторого времени, либо проблема или эксплоит доступны публично.

Команда безопасности для общения по поводу чувствительных вопросов использует закодированную при помощи ключа PGP переписку. Подробности см. в ЧаВО команды безопасности.

5.8.5.3 Рекомендации по безопасности Рекомендации по безопасности выпускаются только для текущего стабильного выпуска, а не для тестир уемого или нестабильного выпусков. Рекомендации при их выпуске отправляются в список рассылки debian-security-announce@lists.debian.org и размещаются на веб-странице о безопасности. Рекомендации по безопасности пишутся и публикуются командной безопасности. Тем не менее, они вовсе не против того, чтобы сопровождающий предоставил им какую-либо информацию или написал часть текста. В рекомендации по безопасности должна содержаться следующая информация:

• Описание проблемы и её масштаба, включая следующее:

– Тип проблемы (повышение привилегий, отказ в обслуживании и т. д.)

– Какие привилегии могут быть получены и кем (если это имеет место)

– Как эта уязвимость может использоваться ГЛАВА 5. УПРАВЛЕНИЕ ПАКЕТАМИ 5.8. РАБОТА С ОШИБКАМИ

–  –  –

Эта информация позволяет пользователям оценить угрозу их системам

• Номера версий подверженных проблеме пакетов

• Номера версий исправленных пакетов

• Информация о том, где можно получить обновлённые пакеты (обычно из архива безопасности Debian)

• Ссылки на рекомендации по безопасности основной ветки разработки, идентификационные номера CVE и любую другую информацию, полезную для перекрёстного указания уязвимости 5.8.5.4 Подготовка пакетов для решения проблем безопасности Вы можете помочь команде безопасности, если предоставите им исправления пакетов, подходящие для рекомендации по безопасности для стабильного выпуска Debian.

Когда вы производите обновление стабильного выпуска, следует быть осторожным в том, чтобы не изменить поведение системы и не внести новые ошибки. Для того, чтобы сделать это, для исправления ошибки производите как можно более мелкие изменения. Пользователи и администраторы полагаются на строго определённое поведение ПО, поэтому любое изменение может сломать работу чьей-то системы. Это в особенности касается библиотек: убедитесь, что вы не изменили API или ABI, причём не важно, насколько малым было изменение.

Это означает, что переход на новую версию из основной ветки разработке не является хорошим решением. Вместо этого вам следует осуществить обратный перенос релевантных изменений в версию ПО, которая входит в стабильный выпуск Debian. Как правило, сопровождающие основной ветки разработки помогают сделать это, если это необходимо. Если же нет, то вам может помочь команда безопасности Debian.

В некоторых случаях обратный перенос исправления безопасности невозможен, например, когда должно быть изменено или переписано большое количество исходного кода. Если это имеет место, может потребоваться переход на новую версию основной ветки разработки. Тем не менее, это осуществляется только в крайних случаях, вам всегда следует заранее координировать такой переход с командой безопасности.

С этим де связан и другой важный совет: всегда тестируйте ваши изменения. Если у вас имеется эксплоит, попробуйте использовать его и выяснить, работает ли он на изначальном пакете и действительно ли он не работает на исправленном пакете. Также протестируйте другие, обычные действия, поскольку исправление безопасности может поломать даже кажущиеся несвязанными возможности.

Никогда НЕ добавляйте какие-либо изменения в ваш пакет, которые не связаны напрямую с исправлением уязвимости. Это лишь потребует вернуть изменения, это лишь зря потратит время разработчика.

Если в вашем пакете имеются другие ошибки, которые вам хотелось бы исправить, подготовьте загрузку в proposed-updates обычным образом уже после того, как будет выпущена рекомендация по безопасности.

Механизм обновления безопасности не служит для внесения в ваши пакеты таких изменений, которые в противном случае были бы отвернуты при их загрузке в стабильный выпуск, поэтому, пожалуйста, не пытайтесь этого делать.

Проверьте и протестируйте ваши изменения столько раз, сколько это возможно. Проверьте отличия от предыдущей версии (для этого очень полезны interdiff из пакета patchutils и debdiff из пакета devscr ipts, см. раздел A.2.2, «debdiff»).

Убедитесь, что вы проверили следующее:

• Укажите верный выпуск в вашем файле debian/changelog: кодовое-имя-security (напр., jessie-security). Не указывайте выпуск-proposed-updates или stable!

• Загрузка должна иметь urgency=high.

• Ваши записи в журнале изменений должны быть информативны и осмысленны. Другие пользователи будут полагаться не них при определении того, была исправлена определённая ошибка или нет. Добавляйте записи closes: о любых ошибках Debian. Всегда добавляйте внешнюю ссылку, желательно идентификатор CVE. Тем не менее, если идентификатор CVE ещё не был назначен, не ждите его, продолжайте процесс. Указать идентификатор можно позже.

ГЛАВА 5. УПРАВЛЕНИЕ ПАКЕТАМИ 5.

9. ПЕРЕМЕЩЕНИЕ, УДАЛЕНИЕ, …

• Убедитесь, что номер версии верен. Он должен быть больше, чем номер версии текущего пакета, но меньше, чем версии пакетов в более поздних выпусках. Если вы сомневаетесь относительно версии, проверьте её с помощью dpkg --compare-versions. Будьте внимательны, не используйте повторно номер версии, который вы использовали для предыдущей загрузки, либо номер, конфликтующий с binNMU. Принято добавлять к номеру версии +debXu1 (где X представляет собой главный номер выпуска), напр., 1:2.4.3-4+deb8u1, для последующей загрузки версию, конечно же, следует увеличить на 1.

• Если исходный код из основной ветки разработки не был ранее загружен на security.debian.

org (во время предыдущего обновления безопасности), соберите свою загрузку с полным исходным кодом из основной ветки разработки (dpkg-buildpackage -sa). Если же ранее была произведена загрузка на security.debian.org, содержащая ту же самую версию из основной ветки разработки, вы можете осуществить загрузку без добавления исходного кода из основной ветки (dpkgbuildpackage -sd).

• Убедитесь, что используется в точности тот же файл *.orig.tar.{gz,bz2,xz}, который использовался в обычном архиве, в противном случае переместить исправление безопасности в основной архив будет нельзя.

• Соберите пакет в чистой системе, в которой установлен пакеты только из того выпуска, для которого вы собираете свой пакет. Если у вам нет такой системы, вы можете использовать машину debian.org (см. раздел 4.4, «Машины Debian»), либо настроить chroot (см. раздел A.4.3, «pbuilder» и раздел A.4.2, «debootstrap»).

5.8.5.5 Загрузка исправленного пакета Никогда НЕ загружайте пакет в очередь обновлений безопасности (на security-master.debian.org) без соответствующего разрешения от команды безопасности. Если пакет не соответствует требованиями команды безопасности, работа с нежелательной загрузкой приведёт к возникновению множества проблем и задержек.

Никогда НЕ загружайте ваше исправление в proposed-updates, не связавшись с командой безопасности. Пакеты из security.debian.org будут скопированы в каталог proposed-updates автоматически. Если какой-то пакет с тем же самым или более высоким номером версии уже установлен в архиве, обновление безопасности будет отклонено системой, управляющей архивом. В этом случае стабильный выпуск останется без обновления безопасности.

Как только вы создадите и протестируете новый пакет, когда он будет утверждён командой безопасности, этот пакет следует загрузить, чтобы он был установлен в архивы. Для обновлений безопасности пакеты следует загружать на ftp://security-master.debian.org/pub/SecurityUploadQueue/.

Как только будет принята ваша загрузка в очередь обновления безопасности, пакет будет автоматически собран для всех архитектур и сохранён для проверки командой безопасности.

Загрузки, ожидающие принятия или проверки, доступны только членам команды безопасности. Это необходимо потому, что они могут содержать исправления таких проблем безопасности, информация о которых пока не может быть раскрыта.

Если член команды безопасности принимает пакет, этот пакет будет установлен в security.debian.

org, а также предложен для соответствующего каталога выпуск-proposed-updates на ftp-master.

debian.org.

5.9 Перемещение, удаление, переименование, придание статуса осиротевшего, усыновление и повторное введение пакетов Некоторые действия по управлению архивом в Debian не автоматизированы во время загрузки. Эти процедуры должны быть вручную выполнены сопровождающими. В данной главе содержатся советы о том, что следует делать в этих случаях.

5.9.1 Перемещение пакетов Иногда для какого-то пакета раздел может быть изменён. Например, пакет из раздела non-free (раздел несвободных пакетов) может быть перелицензирован под GPL, в этом случае этот пакет следует переместить ГЛАВА 5. УПРАВЛЕНИЕ ПАКЕТАМИ 5.9. ПЕРЕМЕЩЕНИЕ, УДАЛЕНИЕ, … в main’ (основной раздел) или contrib’ (раздел ПО, зависящего от несвободного ПО).1 Если вам нужно изменить раздел у одного из ваших пакетов, измените управляющую информацию о пакете, затем заново загрузите ваш пакет (подробности см. в Руководстве по политике Debian). Вам следует чётко убедиться, что вы добавили.orig.tar.{gz,bz2,xz} в вашу загрузку (даже если вы не загружаете новую версию из основной ветки разработки), либо что этот файл не будет встречаться в новом разделе с остальной частью пакета. Если ваш новый раздел верен, пакет будет перемещён автоматически. Если же пакет не будет перемещён, тогда свяжитесь с управляющими ftp для того, чтобы понять, что же произошло.

Если, с другой стороны, вам необходимо изменить подраздел одного из ваших пакетов (напр., „devel“, „admin“), то это уже немного другая процедура. Исправьте подраздел в управляющем файле вашего пакета, затем заново загрузите пакет. Кроме того, вам следует обновить файл отклонений, это описано в разделе 5.7, «Определение раздела для пакета, подраздела и приоритета».

5.9.2 Удаление пакетов Если по какой-то причине вам необходимо полностью удалить пакет (например, если он представляет собой устаревшую библиотеку для совместимости, которая более не требуется), вам необходимо отправить отчёт об ошибке в псевдопакете ftp.debian.org с просьбой об удалении вашего пакета; как и все сообщения об ошибках, это сообщение об ошибках обычно должно иметь важность normal. Заголовок сообщения об ошибке должен иметь вид RM:пакет [список архитектур] --причина, где пакет — это пакет, который следует удалить, а причина — краткое описание причины, по которой вы отправляете запрос на удаление. [список архитектур] опционален и и требуется только в том случае, если пакет необходимо удалить только для некоторых архитектур, а не для всех. Заметьте, что утилита reportbug создаст заголовок, соответствующий указанным правилам, если вы будете использовать её для отправки сообщения об ошибке в псевдопакете ftp.debian.org.



Pages:   || 2 | 3 |



Похожие работы:

«Вопросы комплексной безопасности и противодействия терроризму КСЕНОФОБИЯ, НАЦИОНАЛИЗМ И ЭКСТРЕМИЗМ В СОВРЕМЕННОМ ОБЩЕСТВЕ Доктор юридических наук, профессор В.Е.Петрищев (Экспертный совет...»

«Ирина Лазаревна Муравьева Имя женщины – Ева Текст книги предоставлен правообладателем http://www.litres.ru/pages/biblio_book/?art=8870539 Имя женщины – Ева: Эксмо; Москва; 2015 ISBN 978-5-699-80205-0 Аннотация Закончилась Вторая мировая война. Ленинградский подросток Гриша Нарышкин, угнанн...»

«Наталья Ивановна Степанова Большая книга заговоров – 4 Текст предоставлен правообладателем http://www.litres.ru/pages/biblio_book/?art=331572 Большая книга заговоров – 4 /...»

«ДОГОВОР СЧЕТА СДЕЛКИ № 20 года Рига, АО "TRASTA KOMERCBANKA", зарегистрировано в Коммерческом регистре Латвийской Республики под единым регистрационным номером 40003029667, юридический адрес ул. Миесниеку 9, Рига, LV-1050, Латвийская Республика, в лице председателя Правления Г. Гриезе, который действует на ос...»

«Виктор Леонидович Топоров Гражданский арест. Статьи, не попавшие в Сеть (сборник) Текст предоставлен правообладателем http://www.litres.ru/pages/biblio_book/?art=9962883 Гражданский арест. Статьи, не попавшие в Сеть/Виктор Топоров: ЛИМБУС ПРЕСС; СанктПетербург; 2014 ISBN 978-5-8370-0653-1 Анно...»

«25/2/05 Препроводительная записка Поправка № 1 К ДОПОЛНЕНИЮ К ПРИЛОЖЕНИЮ 11 ОБСЛУЖИВАНИЕ ВОЗДУШНОГО ДВИЖЕНИЯ (Издание тринадцатое) 1. В поправке № 1 к Дополнению к Приложению 11 содержится дополнительная информация, полученная от государств до 25 февраля 2005 года, в отно...»

«МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ УКРАИНЫ ДОНЕЦКИЙ НАЦИОНАЛЬНЫЙ УНИВЕРСИТЕТ НАУЧНАЯ БИБЛИОТЕКА СПРАВОЧНО-БИБЛИОГРАФИЧЕСКИЙ ОТДЕЛ АКТУАРНАЯ МАТЕМАТИКА (Письменная справка) Донецк-2010 Справка "Актуарная математика" составлена по заявке кафедры...»

«КАЗАНСКИЙ ФЕДЕРАЛЬНЫЙ УНИВЕРСИТЕТ Юридический факультет О.Н. Низамиева СЕМЕЙНОЕ ПРАВО Учебно-методический комплекс Направление подготовки: 030900.62 Юриспруденция. Квалификация (степень) выпускника – бакалавр. Фо...»

«Гладкая Екатерина Игоревна Правовой режим доменного имени в России и США Специальность: 12.00.03 гражданское право; предпринимательское право; семейное право; международное частное право АВТОРЕФЕРАТ диссертации на соискание ученой степени кандидата юридических наук Москва – 2014 Работа выполнена на кафедре авторского права,...»

«АНКЕТА ООО "РСМ ТОП-АУДИТ" № Наименование Сведения об Участнике конкурса 1. Организационно-правовая форма и Общество с ограниченной ответственностью фирменное наименование "РСМ Топ – Аудит"2. Сведения о государственной Свидетельство Московской регистрационной регистрации палаты № 360.640 02.04.1992 г.3...»

«Семён Данилюк ЗАКОННИК Издательство Accent Graphics Communications Монреаль События романа развиваются в период "обращения" милиции в полицию. У обласканного властью ученого-правоведа, одного из создателей уголовного законодательства, убивают сына. Впервые за долгие годы он сталкивается с равнодушием и некомпетентност...»

«ST/SG/AC.10/1/Rev.18 (Vol.II) Рекомендации по ПЕРЕВОЗКЕ ОПАСНЫХ ГРУЗОВ Типовые правила Том II Восемнадцатое пересмотренное издание ОРГАНИЗАЦИЯ ОБЪЕДИНЕННЫХ НАЦИЙ Нью-Йорк и Женева, 2013 год ПРИМЕЧАНИЕ Употребляемые обозначения...»

«Современное общество и право Учредитель – федеральное государственное бюджетное Научно–практический журнал образовательноеучреждение высшего образования Издается с 2010 года "Орловский государственный университет...»

«Антология Татьяна Викторовна Стрыгина Это мы, Господи. Повести и рассказы писателей-фронтовиков Текст предоставлен правообладателем http://www.litres.ru/pages/biblio_book/?art=11311090 Это мы, Господи! Повести и рассказы писателейфронтовиков / Сост. Т. В. Стрыгина. Худож. И. Ю. Олейников.: Никея; Москва; 2015 ISBN 978-5-91761-423-...»

«МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования "ПЕРМСКИЙ ГОСУДАРСТВЕННЫЙ НАЦИОНАЛЬНЫЙ ИССЛЕДОВАТЕЛЬСКИЙ УН...»

«Институт Государственного управления, Главный редактор д.э.н., профессор К.А. Кирсанов тел. для справок: +7 (925) 853-04-57 (с 1100 – до 1800) права и инновационных технологий (ИГУПИТ) Опубликовать статью в журн...»

«ПРИЛОЖЕНИЕ К ЕЖЕМЕСЯЧНОМУ ЮРИДИЧЕСКОМУ ЖУРНАЛУ Учредители — Высший Арбитражный Суд Российской Федерации, Министерство юстиции Российской Федерации и Некоммерческое п...»

«Коллектив авторов Литература 5 класс. Учебникхрестоматия для школ с углубленным изучением литературы. Часть 2 Текст предоставлен правообладателем http://www.litres.ru/pages/biblio_book/?art=8703649 Литература. 5 класс. Уч.– хрестоматия для школ и клас...»

«город Новосибирск 21.04.2015 ЗАКЛЮЧЕНИЕ по результатам публичных слушаний по проекту постановления мэрии города Новосибирска "Об установлении публичного сервитута на земельный участок по ул. Орджоникидзе в...»

«ЗАЯВЛЕНИЕ НА ПОЛУЧЕНИЕ СТРАХОВОЙ ВЫПЛАТЫ (заполняется только печатными буквами лицом, имеющим право на страховую выплату) Все поля обязательны для заполнения. Заявления без указания номера полиса, ФИО заявителя, информации о событии, порядка страховой выплаты, дат, без подписей...»

«ХАРКІВСЬКИЙ ІНСТИТУТ СОЦІАЛЬНИХ ДОСЛІДЖЕНЬ ХАРКІВСЬКА ПРАВОЗАХИСНА ГРУПА МОНІТОРИНГ НЕЗАКОННОГО НАСИЛЬСТВА В ОРГАНАХ ВНУТРІШНІХ СПРАВ УКРАЇНИ (2004–2015 рр.) ХАРКІВ 2015 ББК 67.5 Ця публікація здійснена за фінансової підтримки Європейського Союзу. За зміст публікації відповідають лише автори, і його...»

«Свободное программное обеспечение – как альтернатива проприетарному и контрафактному ПО – его проблемы и перспективы.1 Борисов В.В., Кунявский М.В. Социальные аспекты цифровых технологий. В своей книге Свободная культура [1] основатель организац...»

«Марина Мелия Успех – дело личное. Как не потерять себя в современном мире Текст предоставлен правообладателем http://www.litres.ru/pages/biblio_book/?art=8326142 Успех – дело личное: Как не потерять себя в современном мире / Марина Мелия: Альпина Паблишер; Москва; 2012 ISBN 978-5-9614-2477-...»

«Воробьва Елена Александровна ПРАВОВОЕ РЕГУЛИРОВАНИЕ СДЕЛОК, ТРЕБУЮЩИХ СОГЛАСИЯ, ПО ГРАЖДАНСКОМУ ЗАКОНОДАТЕЛЬСТВУ РОССИЙСКОЙ ФЕДЕРАЦИИ Специальность 12.00.03 гражданское право; предпринимательское право; семейное право; международное частное право Диссертация на соискание ученой степени кандидата юр...»

«Владимир Лещенко Андрей Чернецов Госпожа "Удачи" Серия "Профессиональный оборотень" Текст предоставлен правообладателем http://www.litres.ru/pages/biblio_book/?art=8010133 Чернецов, А. Лещенко В. Госпожа "Удачи" : [Фантастический роман]: АСТ;...»

«УДК 373.167.1:3 ББК 60я72 Н62 Никитина, Т. И. Право. Базовый и углубленный уровни. 11 класс : рабочая тетрадь / Н62 Т. И. Никитина, А. Ф. Никитин. — М. : Дрофа, 2016. — 110, [2] с. ISBN 978-5-358-16012-5 Рабочая тетрадь вхо...»

«ПАШКОВСКИЙ Н. И. кандидат юридических наук, доцент, заведующий кафедрой международного права и международных отношений Национального университета "Одесская юридическая академия" КОРОТКИЙ Т. Р. кандидат юридических наук, д...»








 
2017 www.book.lib-i.ru - «Бесплатная электронная библиотека - электронные ресурсы»

Материалы этого сайта размещены для ознакомления, все права принадлежат их авторам.
Если Вы не согласны с тем, что Ваш материал размещён на этом сайте, пожалуйста, напишите нам, мы в течении 1-2 рабочих дней удалим его.