Репозиторий ALT Linux backports/2.4
Последнее обновление: 9 июля 2008 | Пакетов: 497 | Посещений: 556459
 поиск   регистрация   авторизация 
 
Backports Policy


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

19 июня 20070.0.9.2

Автор: Alexey Borovskoy


0. Документ и его обновление
- --------------------------

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

Backports policy сопровождается и обновляется участниками
backports maintainers committee.

Состав backports maintainers committee:
- "Michael Shigorin" 
- "Alexey I. Froloff (Sir Raorn)" 

1. Назначение репозитория
- -----------------------

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

- ALT Linux 4.0 (Server);
- 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
    ftp://ftp.altlinux.org/pub/distributions/ALTLinux/backports/

- По протоколу rsync
    rsync://rsync.altlinux.org::ALTLinux/backports/

2.2. Помещение пакетов в репозиторий

Для получения возможности выкладывать пакеты в репозиторий необходимо быть
участником команды разработчиков ALT Linux. Если вы уже в команде, ничего
дополнительного не требуется. Новых участников команды ждут по адресу join at
altlinux dot ru.

Пакеты следует выкладывать на cvs.altlinux.org в один из следующих каталогов:

- для ALT Linux 2.3 и выше:
  /incoming/backports/2.3/ и т.п.;
  Ответственный за сборку -- mike@

- для ALT Linux 2.2 Master сборка backports прекращена.

В случае успешной пересборки пакеты попадают в соответствующий репозиторий.

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 - версия ветки. Допустимые значения:
    M40 - ALT Linux 4.0 Server;
    M30 - ALT Linux 3.0 Compact;
    M24 - ALT Linux 2.4 Master;
    M23 - ALT Linux 2.3 Compact и ALT Linux 2.3 Junior;
и по аналогии для веток новее 4.0.

При обновлении до новой версии (%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.


Changelog:
 
design & coding: Vladimir Lettiev aka crux © 2004-2005