[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