Глава 3. Технологии Sisyphus

Алексей Гладков, Дмитрий Левин

Содержание

Структура репозитория
hasher: технология безопасной сборки пакетов
Новые технологии проекта Sisyphus: жизненный цикл пакета

Sisyphus — это основной репозиторий пакетов ALT Linux Team. Все разработки участников ALT хранятся здесь.

Структура репозитория

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

base

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

castle

Базовые серверные пакеты. Требования также высоки.

junior

Все базовые desktop пакеты. Требования по безопасности ниже чем в base, требования по сборки также высокие.

kernel

Все ядра и связанные с ними модули.

master

Все остальные пакеты, проходящие в дистрибутив.

contrib

Сюда попадают все новые и непроверенные пакеты, пакеты из contrib в дистрибутивы не попадают.

classic

Объединение всех репозиториев Сизифа, сделан для удобства использования и обратной совместимости с предыдущей структурой Сизифа (до 1 июня 2002).

non-free

Пакеты под коммерческой лицензией, зачастую без исходного кода.

obsoletes

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

unsupported

Собрание неподдерживаемых пакетов — пакеты, которые в силу каких-либо причин (чаще всего это лицензионные ограничения) ALT Linux Team не может поддерживать в полном объеме. Пакеты могут присутствовать как в виде бинарных, так и в виде пакетов с исходным кодом. В отдельных случаях исходный код может отсутствовать в пакете — это заготовка, из которой вы можете собрать бинарный пакет.

orphaned

Собрание заброшенных пакетов — пакеты с исходными текстами, которые на данный момент не поддерживаются. Если вы не знаете, за какой пакет взяться, то посмотрите прежде всего в этот каталог;

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

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

Пакет может поменять своего мантейнера по одной из следующих схем:

  • Если он находится в orphaned более одной недели, то пакет можно взять без чьего-либо разрешения. Перед тем, как положить этот пакет в incoming, его необходимо пересобрать с увеличением номера версии или релиза;

  • Если пакет не находится в orphaned, то пакет можно взять, получив разрешение у текущего (последнего) мантейнера или группы оных (определяется по полю Packager);

  • Если мантейнер не откликается после 5 запросов, то пакет автоматически переходит в orphaned;