[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