X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=scripts%2F.aglsetup_genconfig.bash;h=c4dde423d4b69c79d3ee609dc23a4d43c7a0bf66;hb=8cf8d33912f6f7944f813e2191debf546be01b3b;hp=1e6eb1ee8e91f0da925103c1cab7c4b3078bca3e;hpb=9d89e19d57fed5bee24454d2e9cb28046facf3ec;p=AGL%2Fmeta-agl.git diff --git a/scripts/.aglsetup_genconfig.bash b/scripts/.aglsetup_genconfig.bash index 1e6eb1ee8..c4dde423d 100755 --- a/scripts/.aglsetup_genconfig.bash +++ b/scripts/.aglsetup_genconfig.bash @@ -51,11 +51,11 @@ function debug() { [[ $DEBUG == 1 ]] && echo "DEBUG: $@" >&2; return 0;} info "------------ $SCRIPT: Starting" #compute AGL_REPOSITORIES -AGL_REPOSITORIES=$(for x in $(ls -d $METADIR/*/templates/{machine,feature}); do echo $(basename $(dirname $(dirname $x))); done | sort -u) +AGL_REPOSITORIES=$(for x in $(ls -d $METADIR/meta-ag*/templates/{machine,feature} $METADIR/bsp/*/templates/machine); do echo $(basename $(dirname $(dirname $x))); done | sort -u) function list_machines() { - for x in $@; do - for y in $(ls -d $METADIR/$x/templates/machine/* 2>/dev/null); do + for a in $@; do + for y in $(ls -d $METADIR/{.,bsp}/$a/templates/machine/* 2>/dev/null); do echo $(basename $y) done done @@ -78,7 +78,7 @@ function validate_machines() { list_all_machines | sort | uniq -c | while read cnt machine; do [[ $cnt == 1 ]] && continue info "Machine $machine found in the following repositories:" - for x in $(ls -d $METADIR/*/templates/machine/$machine); do + for x in $(ls -d $METADIR/*/templates/machine/$machine $METADIR/bsp/*/templates/machine/$machine ); do info " - $x" done error "Multiple machine templates are not allowed" @@ -104,7 +104,7 @@ function validate_features() { list_all_features | sort | uniq -c | while read cnt feature; do [[ $cnt == 1 ]] && continue; info "Feature $feature found in the following repositories:" - for x in $(ls -d $METADIR/*/templates/feature/$feature); do + for x in $(ls -d $METADIR/*/templates/feature/$feature ); do info " - $x" done error "Multiple feature templates are not allowed" @@ -115,8 +115,10 @@ function validate_features() { function find_machine_dir() { machine=$1 for x in $AGL_REPOSITORIES; do - dir=$METADIR/$x/templates/machine/$machine - [[ -d $dir ]] && { echo $dir; return 0; } + dirs=$(ls -d $METADIR/{.,bsp}/$x/templates/machine/$machine) + for dir in $dirs; do + [[ -d $dir ]] && { echo $dir; return 0; } + done done return 1 } @@ -302,6 +304,8 @@ BUILDDIR=$DEFAULT_BUILDDIR SETUPSCRIPT= FORCE= RPMREVISION= +SETUP_MANIFEST=aglsetup.manifest + while true; do case "$1" in -m|--machine) MACHINE=$2; shift 2;; @@ -371,11 +375,11 @@ function genconfig() { # step 1: run usual OE setup to generate conf dir export TEMPLATECONF=$(cd $SCRIPTDIR/../templates/base && pwd -P) debug "running oe-init-build-env with TEMPLATECONF=$TEMPLATECONF" - info " Running $METADIR/poky/oe-init-build-env" + info " Running $METADIR/external/poky/oe-init-build-env" info " Templates dir: $TEMPLATECONF" CURDIR=$(pwd -P) - . $METADIR/poky/oe-init-build-env $BUILDDIR >/dev/null + . $METADIR/external/poky/oe-init-build-env $BUILDDIR >/dev/null cd $CURDIR # step 2: concatenate other remaining fragments coming from base @@ -407,6 +411,12 @@ function genconfig() { append_fragment $BUILDDIR/conf/local.conf $file verbose " + $file" done + # special fragment to call distro-manifest-generator.sh from + # meta-agl-profile-core/recipes-core/distro-build-manifest/distro-build-manifest.bb + append_fragment $BUILDDIR/conf/local.conf /dev/stdin "# generated by $(realpath $BASH_SOURCE)" <<-EOF + DISTRO_SETUP_MANIFEST = "$(realpath -Ls $BUILDDIR)/$SETUP_MANIFEST" + DISTRO_MANIFEST_GENERATOR = "$(dirname $(realpath $BASH_SOURCE))/distro-manifest-generator.sh" + EOF FRAGMENTS_SETUP=$(sed 's/ /\n/g' <<<$FRAGMENTS_SETUP | sort) debug "setup fragments: $FRAGMENTS_SETUP" @@ -470,8 +480,6 @@ fi ####### step 2: generate aglsetup.manifest ####### -SETUP_MANIFEST=aglsetup.manifest - infon "Generating setup manifest: $BUILDDIR/$SETUP_MANIFEST ... " for x in /etc/os-release /usr/lib/os-release; do [[ -f $x ]] && . $x @@ -511,19 +519,13 @@ info "OK" infon "Generating setup file: $BUILDDIR/agl-init-build-env ... " cat <$BUILDDIR/agl-init-build-env -. $METADIR/poky/oe-init-build-env $BUILDDIR +. $METADIR/external/poky/oe-init-build-env $BUILDDIR if [ -n "\$DL_DIR" ]; then BB_ENV_EXTRAWHITE="\$BB_ENV_EXTRAWHITE DL_DIR" fi if [ -n "\$SSTATE_DIR" ]; then BB_ENV_EXTRAWHITE="\$BB_ENV_EXTRAWHITE SSTATE_DIR" fi - -# build manifest generator used in distro-build-manifest.bb -BB_ENV_EXTRAWHITE="\$BB_ENV_EXTRAWHITE DISTRO_SETUP_MANIFEST DISTRO_MANIFEST_GENERATOR" -export DISTRO_SETUP_MANIFEST=$(realpath -Ls $BUILDDIR)/$SETUP_MANIFEST -export DISTRO_MANIFEST_GENERATOR=$(dirname $(realpath $BASH_SOURCE))/distro-manifest-generator.sh - export BB_ENV_EXTRAWHITE unset TEMPLATECONF EOF