[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