Re: arched BuildRequires?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, 28 Jan 2015 02:01:29 +0400, Konstantin Andreev wrote:

> On 14/06/2013 17:07, Michael Schwendt wrote:
> > On Fri, 14 Jun 2013 15:26:59 +0300, Panu Matilainen wrote:
> >> [... skip ...]
> >> The requires of src.rpm only reflect what build-requires were active during the creation of that specific src.rpm file, ...
> >
> > Which is nearly what I've been preaching. "The spec file's BuildRequires become the src.rpm's Requires" depending on the environment the src.rpm is built within.
> 
> Michael,
> 
> building 32-bit software on x86_64 systems is *very* important, completely legal, and fully supported use case, right ? (RedHat-provided gcc, binutils, etc for x86_64 always support 32-bit targets.)
> 
> Given that, on x86_64 system, obviously,
> 
>    * building 32-bit `foo' package requires 32-bit glibc-devel.
>    * building 64-bit `foo' package requires 64-bit glibc-devel.
> 
> Given that, how would I write a single spec for these to work on the same x86_64 system :
> 
>     $ rpmbuild --rebuild               foo.src.rpm
>     $ rpmbuild --rebuild --target i686 foo.src.rpm
> 
> without arched BR's ?

There have been several comments and explanations both in the original
thread on this list and also the FPC ticket:

  https://fedorahosted.org/fpc/ticket/303

Please read the longer reply from Panu in there.

No need to address me directly in a reply, because I'm not the decisive
force with regard to how Fedora handles this or will handle this when the
tool-chain gets changed to support this properly.

> Correct asking is
> 
>    - What this .src.rpm requires when building *for <some particular> arch* ?

It's an unfortunate start IMO, if you tell what's "wrong" and what's
"correct" without presenting an example of how you use existing src.rpms
_today_. How do you install needed build requirements? Manually based on
what rpmbuild says is missing? (You cannot run setarch i686 yum ... because
it will switch to different repos!)

So far, there is a _single_ src.rpm built on _any_ arch and made available
in a _single_ repo for all archs. Depending on where this src.rpm was
built, you would get x86-64 Requires on an i686 installation, for example.
You cannot use these Requires stored in the src.rpm _without_ rebuilding
it for the target arch. Rebuilding the src.rpm would need to become a
MUST.  You could also not repoquery source repos reliably anymore about
dependencies without adding wildcards (a sources repoquery on whatrequires
foo-devel would fail).
--
packaging mailing list
packaging@xxxxxxxxxxxxxxxxxxxxxxx
https://admin.fedoraproject.org/mailman/listinfo/packaging





[Index of Archives]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite Forum]     [KDE Users]

  Powered by Linux