[sisyphus] Re: Sisyphus - альфа, бета, гамма

Денис Смирнов =?iso-8859-1?q?mithraen_=CE=C1_freesource=2Einfo?=
Вс Фев 1 02:26:32 MSK 2004


On Sat, Jan 31, 2004 at 09:23:24PM +0200, Alexander Bokovoy wrote:

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

Более-менее ясно.
 
 > >  > Про функциональность нужно отдельно думать.  Например, нужно
 > >  > раскладывать изменения в пакетах на составляющие и группировать.
 > >  > Тогда переход с lib%name.so.1 на lib%name.so.2 будет выражаться в
 > >  > версиях {package1alt1->package1alt2,package2alt1->package2alt2,...}.
 > >  > Соответственно, можно принимать решение, что некоторый репозитарий
 > >  > переводится на новую версию библиотеки.
 > >  > Проблема в том, что при последовательном развитии пакета сложно
 > >  > (полу)автоматически выделять составляющие.  unified diff для этого не
 > >  > подходит.
 > > Для этого нужно нечто вроде cvs с небольшими добавками.
 > Нет. Количество поправок семантического характера существенно выходит за
 > рамки возможностей, предоставляемых стандартными системами
 > версионирования.

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

Например сейчас развитие Сизифа останавливается несколькими вещами:

1. Невозможность тестировать его на широком круге пользовтелям, которым
требуется хотя бы одно из:
  - непротиворечивость репозитария;
  - отсутствие резких изменений (ломающих нечто уже работающее) без
    внятного описание в документации к пакету и без обработки большинства
    таких ситуаций в postin скриптах (это я всё о примерах вроде su и
    control, например);
  - возможность делать apt-get dist-upgrade -y без опаски потери
    работоспособности машины (т.е. она после этого _должна_ загрузиться, и
    после этого _должна_ быть возможность исправить какую-либо возникшую
    проблему);

2. Невозможность для многих его скачивать, ибо траффик... Т.е. нехватает
возможности автоматически обновить по cvs из репозитария и собрать из
этого обновления необходимые пакеты. Что-то вроде cvsup хочется.

3. Отсутствие полноценного документирования нововведений. Где описание
последних изменений с librpm и apt-get? могу я попросить ссылчку на него?
К сожалению, могу лишь попросить, получить, в лучшем случае, ссылки на
отдельные письма в sisyphus@, но даже wiki нету.

4. Отсутствие документации по hasher и sandman, в связи с чем пользуются
им немногие. Опять же жаль.

5. Отсутствие какого-либо общедоступного плана по развитию. Мог ли я за
месяц знать о том, что в этом месяце мне предстоит получить удовольствие
от слетевших зависимостей у апача? А ведь, на самом деле, вполне можно
группу таких глобальных изменений (обновления glibc, основного ядра,
librpm, apt-get, иксов, и ещё несколько таких же) сделать _одновременно_,
сделав форк сизифа на этот период (и в этом форке и проделав всю эту
чехарду). Для таких глобальных изменений это реально, да и крайне полезно
перед выходом нового Мастера.

Конкретно хранение в cvs даст возможность:
  - видеть все патчи и их обоснования (_зачем_ этот патч был сделан);
  - быстро обновляться (размер обновлений уменьшился бы в разы);
  - увеличить количество людей просматривающих изменения и тестирующих
    пакеты (за счёт облегчения получения информации о каждом обновлении);

Сегодня, когда я делаю apt-get upgrade я не знаю что изменилось в пакете и
почему. И я также не знаю насколько опасно для меня это обновление. Если я
сделаю cvs diff, или, хотя бы, посмотрю какие патчи прикладывались, я
смогу оценить важность, полезность и безопасность обновления. Сейчас я
могу исключительно либо доверять мантейнеру, либо не доверять. А я хоть и
доверчивое существо, но знаю что люди имеют свойства ошибаться, а получать
геморрой из-за чужих ошибок я не люблю больше чем из-за своих, ибо
исправить их не могу.

-- 
С уважением, Денис

http://freesource.info




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