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-*/templates/{machine,feature} $METADIR/bsp/*/templates/machine 2>/dev/null); 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
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 2>/dev/null); do
info " - $x"
done
error "Multiple machine templates are not allowed"
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 2>/dev/null); do
info " - $x"
done
error "Multiple feature templates are not allowed"
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 2>/dev/null)
+ for dir in $dirs; do
+ [[ -d $dir ]] && { echo $dir; return 0; }
+ done
done
return 1
}
SETUPSCRIPT=
FORCE=
RPMREVISION=
+SETUP_MANIFEST=aglsetup.manifest
+
while true; do
case "$1" in
-m|--machine) MACHINE=$2; shift 2;;
# 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
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"
####### 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
infon "Generating setup file: $BUILDDIR/agl-init-build-env ... "
cat <<EOF >$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