[Fedora-packaging] arched BuildRequires?

Mattias Ellert mattias.ellert at fysast.uu.se
Fri Jun 14 02:42:06 UTC 2013


fre 2013-06-14 klockan 01:14 +0300 skrev Susi Lehtola:
> On Thu, 13 Jun 2013 22:49:11 +0200
> Mattias Ellert <mattias.ellert at fysast.uu.se> wrote:
> > tor 2013-06-13 klockan 11:53 -0700 skrev Toshio Kuratomi:
> > 
> > > The FPC discussed this today and added a prohibition to using
> > > %{_isa} in BuildRequires to the Guidelines:
> > 
> > Please reconsider this. A specfile without isa in BuildRequires is
> > broken for exactly the same reason a binary rpm without isa in
> > Requires is broken. Not all packages the provide the BR are suitable
> > to fulfil it for the purpose of providing the resources necessary for
> > doing the build.
> 
> The difference is that BuildRequires are only relevant on the build
> system, where the correct architecture will be pulled in by the
> BuildRequire. Remember, the build environment is prepped separately for
> each build.

I disagree with this. The BuildRequires are relevant for users wanting
to rebuild packages on their own machines. Without isa this is severely
broken.

> Also, as is noted in the guidelines
> https://fedoraproject.org/wiki/Packaging:Guidelines#BuildRequires_and_.25.7B_isa.7D
> if you use %_isa in the BuildRequires, then e.g. a srpm built on x86_64
> won't work on i386.

This "won't work" is an exaggeration. There are a few glitches in some
cases, but these are minor compared to the problems you get by not
having proper BRs by not using isa.

> For binary RPMs the situation is very different - you can't assume
> anything about the state of the system. %_isa is needed for the case
> where the system already has, say libfoo(x86-32) installed, and then
> you install foo(x86-64) that dlopens libfoo. You need the %_isa in the
> binary rpm requires to make sure that the compatible library gets
> installed, although the libfoo package already is present on the system.

You can not make assumptions about what packages a user has installed on
the system where packages are built. Users rebuild packages on the same
systems as they install binary packages - the same issues arise.

> On Thu, 13 Jun 2013 22:44:53 +0200
> Mattias Ellert <mattias.ellert at fysast.uu.se> wrote:
> > It is VERY EASY to construct such an example.
> > 
> > Consider a package containing the following BRs:
> 
> ... which is the same case as here.

This new guideline is backwards. In order to avoid a few tiny glitches
caused by rpmbuild doing something weird, you are forcing everyone to
write severely broken spec files.

	Mattias

-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/x-pkcs7-signature
Size: 4575 bytes
Desc: not available
URL: <http://lists.fedoraproject.org/pipermail/packaging/attachments/20130614/3ca5d15a/attachment-0001.bin>


More information about the packaging mailing list