diff --git a/Build/ProductCompose.pm b/Build/ProductCompose.pm index 241f42d9..807aedec 100644 --- a/Build/ProductCompose.pm +++ b/Build/ProductCompose.pm @@ -129,14 +129,19 @@ sub parse { # Do we need source or debug packages? $ret->{'sourcemedium'} = 1 unless ($data->{'source'} || '') eq 'drop'; $ret->{'debugmedium'} = 1 unless ($data->{'debug'} || '') eq 'drop'; + + $ret->{'baseiso'} = $data->{'iso'}->{'base'} if $data->{'iso'} && $data->{'iso'}->{'base'}; + my @architectures = @{$data->{'architectures'} || []}; if ($data->{'flavors'}) { if ($cf->{'buildflavor'}) { my $f = $data->{'flavors'}->{$cf->{'buildflavor'}}; return { error => "Flavor '$cf->{'buildflavor'}' not found" } unless defined $f; @architectures = @{$f->{'architectures'} || []} if $f->{'architectures'}; + $ret->{'baseiso'} = $f->{'iso'}->{'base'} if $f->{'iso'} && $f->{'iso'}->{'base'}; } } + $ret->{'error'} = 'excluded' unless @architectures; $ret->{'exclarch'} = \@architectures if @architectures; $ret->{'bcntsynctag'} = $data->{'bcntsynctag'} if $data->{'bcntsynctag'}; diff --git a/build-recipe-productcompose b/build-recipe-productcompose index ca855278..1c477d96 100644 --- a/build-recipe-productcompose +++ b/build-recipe-productcompose @@ -58,6 +58,7 @@ recipe_build_productcompose() { echo "running product composer..." local milestone=$(productcompose_query_recipe milestone) + local baseiso=$(productcompose_query_recipe baseiso) extra_args= if test -n "$RELEASE" ; then extra_args=" $extra_args --release $RELEASE" @@ -71,7 +72,11 @@ recipe_build_productcompose() { if test -n "$BUILD_VCSURL" ; then extra_args=" $extra_args --vcs $BUILD_VCSURL" fi - chroot "$BUILD_ROOT" su -c "/usr/bin/product-composer build $extra_args -v --clean $TOPDIR/SOURCES/$RECIPEFILE $TOPDIR/PRODUCT" - abuild < /dev/null && BUILD_SUCCEEDED=true + if test -n "$baseiso"; then + BUILD_USER=root + fi + + chroot "$BUILD_ROOT" su -c "/usr/bin/product-composer build $extra_args -v --clean $TOPDIR/SOURCES/$RECIPEFILE $TOPDIR/PRODUCT" - $BUILD_USER < /dev/null && BUILD_SUCCEEDED=true pushd "$BUILD_ROOT/$TOPDIR/PRODUCT" for i in * ; do test -e "$i" || continue