scripts/lib/compatlayer: detect_layers always use realpath's
PATCH v2 1/2 scripts/lib/compatlayer: detect_layers always use realpath's
If you are using relative paths and change to other folder for execution it will fail, so use realpaths always.
[YOCTO #11164]
Signed-off-by Aníbal Limón <[email protected]>
--- scripts/lib/compatlayer/__init__.py | 1 + 1 file changed, 1 insertion(+)
scripts/lib/compatlayer/__init__.py +1 -0
@@ -112,6 +112,7 @@ def detect_layers(layer_directories, no_auto): layers = [] for directory in layer_directories: + directory = os.path.realpath(directory) if directory[-1] == '/': directory = directory[0:-1]
Signature · 1 line
2.1.4
PATCH v2 2/2 scripts: Add yocto-compat-layer-wrapper
This script will be used to create it's own build directory to make runs of yocto-compat-layer.py againts layers isolated.
Example:
$ source oe-init-build-env $ yocto-compat-layer-wrapper LAYER_DIR LAYER_DIR_N
[YOCTO #11164]
Signed-off-by Aníbal Limón <[email protected]>
--- scripts/yocto-compat-layer-wrapper | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100755 scripts/yocto-compat-layer-wrapper
scripts/yocto-compat-layer-wrapper new file +27 -0
@@ -0,0 +1,27 @@ +#!/usr/bin/env bash + +# Yocto Project compatibility layer tool wrapper +# +# Creates a temprary build directory to run Yocto Project Compatible +# script to avoid a contaminated environment. +# +# Copyright (C) 2017 Intel Corporation +# Released under the MIT license (see COPYING.MIT) + +if [ -z "$BUILDDIR" ]; then + echo "Please source oe-init-build-env before run this script." + exit 2 +fi + +base_dir=$(realpath $BUILDDIR/../) +cd $base_dir + +build_dir=$(mktemp -p $base_dir -d -t build-XXXX) + +source oe-init-build-env $build_dir +yocto-compat-layer.py "$@" +retcode=$? + +rm -rf $build_dir + +exit $retcode
Signature · 1 line
2.1.4