From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Date: Wed, 26 Jan 2011 22:11:04 +0300 From: Alexey Tourbin To: ALT Linux Team development discussions Message-ID: <20110126191104.GB19971@altlinux.org> References: Mime-Version: 1.0 Content-Type: text/plain; charset=koi8-r Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: Subject: Re: [devel] Package noarch && arch subpackage X-BeenThere: devel@lists.altlinux.org X-Mailman-Version: 2.1.12 Precedence: list Reply-To: ALT Linux Team development discussions List-Id: ALT Linux Team development discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 26 Jan 2011 19:11:05 -0000 Archived-At: List-Archive: List-Post: 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'ами? > > -- > С уважением, Ринат Биков.