Handling architecture limitations

Stephen Gallagher sgallagh at redhat.com
Tue Jun 18 18:28:57 UTC 2013


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 05/29/2013 09:55 PM, T.C. Hollingsworth wrote:
> On Wed, May 29, 2013 at 5:19 AM, Stephen Gallagher
> <sgallagh at redhat.com> wrote:
>> FYI, Panu has added the patch to redhat-rpm-config and pushed a
>> Bodhi update to testing: 
>> https://admin.fedoraproject.org/updates/redhat-rpm-config-9.1.0-45.fc19
>>
>>
>> 
Please add the %nodejs_arches to the ExclusiveArch line in your
>> nodejs-* packages and rebuild against them locally with this
>> package and give karma. I can also tag it into a buildroot
>> override if we want to start rebuilding all of the official
>> nodejs packages.
> 
> Okay, so this doesn't seem to work with noarch packages:
> 
> [tc at zathras]~/fedpkg/npm/nodejs-ini% grep -e ExclusiveArch -e 
> BuildArch nodejs-ini.spec BuildArch:  noarch ExclusiveArch:
> %{nodejs_arches} [tc at zathras]~/fedpkg/npm/nodejs-ini% fedpkg local 
> error: Architecture is not included: noarch
> 
> 
> Could not execute local: Non zero exit
> 

Sorry for the long turnaround on this, but I had a long conversation
with Dennis Gilmore, Toshio Kuratomi, Kevin Fenzi and Bill Nottingham
about this today and we figured out the correct approach.

So with noarch packages, we will want to do:

BuildArch: noarch
ExclusiveArch: %{nodejs_arches} noarch


This will yield the correct result (building it noarch and only
putting it in the %{nodejs_arches} repositories. (Confirmed by Dennis
Gilmore; this is how the Intel WiFi firmware does things too).


For archful builds we can leave off BuildArch and just use:
ExclusiveArch: %{nodejs_arches}



Obviously, this will only work on F19 and later. For Fedora 18 and
EPEL 6, we need to do:

BuildArch: noarch
ExclusiveArch: %{ix86} %{arm} x86_64 noarch

and

ExclusiveArch: %{ix86} %{arm} x86_64

respectively.



This can also work:
%{?nodejs_arches: ExclusiveArch: %{nodejs_arches}}%{!nodejs_arches:
ExclusiveArch: %{ix86} x86_64 %{arm}}

But it's ugly, and I'd recommend just splitting the package RPMs
between branches to keep each branch simpler to understand.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.13 (GNU/Linux)
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/

iEYEARECAAYFAlHApukACgkQeiVVYja6o6MCXgCfSPwXDuw66WeB50X5NOfWBIy7
BgUAnR3hnMt7vpL1jdnoIQHfwikTNcBt
=YiB1
-----END PGP SIGNATURE-----


More information about the nodejs mailing list