From: Adrian Schröter Date: Wed, 2 Dec 2009 13:58:36 +0000 (+0000) Subject: detect required architectures for product building via "requiredarch" X-Git-Tag: obs_2.0~140 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=be95775fa97b235fa42bdbb0aae5e1778b623e39;p=platform%2Fupstream%2Fbuild.git detect required architectures for product building via "requiredarch" from kiwi file and use this as exclusive architectures --- diff --git a/Build/Kiwi.pm b/Build/Kiwi.pm index 4840fb0..14a2e7f 100644 --- a/Build/Kiwi.pm +++ b/Build/Kiwi.pm @@ -98,6 +98,7 @@ sub kiwiparse { my @bootrepos; my @packages; my @extrasources; + my @requiredarch; my $kiwi = parsexml($xml); die("not a kiwi config\n") unless $kiwi && $kiwi->{'image'}; $kiwi = $kiwi->{'image'}->[0]; @@ -155,6 +156,12 @@ sub kiwiparse { $ret->{'version'} = $po->{'_content'} if $po->{'name'} eq 'VERSION'; } } + if ($instsource->{'architectures'}) { + my $a = $instsource->{'architectures'}->[0] || {}; + for my $ra (@{$a->{'requiredarch'} || []}) { + push @requiredarch, $ra->{'ref'} if defined($ra->{'ref'}); + } + } } if ($preferences->{'packagemanager'}->[0]->{'_content'} eq 'smart') { @@ -192,6 +199,7 @@ sub kiwiparse { push @packages, "kiwi-packagemanager:instsource"; } + $ret->{'exclarch'} = [ unify(@requiredarch) ]; $ret->{'deps'} = [ unify(@packages) ]; $ret->{'path'} = [ unify(@repos, @bootrepos) ]; $ret->{'imagetype'} = [ unify(@types) ];