[devel] Package noarch && arch subpackage

Alexey Tourbin at на altlinux.ru
Ср Янв 26 19:11:04 UTC 2011


On Wed, Jan 26, 2011 at 08:58:49PM +0300, Rinat Bikov wrote:
> Здравствуйте!
> А можно у нас при помощи rpm как-нибудь сделать так, чтобы основной
> пакет был noarch, а подпакет - arch?

Нет, пока нельзя (и в других версиях rpm тоже нельзя).  Одна из проблем -
rpm перезагружает макросы, когда встречает таг BuildArch в основном пакете
(для "BuildAarch: noarch" загружается /usr/lib/rpm/noarch-alt-linux/macros).

Другая проблема - это, по сути, придумать обозначение, как указать, что
основной пакет нужно сделать noarch, но не загружать noarch макросы,
а остальные пакеты оставить arch.

Виктор force@ предлагал когда-то сделать новый таг в спекфайле (TargetArch).
Сейчас мне пришла в голову мысль: может, лучше использовать перегрузку
операторов, как в языке Си+плюс?  Тогда можно будет записать, например,
"BuildArch(pre): noarch", и это будет как раз означать, что только основной
подпакет нужно сделать noarch.  Или ещё лучше: "BuildArch(ru_RU): noarch".
Это тогда будет значить, что только Русская национальная операционная
сисьтема полностью поддерживает noarch подпакеты.

К сожалению, в обоих случаях (новый таг или перегрузка операторов)
старый rpm не сможет даже распарсить спекфайл с новой конструкцией.

> Вот здесь: http://www.altlinux.org/Spec#BuildArch сказано, что
> указание архитектуры влияет на все подпакеты, а в подпакетах может
> быть указано только noarch в качестве архитектуры.
> А что делать, если у меня основной пакет noarch, а подпакет -
> архитектурно-зависимый? :)
> Неужели разделять на 2 независимых пакета с различными spec'ами?
> 
> -- 
> С уважением, Ринат Биков.


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