[devel] noarch subpackages

Alexey Tourbin =?iso-8859-1?q?at_=CE=C1_altlinux=2Eru?=
Пт Июн 13 02:23:13 MSD 2008


Предварительно добавлена поддержка noarch subpackages в rpm
http://git.altlinux.org/people/at/packages/rpm.git?a=commitdiff;h=3ad2b101
на основе кода rpm5.org
http://rpm5.org/cvs/chngview?cn=10090
Я также просмотрел патч, который присылал Виктор Форсюк
http://lists.altlinux.org/pipermail/devel/2003-October/016024.html

Это имеет следующие особенности.

0) В подпакете можно указать "BuildArch: noarch".  Никакое другое
значение, кроме "noarch", указать нельзя.

1) Это плохо совместимо со старыми версиями rpm, в которых нет
поддержки noarch subpackages.  А именно, старый rpm сделает noarch
все подпакеты, включая основной пакет (несмотря на то, что BuildArch
указано только в подпакете).

Добиться некоторой совместимости со старым rpm можно, указав
- в основном пакете:
  BuildArch: %_target_cpu
- в noarch подпакете:
  BuildArch: noarch

Тогда старый rpm сделат все подпакеты %_target_cpu (т.е. эффект
будет примерно такой же, как если не указывать BuildArch вообще).

Я думаю, что если не возникнет непредвиденных трудностей, то поддержка
noarch subpackages будет перенесена в branch-4.0 и -4.1.  Поэтому
в дальнейшем "BuildArch: %_target_cpu" в основном пакете можно будет
не указывать.

2) Саму эту возможность следует использовать осторожно.
А именно, кандидатами на noarch подпакеты могут быть только
подпакеты с документацией или с media-like данными.  Предварительное
условие -- всё содержимое noarch подпакета должно лежать в /usr/share.
Содержательное требование -- идентичность noarch подпакетов при сборке
на любых архитектурах.

3) Дополнительное ограничение: в других подпакетах не должно быть
симлинков, которые смотрят в noarch подпакет.  Напр.
%_libdir/%name/README -> %_docdir/%name-%version/README --
всё, нельзя делать noarch подпакет, в котором лежит
%_docdir/%name-%version/README.

Иначе у пакета, в котором лежит %_libdir/%name/README, может
образоваться "полуанмет" на %_docdir/%name-%version/README.

Это ограничение связано с текущим дизайном репозитария (отдельные
$arch и noarch компоненты, при пересечении которых могут быть трудности
в разрешении файловых зависимостей).  В дальнейшем это ограничение может
быть снято.

4) Я не знаю, готов ли incoming к тому, что из одного src.rpm пакета
могут получиться как $arch, так и 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/20080613/52557dda/attachment-0002.bin>


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