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