ALTLinux Backports Policy ========================= Version: 0.0.10 0. Документ и его обновление - -------------------------- Документ регламентирует назначение репозитория, его структуру, порядок помещения пакетов в репозиторий, а также необходимые требования, которым должен соответствовать пакет. Backports policy сопровождается и обновляется участниками backports maintainers committee. Состав backports maintainers committee: - "Yuri N. Sedunov (aris)" - "Alexey I. Froloff (Sir Raorn)" 1. Назначение репозитория - ----------------------- Репозиторий предназначен для хранения портированных на соответствующее семейство дистрибутив пакетов. Для каждого семейства дистрибутивов создается отдельный репозиторий. В настоящее время существуют репозитории для следующих дистрибутивов: - ALT Linux 3.0 (Compact); - ALT Linux 2.4 (Master); - ALT Linux 2.3 (Compact, Junior); - ALT Linux 2.2 Master. 2. Структура репозитория - ---------------------- Каждый репозиторий создается с помощью утилиты genbasedir. Поддерживаемые архитектуры -- i586 и i686. Для каждой из архитектур определена компонента backports. При необходимости в репозиторий могут быть добавлены другие архитектуры. 2.1. Расположение репозитория и доступ к нему Получить доступ к репозиторию на чтение можно несколькими способами: - По протоколу ftp * К репозиторию для ALT Linux 3.0 Compact ftp://ftp.altlinux.ru/pub/distributions/ALTLinux/backports/3.0/ * К репозиторию для ALT Linux 2.4 Master ftp://ftp.altlinux.ru/pub/distributions/ALTLinux/backports/2.4/ * К репозиторию для ALT Linux 2.2 Master ftp://ftp.altlinux.ru/pub/distributions/ALTLinux/backports/2.2/ * К репозиторию для ALT Linux 2.3 Compact и ALT Linux 2.3 Junior ftp://ftp.altlinux.ru/pub/distributions/ALTLinux/backports/2.3/ - По протоколу rsync * К репозиторию для ALT Linux 3.0 Compact rsync://rsync.altlinux.ru::ALTLinux/backports/3.0/ * К репозиторию для ALT Linux 2.4 Master rsync://rsync.altlinux.ru::ALTLinux/backports/2.4/ * К репозиторию для ALT Linux 2.2 Master rsync://rsync.altlinux.ru::ALTLinux/backports/2.2/ * К репозиторию для ALT Linux 2.3 Compact и ALT Linux 2.3 Junior rsync://rsync.altlinux.ru::ALTLinux/backports/2.3/ 2.2. Помещение пакетов в репозиторий Для получения возможности выкладывать пакеты в репозиторий необходимо быть участником команды разработчиков ALT Linux. Если вы уже в команде, ничего дополнительного не требуется. Новых участников команды ждут по адресу join at altlinux dot ru. Пакеты следует выкладывать на cvs.altlinux.org в один из следующих каталогов: - Для ALT Linux 3.0 Compact /incoming/backports/3.0/ Ответственный за каталог aris@ - Для ALT Linux 2.4 Master /incoming/backports/2.4/ Ответственный за каталог aris@ - Для ALT Linux 2.3 Compact и ALT Linux 2.3 Junior /incoming/backports/2.3/ Ответственный за каталог aris@ - Для ALT Linux 2.2 Master /incoming/backports/2.2/ Ответственный за каталог raorn@ В случае успешной пересборки пакеты попадают в соответствующий репозиторий. 3. Требования к пакетам - --------------------- 3.1. Пакеты должны собираться в среде hasher или sandman с подключенными репозиториями: - Основной репозиторий дистрибутива. Например, репозиторий с дистрибутивом Master 2.4. - Репозиторий с updates для дистрибутива. - Репозиторий с backports для дистрибутива. Использование hasher предпочтительнее. На системах старее ветки 2.3 возможно использовать только sandman, поскольку hasher на них ещё не портирован. 3.2. Работа со спеком - Поле Packager не должно изменяться. Всю необходимую информацию заностить в changelog. Например: Packager: Alexander Nekrasov .... %changelog * Sat Sep 25 2004 Alexey Borovskoy 0.4-alt0.M24.1 - Backport to Master 2.4 - 0.4 - BuildRequires должен быть адаптирован под платформу, на которую производится портирование. 3.3. Правила нумерации релизов Релизы нумеруются следующим образом: BRANCH_POINT_RELEASE.BRANCH.REVISION. Таким образом, полное наименование пакета будет таким: %name-%version-BRANCH_POINT_RELEASE.BRANCH.REVISION. Где: - REVISION - номер ревизии пакета внутри репозитория backports. Нумерация начинается с 1. - BRANCH_POINT_RELEASE - строка, описывающая релиз, из которого "растет" данная ветка; - BRANCH - версия ветки. Допустимые значения: M30 - ALT Linux 3.0 Compact; M24 - ALT Linux 2.4 Master; M23 - ALT Linux 2.3 Compact и ALT Linux 2.3 Junior; M22 - ALT Linux 2.2 Master; При обновлении до новой версии (%version) пакета, REVISION сбрасывается в 1 и BRANCH_POINT_RELEASE устанавливается в "alt0". Обоснование: Новая версия пакета, собираемого в backports, должна иметь номер релиза меньший, чем та же версия в Сизифе, но при этом не меньший, чем та же версия в backports для предыдущих серий. Пример разумного исключения: Если необходимо предотвратить возможность обновления с релиза вида alt0.BRANCH.REVISION до сизифовского alt7 при наличии в Сизифе alt8 (в т.ч. в случае серьёзной ошибки, исправленной в alt8), можно сделать релиз вида alt7.BRANCH.REVISION, при условии что за основу взят именно alt8 а не alt7. 4. Взаимодействие с другими репозиториями - --------------------------------------- Если делаются не бэкпорты пакетов из Sisyphus, а существенные доработки или обновления - следует уведомить майнтейнера пакета в нём и сотрудничать с ним для сохранения добавленной функциональности. Если в Sisyphus такого пакета попросту нет - желательно анонсировать сборку не только в backports@, но и в sisyphus@ (возможно, через кого-либо иного, подписанного на этот список рассылки). 5. Библиотеки и всё что с ними связано - ------------------------------------ Пакеты с библиотеками, входящими в пакетную базу дистрибутива, реализуют множество интерфейсов, которые определяют бинарную совместимость дистрибутива. Бэкпорт новой версии библиотеки, входящей в состав дистрибутива, может нарушить бинарную совместимость дистрибутива. Это приведет к необходимости пересборки некоторого множества входящих в дистрибутив пакетов. Этого допускать нельзя. Таким образом, бэкпорты должны ограничиваться точечными изменениями входящих в дистрибутив библиотек, не приводящими к несовместимости с updates и/или необходимости пересборки в backports программ, которые слинкованы с предыдущими версиями библиотек. Попросту говоря, soname changes prohibited.