Adding support for systemd-boot (or ex-gummyboot) on top of grub
[AGL/meta-agl.git] / scripts / .aglsetup_genconfig.bash
index 57a31e2..e73facd 100755 (executable)
@@ -5,6 +5,7 @@
 # The MIT License (MIT)
 #
 # Copyright (c) 2016 Stéphane Desneux <sdx@iot.bzh>
+#           (c) 2016 Jan-Simon Möller <jsmoeller@linuxfoundation.org>
 #
 # Permission is hereby granted, free of charge, to any person obtaining a copy
 # of this software and associated documentation files (the "Software"), to deal
@@ -287,6 +288,14 @@ find_machine_dir $MACHINE >/dev/null || error "Machine '$MACHINE' not found in [
 debug "validating features list"
 validate_features
 
+if $(echo "$FEATURES" | grep -q 'agl-all-features' 2>&1 ) ; then
+    featuredir=$(find_feature_dir agl-all-features)
+    tmpfeatures="$FEATURES $(cat $featuredir/included.inc)"
+    tmpfeatures_uniq="$(echo $tmpfeatures | sed -e 's/agl-all-features//g' -e 's/  / /g' | sort -u )"
+    export FEATURES=$tmpfeatures_uniq
+    echo "Features used: $FEATURES"
+fi
+
 # validate the features
 for f in $FEATURES; do
        debug "validating feature $f"
@@ -373,17 +382,17 @@ EOF
        append_fragment $BUILDDIR/conf/setup.sh "" "echo '--- end of setup script'"
 
        infon "   Executing setup script ... "
-       execute_setup $BUILDDIR/conf/setup.sh 2>&1 | tee $BUILDDIR/conf/setup.log \
-               && { 
-                       info "OK"
-                       [[ $VERBOSE == 1 ]] && dump_log $BUILDDIR/conf/setup.log
-                       rm $BUILDDIR/conf/setup.sh
-               } \
-               || { 
-                       info "FAIL: please check $BUILDDIR/conf/setup.log"
-                       dump_log $BUILDDIR/conf/setup.log
-                       return 1
-               }
+       execute_setup $BUILDDIR/conf/setup.sh 2>&1 | tee $BUILDDIR/conf/setup.log
+       [[ ${PIPESTATUS[0]} == 0 ]] && {
+               info "OK"
+               [[ $VERBOSE == 1 ]] && dump_log $BUILDDIR/conf/setup.log
+               rm $BUILDDIR/conf/setup.sh
+       } \
+       || {
+               info "FAIL: please check $BUILDDIR/conf/setup.log"
+               dump_log $BUILDDIR/conf/setup.log
+               return 1
+       }
        # NOTE: the setup.sh script is removed if execution succeeded (only the log remains)
 }