[devel] sandman на cvs.altlinux.org

Alexander Bokovoy =?iso-8859-1?q?a=2Ebokovoy_=CE=C1_sam-solutions=2Enet?=
Вт Авг 5 21:49:38 MSD 2003


On Tue, Aug 05, 2003 at 09:33:26PM +0400, Dmitry V. Levin wrote:
> > 3) Возможность получения любой из хранящихся версий пакета с
> >    максимальным уровнем грануляции (пакет целиком, некоторый набор
> >    исходных файлов, spec-файл).
> 
> Пользователи также хотят иметь возможность получения diff'а между версиями
> (пакета целиком, некоторого набора исходных файлов, spec-файла).
Это в будущем, я специально об этом не упоминал с точки зрения
разработчиков.

> > осмысленным использовать некоторую внешнию схему версионирования
> > бинарных объектов в пакетах RPM, управляемую посредством
> > контролируемых в SCM текстовых объектов пакета. Если обратиться к
> > содержимому любого исходного пакета RPM, то можно увидеть, что только
> > один текстовый объект в нем представляет достаточно информации для
> > контроля всех остальных -- текстовых и бинарных -- объектов пакета и
> > этим контролирующим объектом является spec-файл.
> 
> Это не всегда так.
> Зачастую среди множества исходных файлов данного пакета есть и вполне
> плоские текстовые файлы.
Увы, формализовать структуру для них в общем случае нельзя. Также,
ведение их в SCM требует наличия функциональности changesets, что
неосуществимо для CVS, хотя и есть в Subversion/Aegis, которые обладают
другими существенными недостатками.

> >    Согласитесь, что, например, иметь пакет openldap и spec-файл для
> >    него под именем openldap-2.1.21.spec несколько неосмысленно -- как
> >    должен будет называться spec-файл в случае увеличения версии
> >    пакета?
> > 
> >    Отбрасывание расширения .spec также необходимо для упрощения логики
> >    реализации хранилища.
> 
> Это ограничение несовместимо с нынешним Сизифом.
В каком месте? При сборке Sandman формирование src.rpm и бинарных пакетов
происходит автоматически, Sandman сам добавляет .spec при копировании
spec-файла в build chroot.

При использовании hasher в любом случае предполагается первичная генерация
src.rpm посредством промежуточного скрипта, который может сделать все ту
же работу по приклеиванию .spec. Не вижу, каким образом это несовместимо с
нынешним Сизифом.

> >    Все эти команды позволяют общаться с хранилищем в режиме "только
> >    для чтения". Из нерассмотренных выше, команда sandcl querynames
> >    выводит список имеющихся в хранилище пакетов, а sandcl query
> >    позвращает граф-описание зависимостей указанного пакета в формате
> >    GraphViz dot.
> 
> Всё-таки без поддержки полноценных diff'ов usability сужается, особенно
> для пользователей с тонким каналом.
Diff относительно чего? Двух конкретных версий одного и того же исходника
(если тот определяется как text/plain по мнению file)? Это легко
добавляется, никаких проблем.

> >    имеется всегда актуальное состояние репозитария и сохраняется
> >    история изменений. В частности, это позволит несколько ослабить
> >    требование несобирания новых версий в updates, поскольку контроль
> >    как зависимостей, так и версий будет значительно проще.
> 
> Необходимо также узнать, какие ресурсы требуются для установки sandman'а в
> описанном выше виде (можно offlist).
Вычислительные ресурсы: минимум, если не используется сборка

Дисковый ресурс: однократно -- развернутый Сизиф в исходниках (3.3Гб),
далее -- по нарастающей, плюс место для референтной системы, на которой
вычисляется корректность spec-файла (150-500Мб). Думаю, что 40-60Гб диска
нам хватит надолго, поскольку наиболее дискоемкая функциональность
sandman-а (генерация ISO-образов дистрибутивов) не используется.

-- 
/ Alexander Bokovoy
---
the curls in your keyboard cord are losing electricity.



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