Skip to contentSkip to conversation

scripts/lib/compatlayer: detect_layers always use realpath's

PATCH New Aníbal Limón 1 participant 2 messages Mar 30, 2017

lore
Share & tools
lore
#0 lore raw

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]

---
 scripts/lib/compatlayer/__init__.py | 1 +
 1 file changed, 1 insertion(+)
scripts/lib/compatlayer/__init__.py +1 -0
index 58f94b7..087ac14 100644
@@ -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
#1 lore raw

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]

---
 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
new file mode 100755
index 0000000..db4b687
@@ -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