X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=scripts%2Fenvsetup.sh;h=6be4d38e1a1c337e5cc66f3291e949bf729e733f;hb=a507d328e4216858026682fbc7c97246a38bdb20;hp=b30e0a66b3d6cdab763cc62e16ec396e246c0451;hpb=04b8509c8a8f77d4fe3fed8883ceda61eb69069b;p=AGL%2Fmeta-agl.git diff --git a/scripts/envsetup.sh b/scripts/envsetup.sh index b30e0a66b..6be4d38e1 100644 --- a/scripts/envsetup.sh +++ b/scripts/envsetup.sh @@ -1,12 +1,96 @@ #!/bin/bash +find_and_ack_eula() { + # Handle EULA , if needed. This is a generic method to handle BSPs + # that might (or not) come with a EULA. If a machine has a EULA, we + # assume that its corresponding layers has conf/EULA/$MACHINE file + # with the EULA text, which we will display to the user and request + # for acceptance. If accepted, the variable ACCEPT_EULA_$MACHINE is + # set to 1 in local.conf, which can later be used by the BSP. + # If the env variable EULA_$MACHINE is set it is used by default, + # without prompting the user. + # FIXME: there is a potential issue if the same $MACHINE is set in more than one layer.. but we should assert that earlier + EULA=$(find $1 -print | grep "conf/eula/$MACHINE" | grep -v scripts | grep -v openembedded-core || true) + if [ -n "$EULA" ]; then + # remove '-' since we are constructing a bash variable name here + EULA_MACHINE="EULA_$(echo $MACHINE | sed 's/-//g')" + # NOTE: indirect reference / dynamic variable + if [ -n "${!EULA_MACHINE}" ]; then + # the EULA_$MACHINE variable is set in the environment, so we just configure + # ACCEPT_EULA_$MACHINE in local.conf + EULA_ACCEPT=${!EULA_MACHINE} + else + # so we need to ask user if he/she accepts the EULA: + cat < [build dir]" return 1 fi MACHINE="$1" +echo "MACHINE=$MACHINE" +EULA_ACCEPT=0 case "$MACHINE" in "porter") @@ -33,6 +117,10 @@ case "$MACHINE" in TEMPLATECONF="$PWD/meta-renesas/meta-rcar-gen2/conf" fi ;; + "raspberrypi3") + ;; + "raspberrypi2") + ;; "intel-corei7-64") ;; "minnowboard") @@ -43,22 +131,37 @@ case "$MACHINE" in ;; "qemux86-64") ;; + "dra7xx-evm") + ;; + "vayu") + # nickname for dra7xx-evm + MACHINE="dra7xx-evm" + ;; "wandboard") ;; + "dragonboard-410c") + find_and_ack_eula meta-qcom + ;; *) # nothing to do here echo "WARN: '$MACHINE' is not tested by AGL Distro" ;; esac +echo "TEMPALTECONF=$TEMPLATECONF" # set template conf for each if [ -z "$TEMPLATECONF" ]; then + # lookup meta-agl-demo first if [ -d "$PWD/meta-agl-demo/templates/$MACHINE/conf" ]; then TEMPLATECONF="$PWD/meta-agl-demo/templates/$MACHINE/conf" + # lookup meta-agl 2nd + elif [ -d "$PWD/meta-agl/templates/$MACHINE/conf" ]; then + TEMPLATECONF="$PWD/meta-agl/templates/$MACHINE/conf" fi fi +echo "TEMPLATECONF=$TEMPLATECONF" -echo "envsetup: Set '$1 as MACHINE." +echo "envsetup: Set '$1' as MACHINE." export MACHINE # fallback @@ -77,6 +180,11 @@ else BUILD_DIR=build fi +echo "envsetup: Setup build environment for poky/oe." +echo -e + +source poky/oe-init-build-env $BUILD_DIR + if [ -n "$DL_DIR" ]; then BB_ENV_EXTRAWHITE="$BB_ENV_EXTRAWHITE DL_DIR" fi @@ -87,9 +195,14 @@ fi export BB_ENV_EXTRAWHITE -echo "envsetup: Setup build environment for poky/oe." -echo -e - -source poky/oe-init-build-env $BUILD_DIR - unset TEMPLATECONF + +case "$EULA_ACCEPT" in + 1) + echo "" >> conf/local.conf + echo "# EULA" >> conf/local.conf + echo "ACCEPT_EULA_$MACHINE = \"1\"" >> conf/local.conf + ;; + *) + ;; +esac