[devel] Q: package repository
Alexander Bokovoy
=?iso-8859-1?q?ab_=CE=C1_avilink=2Enet?=
Вт Окт 24 18:33:14 MSD 2000
"Dmitry V. Levin" wrote:
>
> Greetings!
>
> Первоначально я планировал разработать этот вопрос самаму, несколько
> позднее - разработать и обсудить здесь, однако так сложилось, что времени
> сосредоточиться на решении этого вопроса у меня нет, а решать его надо.
>
> Итак, при наличии двух и более постоянных разработчиков (в отличии от
> RE <= 7.0) для нормальной продуктивной работы требуется package
> repository. Основные требования, предъявляемые к subj, таковы:
>
> + Revision Control:
> Единица модульности - пакет.
> Хранится более одного релиза (каждого пакета), changelog к каждому
> релизу, и т.д (как в RCS, CVS, etc.)
> + Минимальный траффик:
> Требуется в максимальной степени избежать издишнюю перекачку
> многомегабайтных "pristine sources" туда-сюда при commit'ах и
> checkout'ах, в предположении, что package repository server расположен
> на быстром канале, в отличие от разработчика.
> + Возможность сопряжения с подсистемами автоматической сборки и
> автоматического обновления "pristine sources" (этих подсистем пока нет).
>
> Что будет единицей хранения (файл, архив файлов, etc.), зависит от
> реализации.
>
> Жду Ваших идей.
Предлагаю как вариант следующую систему:
1. Репозитарий разбивается на две части -- оригинальные исходные тексты и наши патчи.
Первые хранятся в виде отдельных каталогов с оригинальными tar.bz2 (tar.gz) и
обновляются при обновлении версии продукта. Вторые находятся в CVS, где каждый модуль
совпадает по имени с каталогом в первой части.
2. Каждый приходящий патч при commit проверяется на наличие в имени наиболее
распространенных окончаний сжатых файлов (.gz, .bz2, .tar.они-же, другие варианты),
раскручивается и выполняется diff с последней версией в репозитарии (которая тоже
раскручивается перед сравнением). Таким образом, фактически, подменяется способ
хранения пакетов в CVS: CVS ведет diff-ы между патчами для бинарных исправлений и
ведет историю обычных файлов (например, SPECS) как обычно.
3. Вторая часть репозитария представляет собой фактически содержимое nosrc.rpm.
--
Sincerely yours, Alexander Bokovoy
The Midgard Project | www.midgard-project.org | Aurora R&D team
Minsk Linux Users Group | www.minsk-lug.net | www.aurora-linux.com
IPLabs Linux Team | linux.iplabs.ru | Architecte Open Source
-- With clothes the new are best, with friends the old are best.
_______________________________________________
Devel mailing list
Devel на linux.iplabs.ru
http://www.logic.ru/mailman/listinfo/devel
Подробная информация о списке рассылки Devel