X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?p=AGL%2Fmeta-agl.git;a=blobdiff_plain;f=scripts%2Fenvsetup.sh;h=6be4d38e1a1c337e5cc66f3291e949bf729e733f;hp=c445a80d00df0f657269a83744649aea9fddb492;hb=a507d328e4216858026682fbc7c97246a38bdb20;hpb=830bc3ca3237188a13c7366334ee9d0e7e4797cf diff --git a/scripts/envsetup.sh b/scripts/envsetup.sh index c445a80d0..6be4d38e1 100644 --- a/scripts/envsetup.sh +++ b/scripts/envsetup.sh @@ -1,5 +1,87 @@ #!/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 @@ -8,6 +90,8 @@ fi MACHINE="$1" echo "MACHINE=$MACHINE" +EULA_ACCEPT=0 + case "$MACHINE" in "porter") # setup proprietary gfx drivers and multimedia packages @@ -55,6 +139,9 @@ case "$MACHINE" in ;; "wandboard") ;; + "dragonboard-410c") + find_and_ack_eula meta-qcom + ;; *) # nothing to do here echo "WARN: '$MACHINE' is not tested by AGL Distro" @@ -109,3 +196,13 @@ fi export BB_ENV_EXTRAWHITE 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