[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