[sisyphus] Re: [POLICY] Sisyphus

Michael Shigorin =?iso-8859-1?q?mike_=CE=C1_osdn=2Eorg=2Eua?=
Вт Янв 27 18:44:00 MSK 2004


On Tue, Jan 27, 2004 at 03:23:40PM +0300, info wrote:
> Такая схема - это как карта местности. Без нее представление о
> структуре сизифа достаточно туманное, на уровне либо подкорки и
> интуиции (у тех, кто глубоко в теме), либо ёжика в тумане - у
> всех остальных.

:-]

(здесь вспомнилась еще одна мысль -- про кластеры пакетов,
обладающих сходной функциональностью -- нечто вроде debian tasks
и прочих recommends/suggests, только на это можно было навесить
категоризированные веса -- ресурсоемкость, уровень пользователя,
...)

Стоп.

Карта местности нужна для хождения по ней, а не подъезда к.

Я в данном случае ("v0.1") воспринимаю Sisyphus/ как нечто в
достаточной степени целостное и воспринимаемое как один объект,
чтобы сфокусироваться на "таможенной полосе" -- этом самом
гипотетическом dot-incoming.

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

Понятно, что при более глубокой отработке "таможенных процедур"
(факторов, влияющих на переход пакета из .incoming в какой
.contrib или .base) это приближение не работает и надо смотреть,
а на каком основании пакету A надо попасть в .base завтра, а вот
libB -- полежать до конца своей недели.

---

Попробую привести пример.

Сейчас:

* некий mike залил apache;
* на следующий день оказалось, что в classic изменился apt и
  теперь механизм учета неверсионированных зависимостей,
  неверсионированно же удовлетворяемых в рамках репозитория
  виртуальными пакетами, также изменился (вообще говоря, это
  платформообразующее изменение -- то, что стоит упоминания
  отдельной строкой в "По Граблям и Затем Обратно");
* некий mike откатил старый хак и опять залил apache;
* на следующий день выяснилось, что представления о
  версионировании у rpm и perl не совпадают, причем каждый
  по-своему прав; в итоге проблема углубилась, а dist-upgrade
  пользователям mod_perl остается сломанным минимум третьи, а то
  и четвертые сутки.


При добавлении .incoming:

* некий mike залил apache;
* на следующий день оказалось, что в рамках classic+incoming
  apache-mod_perl сломан вышеуказанным образом;
* [...выясняем, в чем дело...];
* залита Правильная Сборка;
* пролежав там свои N суток (неделю) и не обновившись, эта сборка
  перемещается скриптом в свой .contrib или куда положено; при
  этом пользователи нормального .classic этой бури в стакане не
  ощутили.

Здесь около слов "оказалось" и "выясняем" можно сразу дописывать
"поднимаем исключение <<ИЗМЕНА!!>>".


В идеале (tm) -- включает предыдущий пункт :) --

* майнтейнер apt объявил об изменении, которое задевает пакеты,
  подпадающее под такие-то условия ("Provides: A" или "Requires: A"
  без указания версии); как вариант -- это было обнаружено уже
  postfactum _в_рамках_.incoming;
* объявляется "точка перегиба", которая характеризуется:
  - описанием происхождения и необходимости (последнее -- при
    известности заранее) -- "начиная с apt-0.5.15cnc5-alt3, ...";
  - тестом для проверки ее влияния на пакет ("$ .... .spec");
  - типичным рецептом для типично ожидаемых проблем ("добавить
    версию туда и сюда");
* обнаружив, что эта точка задевает пакет apache, mike по крайней
  мере не будет трепыхаться с лишней сборкой/залитием до тех пор,
  пока не синхронизируется с Sisyphus/incoming+classic _после_
  этой точки, а по обновлении будет иметь представление о
  проблеме и способе решения;
* после того, как это решение зафиксировано в пакете -- оно
  попадает в .incoming, где лежит (исходя из того, что apache --
  пакет важный, судя тому, что живет в .master, им пользуется 14%
  пользователей Sisyphus, от него зависят 16 пакетов, etc, etc)
  -- M1 дней, пусть трое суток.
* после чего пакет apache-<версия>.alt<сборка>.src.rpm и его
  бинарное потомство переселяются в компоненту master при
  отсутствии новых точек перегиба, влияющих на них.

---

Здесь вырисовывается еще пара тонких моментов, о которых
вроде уже и говорилось:

* конкретно apache-mod_perl наступил сразу на несколько слегка
  разнесенных во времени ТП за последний месяц -- см. "сейчас".
  
  При этом выдвигалось предложение, что такие платформообразующие
  моменты может быть осмысленно группировать или по крайней мере
  стараться локализовать во времени.
  
  - pro: если несколько изменений затрагивают определенную группу
    пакетов, количество необходимых пересборок уменьшится;
  
  - contra: не получается атомарности (в т.ч. отката), надо
    гораздо координированнее производить обновление пакетов,
    приводящих к появлению новой "точки".

  Кстати, "большой" ТП в "стабильном стане" является не что иное,
  как выпуск дистрибутива.

* "src.rpm и потомство": несмотря на то, что проблема может
  касаться одного или нескольких производных от исходного
  бинарных пакетов, перемещаются или остаются они "одной семьей".

* "при отсутствии новых точек": на этом месте упираемся в
  автоматические тесты.

---

[а здесь я вспомнил, что у мамы юбилей -- и пошел домой]
[эх -- опять из контекста дважды за время написания вырвали :( ]

> Вообще-то, это называется не research, а - в программно-целевом
> планировании - "постановка задачи". Этап совершенно необходимый
> в любом проекте, но, увы, часто забываемый
> программистами-практиками, которые - не хочу никого обидеть,
> но, увы, такое бывает - порой действуют безо всяких там
> постановок задачи, а по принципу "О! А не сделать ли нам вот
> так???":-))

А я вообще не программист. :-]

-- 
 ---- WBR, Michael Shigorin <mike на altlinux.ru>
  ------ Linux.Kiev http://www.linux.kiev.ua/
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : =?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/20040127/f36b03e5/attachment-0009.bin>


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