RPM

Comment 4 for bug 633673

Revision history for this message
In , Panu (panu-redhat-bugs) wrote :

src.rpm headers have always been architecture specific, nothing new here. Its just that using %{_isa} in BuildRequires just makes it more visible than before.

There's nothing (well, except possible distro-specific packaging policies) stopping people from using something like (just an artificial example):
   BuildRequires: %{_libdir}/tclConfig.sh
..which would end up in src.rpm requires as /usr/lib/tclConfig.sh or /usr/lib64/
tclConfig.sh depending on which architecture the src.rpm happened to be created on. Or conditional buildrequires like
   %ifarch %{x86}
   BuildRequires: foo
   %endif

And sure, this conflicts with how people would like to (and do) distribute src.rpms.

Various options include
1) Have mock pass '--define "_isa %{nil}"' to rpmbuild when generating the src.rpm (cures the symptom in this bug but not the disease)
2) Ban arch-specific constructs in BuildRequires by packaging policy
3) Stop distributing src.rpms and point people to dist-cvs instead, this would put an end to the pretense that src.rpm's are arch-independent when they are not...