[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.bin>
Подробная информация о списке рассылки Devel