On 07/09/2015 12:49 PM, Petr Pisar wrote:
On 2015-07-09, Jan Chaloupka <jchaloup@xxxxxxxxxx> wrote:
# Define arches for PA and SA
%golang_arches %{ix86} x86_64 %{arm}
[...]
Recommended use in spec file:
1) To choose the correct compiler:
%ifarch %{golang_arches}
BuildRequires: golang
%else
BuildRequires: gcc-go >= %{gccgo_min_vers}
%endif
This will not work. A source package is built on random architecture,
thus using %ifarch to define BuildRequire will provide random results.
Yes. SRPM is generated on random architecture. However spec file in
generated SRPM is untouched. Once rpm is being built correct
architectures is chosen based on BuildArch/ExclusiveArch tag. The above
piece of a code is again reevaluated. But this time %ifarch is tested
based on the chosen architecture. Thus the correct compiler is taken.
Even if the rpm is noarch, %ifarch x86_64 still works if it is built on
x86_64. %ifarch noarch is false. Or maybe koji works differently?
(And maybe while building a source package, the RPM architecture is
redefined to `noarch' value.)
-- Petr
--
devel mailing list
devel@xxxxxxxxxxxxxxxxxxxxxxx
https://admin.fedoraproject.org/mailman/listinfo/devel
Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct