[sisyphus] Re: [POLICY] Sisyphus

Michael Shigorin =?iso-8859-1?q?mike_=CE=C1_osdn=2Eorg=2Eua?=
Пн Янв 26 17:20:54 MSK 2004


On Mon, Jan 26, 2004 at 12:39:41PM +0300, info wrote:
> > > Вывод: нужен дискретный фиксаж по времени (понятие "версия"
> > > все-таки не зря выдумано:-)).
> > Он есть -- одни сутки.  Вот только каналы не резиновые на
> > всем пути от rsync.altlinux.ru до каждого пакаджера.
> Сутки - мало!

Ну это "первая степень".  "Вторая" -- пресловутая неделя.

> Третий день - тестирование собранного, и слив собранных
> пакетов. Получаем minimum minimorum для кванта времени - трое
> суток. 

На самом деле и между ними могут быть задержки.  Но в общем --
неделя :)

> > Поэтому по крайней мере я слышал и другой интервал --
> > "принимаются пакеты, собранные на Sisyphus не более чем
> > недельной давности".
> "Слышал"... :-((( Такие вещи должны быть чугунными буквами 
> написаны в правилах для упаковщиков.

===
> > Ээээ... это та самая "полиси дистрибутива".  Неуловимая
> > материя, витающая в головах -- которую надо поймать и
> > зафиксировать.
===

> Ну давайте смотреть.

О.

> Прежде всего, необходимо ранжирование пакетов по категориям
> важности.

Кстати, по крайней мере какая-то информация по этой части для mdk
installer есть ("важно/неважно/прикольно").

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

Вообще это уже делалось:

http://www.altlinux.ru/pipermail/community/2002-January/040036.html

Для удобства положил тот .ps сюда:

http://lrn.ru/~mike/rpmdeps.ps.gz

См. тж. apt-cache(1) по поводу dotty.  Оно без учета важности, и
не факт, что _из_ нее надо исходить -- а не считать ее как сумму
зависимостей от данного пакета в каком-то виде.

> Для ранжирования удобно использовать механизм групп в rpm. 
> Сейчас пакеты делятся по группам как-то странно, вроде бы с
> точки зрения их предназначения (функциональности), а с другой
> стороны - и вроде как нет... Никаких четких пракил, в какую 
> группу какой пакет относить, нет. Следствие: механизм групп не 
> сильно используется. 

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

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

Вообще говоря, 

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

Да.

> Далее, четко разделить: сизиф А и сизиф Б.

Это как-то тяжко.  Лучшее, что пришло в голову по этому поводу --
изложил не так давно в devel@ :

http://altlinux.ru/pipermail/devel/2003-November/033007.html

т.е. отдельная компонента Sisyphus, которая:

- принимает в себя свежезалитые пакеты наиболее оперативно;
- рекомендована к применению разработчиками;
- дополнительно тестируется опытными пользователями.

При этом цена перебрасывания пакета в e.g. contrib или base --
переброс симлинка, а не перетягивание пакета заново.

> Далее, на входе в репозитарий нужна автопроверка зависимостей.

Она и есть.

> В ALTе должна стоять машина с ПОЛНЫМ установленным текущим
> сизифом.

Это невозможно по очевидным причинам (Conflicts:).

> Если нет - заворачиваются, а сборщик получает соответствующее
> письмо.

Эээ... а Вам QA Team Robot не пишет душевные письма, да? :-)

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

Судя по тому, что эта мысль в той или иной форме посетила вот уже
вторую голову при обдумывании вопроса -- шансы на то, что
правильный ответ где-то там, растут.

2 inger: так как насчет RPMS.incoming?  Со скриптом для
перекладывания через неделю, для начала?

2 mithraen: руки до этих самых скриптов не дошли?

-- 
 ---- WBR, Michael Shigorin <mike на altlinux.ru>
  ------ Linux.Kiev http://www.linux.kiev.ua/
----------- следующая часть -----------
#!/bin/sh
echo "digraph RPM {
size=\"40,22\"
page=\"8,12\"
ratio=fill
"
rpmlist=$(rpm -qa --qf='[%{name}\n]')
for i in $rpmlist ; do 
rpmdeplist=`(rpm -q --qf='[%{requirename}\n]' "$i"|
grep -ve 'rpmlib\(.*\)'|
xargs rpm -q --whatprovides |sort -u |
xargs rpm -q --qf='%{name}\n'|
while read package ; do
	if test "$i" != "$package" ; then
		rpm -q --qf='%{name}\n' "$package"
	fi
done| sed -e 's/, $//') 2>/dev/null`
    iescape=$(echo "$i"|tr '/-' '__')
    echo "$iescape [fontsize=12, label=\"$i\"]"
	for j in $rpmdeplist ; do
	jescape=$(echo "$j"|tr '/-' '__')
	echo "$iescape -> $jescape;"
    done
done
echo "}"
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип     : application/pgp-signature
Размер  : 189 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url     : <http://lists.altlinux.org/pipermail/sisyphus/attachments/20040126/c69acefc/attachment-0009.bin>


Подробная информация о списке рассылки Sisyphus