[devel] noarch подпакеты и неосновные архитектуры

Alexey Tourbin =?iso-8859-1?q?at_=CE=C1_altlinux=2Eru?=
Ср Июл 2 00:05:59 MSD 2008


On Tue, Jul 01, 2008 at 10:41:37PM +0300, Kirill A. Shutemov wrote:
> > Хорошо бы.  Это ограничение модели данных.  При компоновке $arch+noarch
> > в репозитарии не должно быть дупов с точностью до имени пакетов, иначе
> > мы не сможем адекватно описать такой репозитарий.  Например, если для
> > описания модели используются подкаталог (по имени пакетов), то при дупах
> > на один каталог приходится два или более пакета, получается пшик.
> 
> Я, наверно, что-то не понимаю. При компановке arch+noarch не должно
> получатся дупов по именам пакетов? Тогда при чём тут noarch подпакеты. Это
> условие и без них слабо выполнимо при введении нового порта.

Не должно получаться дупов по именам cобранных пакетов.
При формировании сизифа это условие сейчас выполняется.

Контрпример -- `./aptbox/apt-cache showpkg $pkg' показывает две версии.
Сделайте 'hsh --no-stuff --initroot' и поищите там дупы.  Их нет (или,
во всяком случае, не должно быть, и к этому приложены определённые усилия).

> И вообще, Алексей, не могли бы вы огласить предпологаемую структуру этой
> модели данных, чтобы можно было говорить более предметно.

"Точкой входа" является имя src.rpm пакета.  Он должен собраться как минимум
на двух основных архитектурах.  Тогда он замещает старый src.rpm пакет
с таким же именем со всеми его подпакетами.  Если пакет не собрался на
дополнительных архитектурах (типа arm), то для них остаётся старая
версия src.rpm пакета со всеми его подпакетами.  Но, однако, если
src.rpm пакет имеет noarch подпакеты, то замещение без дупов невозможно.

Структура каталогов в метарепозитарии:
gcc4.1/rpms/i586/gcc4.1/
gcc4.1/rpms/i586/gcc4.1-c++/
gcc4.1/rpms/x86_64/gcc4.1/
gcc4.1/rpms/x86_64/gcc4.1-c++/
gcc4.1/rpms/arm/gcc4.1/
gcc4.1/rpms/arm/gcc4.1-c++/
gcc4.1/rpms/noarch/gcc4.1-doc/

Если бы у пакета gcc4.1 не было noarch подпакета, то можно было
бы допустить контролируемую рассинхронизацию:
gcc4.1/rpms/i586/ -- собралась новая версия;
gcc4.1/rpms/x86_64/ -- собралася новая версия;
gcc4.1/rpms/arm/ -- осталась старая версия.

Но с появлением каталога
gcc4.1/rpms/noarch/
контролируемая рассинхронизация становится невозможной.
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип     : application/pgp-signature
Размер  : 197 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url     : <http://lists.altlinux.org/pipermail/devel/attachments/20080702/c8a7aa69/attachment-0002.bin>


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