* [PATCH 0/4] scripts: rss fixes for oe-find-sysroot and oe-run-native
@ 2017-04-12 21:29 brian avery
2017-04-12 21:29 ` [PATCH 1/4] Revert "scripts: change way we find native tools (pseudo)" brian avery
` (3 more replies)
0 siblings, 4 replies; 5+ messages in thread
From: brian avery @ 2017-04-12 21:29 UTC (permalink / raw)
To: openembedded-core
This patch set does a couple of things:
1) revert brian's runqemu-extract-sdk patch and add in Robert's more generically useful patch.
2) Correct the suggestion oe-find-native gives if bitbake meta-ide-support has not been run
3) fix a /bin/sh to bin/bash since the script used bashisms and was failing on my dash system and worked
Partial fix for bugs 11170 && 11119, Ed's patch set required to finish off the bugs.
-brian
The following changes since commit 94467d5087ca3b13e7baac670af107550701b333:
dev-manual, ref-manual: Edits to the "Incrementing Binary Package" section. (2017-04-12 19:35:00 +0100)
are available in the git repository at:
git://git.yoctoproject.org/poky-contrib bavery/ed/oe-core/rm_work-runqemu-bavery
http://git.yoctoproject.org/cgit.cgi/poky-contrib/log/?h=bavery/ed/oe-core/rm_work-runqemu-bavery
Ed Bartosh (1):
Revert "scripts: change way we find native tools (pseudo)"
Robert Yang (1):
oe-find-native-sysroot: work with RSS
brian avery (2):
oe-find-native-sysroot: add appopriate suggestion
oe-run-native: explicitly use bash
scripts/oe-find-native-sysroot | 59 ++++++++++++++++++++++++++++--------------
scripts/oe-run-native | 17 +++++++-----
scripts/runqemu-export-rootfs | 2 +-
scripts/runqemu-extract-sdk | 2 +-
4 files changed, 53 insertions(+), 27 deletions(-)
--
1.9.1
^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH 1/4] Revert "scripts: change way we find native tools (pseudo)"
2017-04-12 21:29 [PATCH 0/4] scripts: rss fixes for oe-find-sysroot and oe-run-native brian avery
@ 2017-04-12 21:29 ` brian avery
2017-04-12 21:29 ` [PATCH 2/4] oe-find-native-sysroot: work with RSS brian avery
` (2 subsequent siblings)
3 siblings, 0 replies; 5+ messages in thread
From: brian avery @ 2017-04-12 21:29 UTC (permalink / raw)
To: openembedded-core
From: Ed Bartosh <ed.bartosh@linux.intel.com>
This reverts commit f200f37699031cd98f4594b2992e6b0d8f753440.
This reverts the patch that fixed runqemu-extract-sdk. It failed
to fix other issues in the script/tools that were introduced by RSS. The
following patch from Robert Yang fixes both. Therefore, reverting this
patch in favor of his.
Signed-off-by: brian avery <brian.avery@intel.com>
---
scripts/oe-find-native-sysroot | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/scripts/oe-find-native-sysroot b/scripts/oe-find-native-sysroot
index 3f4c29d..13a5c46 100755
--- a/scripts/oe-find-native-sysroot
+++ b/scripts/oe-find-native-sysroot
@@ -2,7 +2,7 @@
#
# Find a native sysroot to use - either from an in-tree OE build or
# from a toolchain installation. It then ensures the variable
-# $OECORE_NATIVE_SYSROOT is set to the sysroot's base directory, and sets
+# $OECORE_NATIVE_SYSROOT is set to the sysroot's base directory, and sets
# $PSEUDO to the path of the pseudo binary.
#
# This script is intended to be run within other scripts by source'ing
@@ -54,10 +54,10 @@ if [ "x$OECORE_NATIVE_SYSROOT" = "x" ]; then
exit 1
fi
touch conf/sanity.conf
- OECORE_NATIVE_SYSROOT=`bitbake -e meta-ide-support | grep ^RECIPE_SYSROOT_NATIVE | cut -d '"' -f2`
+ OECORE_NATIVE_SYSROOT=`bitbake -e | grep ^STAGING_DIR_NATIVE | cut -d '"' -f2`
rm -f conf/sanity.conf
else
- OECORE_NATIVE_SYSROOT=`bitbake -e meta-ide-support | grep ^RECIPE_SYSROOT_NATIVE | cut -d '"' -f2`
+ OECORE_NATIVE_SYSROOT=`bitbake -e | grep ^STAGING_DIR_NATIVE | cut -d '"' -f2`
fi
else
echo "Error: Unable to locate bitbake command."
@@ -72,7 +72,7 @@ fi
if [ "x$OECORE_NATIVE_SYSROOT" = "x" ]; then
# This indicates that there was an error running bitbake -e that
# the user needs to be informed of
- echo "There was an error running bitbake to determine RECIPE_SYSROOT_NATIVE"
+ echo "There was an error running bitbake to determine STAGING_DIR_NATIVE"
echo "Here is the output from bitbake -e"
bitbake -e
exit 1
--
1.9.1
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH 2/4] oe-find-native-sysroot: work with RSS
2017-04-12 21:29 [PATCH 0/4] scripts: rss fixes for oe-find-sysroot and oe-run-native brian avery
2017-04-12 21:29 ` [PATCH 1/4] Revert "scripts: change way we find native tools (pseudo)" brian avery
@ 2017-04-12 21:29 ` brian avery
2017-04-12 21:29 ` [PATCH 3/4] oe-find-native-sysroot: add appopriate suggestion brian avery
2017-04-12 21:29 ` [PATCH 4/4] oe-run-native: explicitly use bash brian avery
3 siblings, 0 replies; 5+ messages in thread
From: brian avery @ 2017-04-12 21:29 UTC (permalink / raw)
To: openembedded-core
From: Robert Yang <liezhi.yang@windriver.com>
The generic STAGING_DIR_NATIVE is gone since RSS, so when find
OECORE_NATIVE_SYSROOT, the user has to specify which recipe's
STAGING_DIR_NATIVE will be used as OECORE_NATIVE_SYSROOT.
* The usage is changed from ". oe-find-native-sysroot" to
". oe-find-native-sysroot <recipe>".
* The oe-run-native's usage has changed from
"oe-run-native tool" to "oe-run-native native-recipe tool".
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
---
scripts/oe-find-native-sysroot | 56 ++++++++++++++++++++++++++++--------------
scripts/oe-run-native | 15 +++++++----
scripts/runqemu-export-rootfs | 2 +-
| 2 +-
4 files changed, 49 insertions(+), 26 deletions(-)
diff --git a/scripts/oe-find-native-sysroot b/scripts/oe-find-native-sysroot
index 13a5c46..ad7b2d1 100755
--- a/scripts/oe-find-native-sysroot
+++ b/scripts/oe-find-native-sysroot
@@ -9,7 +9,7 @@
# it, e.g:
#
# SYSROOT_SETUP_SCRIPT=`which oe-find-native-sysroot`
-# . $SYSROOT_SETUP_SCRIPT
+# . $SYSROOT_SETUP_SCRIPT <recipe>
#
# This script will terminate execution of your calling program unless
# you set a variable $SKIP_STRICT_SYSROOT_CHECK to a non-empty string
@@ -30,8 +30,8 @@
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
-if [ "$1" = '--help' -o "$1" = '-h' ] ; then
- echo 'Usage: oe-find-native-sysroot [-h|--help]'
+if [ "$1" = '--help' -o "$1" = '-h' -o $# -ne 1 ] ; then
+ echo 'Usage: oe-find-native-sysroot <recipe> [-h|--help]'
echo ''
echo 'OpenEmbedded find-native-sysroot - helper script to set'
echo 'environment variables OECORE_NATIVE_SYSROOT and PSEUDO'
@@ -39,11 +39,31 @@ if [ "$1" = '--help' -o "$1" = '-h' ] ; then
echo 'executable binary'
echo ''
echo 'options:'
+ echo ' recipe its STAGING_DIR_NATIVE is used as native sysroot'
echo ' -h, --help show this help message and exit'
echo ''
exit 2
fi
+# Global vars
+BITBAKE_E=""
+OECORE_NATIVE_SYSROOT=""
+
+set_oe_native_sysroot(){
+ echo "Running bitbake -e $1"
+ BITBAKE_E="`bitbake -e $1`"
+ OECORE_NATIVE_SYSROOT=`echo "$BITBAKE_E" | grep ^STAGING_DIR_NATIVE | cut -d '"' -f2`
+
+ if [ "x$OECORE_NATIVE_SYSROOT" = "x" ]; then
+ # This indicates that there was an error running bitbake -e that
+ # the user needs to be informed of
+ echo "There was an error running bitbake to determine STAGING_DIR_NATIVE"
+ echo "Here is the output from bitbake -e $1"
+ echo $BITBAKE_E
+ exit 1
+ fi
+}
+
if [ "x$OECORE_NATIVE_SYSROOT" = "x" ]; then
BITBAKE=`which bitbake 2> /dev/null`
if [ "x$BITBAKE" != "x" ]; then
@@ -54,10 +74,10 @@ if [ "x$OECORE_NATIVE_SYSROOT" = "x" ]; then
exit 1
fi
touch conf/sanity.conf
- OECORE_NATIVE_SYSROOT=`bitbake -e | grep ^STAGING_DIR_NATIVE | cut -d '"' -f2`
+ set_oe_native_sysroot $1
rm -f conf/sanity.conf
else
- OECORE_NATIVE_SYSROOT=`bitbake -e | grep ^STAGING_DIR_NATIVE | cut -d '"' -f2`
+ set_oe_native_sysroot $1
fi
else
echo "Error: Unable to locate bitbake command."
@@ -69,21 +89,11 @@ if [ "x$OECORE_NATIVE_SYSROOT" = "x" ]; then
fi
fi
-if [ "x$OECORE_NATIVE_SYSROOT" = "x" ]; then
- # This indicates that there was an error running bitbake -e that
- # the user needs to be informed of
- echo "There was an error running bitbake to determine STAGING_DIR_NATIVE"
- echo "Here is the output from bitbake -e"
- bitbake -e
- exit 1
-fi
-
-# Set up pseudo command
-if [ ! -e "$OECORE_NATIVE_SYSROOT/usr/bin/pseudo" ]; then
- echo "Error: Unable to find pseudo binary in $OECORE_NATIVE_SYSROOT/usr/bin/"
+if [ ! -e "$OECORE_NATIVE_SYSROOT/" ]; then
+ echo "Error: $OECORE_NATIVE_SYSROOT doesn't exist."
if [ "x$OECORE_DISTRO_VERSION" = "x" ]; then
- echo "Have you run 'bitbake meta-ide-support'?"
+ echo "Have you run 'bitbake $1 -caddto_recipe_sysroot'?"
else
echo "This shouldn't happen - something is wrong with your toolchain installation"
fi
@@ -92,4 +102,12 @@ if [ ! -e "$OECORE_NATIVE_SYSROOT/usr/bin/pseudo" ]; then
exit 1
fi
fi
-PSEUDO="$OECORE_NATIVE_SYSROOT/usr/bin/pseudo"
+
+# Set up pseudo command
+pseudo="$OECORE_NATIVE_SYSROOT/usr/bin/pseudo"
+if [ -e "$pseudo" ]; then
+ echo "PSEUDO=$pseudo"
+ PSEUDO="$pseudo"
+else
+ echo "PSEUDO $pseudo is not found."
+fi
diff --git a/scripts/oe-run-native b/scripts/oe-run-native
index f2453e7..de3c02e 100755
--- a/scripts/oe-run-native
+++ b/scripts/oe-run-native
@@ -22,34 +22,39 @@
#
if [ $# -lt 1 -o "$1" = '--help' -o "$1" = '-h' ] ; then
- echo 'oe-run-native: error: the following arguments are required: <native tool>'
- echo 'Usage: oe-run-native tool [parameters]'
+ echo 'oe-run-native: error: the following arguments are required: <native recipe> <native tool>'
+ echo 'Usage: oe-run-native native-recipe tool [parameters]'
echo ''
echo 'OpenEmbedded run-native - runs native tools'
echo ''
echo 'arguments:'
+ echo ' native-recipe The recipe which provoides tool'
echo ' tool Native tool to run'
echo ''
exit 2
fi
+native_recipe="$1"
+tool="$2"
+shift
+
SYSROOT_SETUP_SCRIPT=`which oe-find-native-sysroot 2> /dev/null`
if [ -z "$SYSROOT_SETUP_SCRIPT" ]; then
echo "Error: Unable to find oe-find-native-sysroot script"
exit 1
fi
-. $SYSROOT_SETUP_SCRIPT
+. $SYSROOT_SETUP_SCRIPT $native_recipe
OLD_PATH=$PATH
# look for a tool only in native sysroot
PATH=$OECORE_NATIVE_SYSROOT/usr/bin:$OECORE_NATIVE_SYSROOT/bin:$OECORE_NATIVE_SYSROOT/usr/sbin:$OECORE_NATIVE_SYSROOT/sbin
-tool=`/usr/bin/which $1 2>/dev/null`
+tool=`/usr/bin/which $tool 2>/dev/null`
if [ -n "$tool" ] ; then
# add old path to allow usage of host tools
PATH=$PATH:$OLD_PATH $@
else
- echo "Error: Unable to find '$1' in native sysroot"
+ echo "Error: Unable to find '$tool' in $PATH"
exit 1
fi
diff --git a/scripts/runqemu-export-rootfs b/scripts/runqemu-export-rootfs
index 7ebc071..c7992d8 100755
--- a/scripts/runqemu-export-rootfs
+++ b/scripts/runqemu-export-rootfs
@@ -44,7 +44,7 @@ if [ -z "$SYSROOT_SETUP_SCRIPT" ]; then
echo "Did you forget to source your build environment setup script?"
exit 1
fi
-. $SYSROOT_SETUP_SCRIPT
+. $SYSROOT_SETUP_SCRIPT meta-ide-support
if [ ! -e "$OECORE_NATIVE_SYSROOT/usr/bin/unfsd" ]; then
echo "Error: Unable to find unfsd binary in $OECORE_NATIVE_SYSROOT/usr/bin/"
--git a/scripts/runqemu-extract-sdk b/scripts/runqemu-extract-sdk
index 32ddd48..2a0dd50 100755
--- a/scripts/runqemu-extract-sdk
+++ b/scripts/runqemu-extract-sdk
@@ -35,7 +35,7 @@ if [ -z "$SYSROOT_SETUP_SCRIPT" ]; then
echo "Did you forget to source your build system environment setup script?"
exit 1
fi
-. $SYSROOT_SETUP_SCRIPT
+. $SYSROOT_SETUP_SCRIPT meta-ide-support
PSEUDO_OPTS="-P $OECORE_NATIVE_SYSROOT/usr"
ROOTFS_TARBALL=$1
--
1.9.1
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH 3/4] oe-find-native-sysroot: add appopriate suggestion
2017-04-12 21:29 [PATCH 0/4] scripts: rss fixes for oe-find-sysroot and oe-run-native brian avery
2017-04-12 21:29 ` [PATCH 1/4] Revert "scripts: change way we find native tools (pseudo)" brian avery
2017-04-12 21:29 ` [PATCH 2/4] oe-find-native-sysroot: work with RSS brian avery
@ 2017-04-12 21:29 ` brian avery
2017-04-12 21:29 ` [PATCH 4/4] oe-run-native: explicitly use bash brian avery
3 siblings, 0 replies; 5+ messages in thread
From: brian avery @ 2017-04-12 21:29 UTC (permalink / raw)
To: openembedded-core
right now, if it fails, the script tells the user to run bitbake foo
-caddto_recipe_sysroot. This works for native recipes but not things
like meta-ide. This patch checks whether the recipe is native and gives
out the appopriate warning.
Signed-off-by: brian avery <brian.avery@intel.com>
---
scripts/oe-find-native-sysroot | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)
diff --git a/scripts/oe-find-native-sysroot b/scripts/oe-find-native-sysroot
index ad7b2d1..5c8681e 100755
--- a/scripts/oe-find-native-sysroot
+++ b/scripts/oe-find-native-sysroot
@@ -2,7 +2,7 @@
#
# Find a native sysroot to use - either from an in-tree OE build or
# from a toolchain installation. It then ensures the variable
-# $OECORE_NATIVE_SYSROOT is set to the sysroot's base directory, and sets
+# $OECORE_NATIVE_SYSROOT is set to the sysroot's base directory, and sets
# $PSEUDO to the path of the pseudo binary.
#
# This script is intended to be run within other scripts by source'ing
@@ -48,7 +48,6 @@ fi
# Global vars
BITBAKE_E=""
OECORE_NATIVE_SYSROOT=""
-
set_oe_native_sysroot(){
echo "Running bitbake -e $1"
BITBAKE_E="`bitbake -e $1`"
@@ -93,7 +92,11 @@ if [ ! -e "$OECORE_NATIVE_SYSROOT/" ]; then
echo "Error: $OECORE_NATIVE_SYSROOT doesn't exist."
if [ "x$OECORE_DISTRO_VERSION" = "x" ]; then
- echo "Have you run 'bitbake $1 -caddto_recipe_sysroot'?"
+ if [[ $1 =~ .*native.* ]]; then
+ echo "Have you run 'bitbake $1 -caddto_recipe_sysroot'?"
+ else
+ echo "Have you run 'bitbake $1 '?"
+ fi
else
echo "This shouldn't happen - something is wrong with your toolchain installation"
fi
--
1.9.1
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH 4/4] oe-run-native: explicitly use bash
2017-04-12 21:29 [PATCH 0/4] scripts: rss fixes for oe-find-sysroot and oe-run-native brian avery
` (2 preceding siblings ...)
2017-04-12 21:29 ` [PATCH 3/4] oe-find-native-sysroot: add appopriate suggestion brian avery
@ 2017-04-12 21:29 ` brian avery
3 siblings, 0 replies; 5+ messages in thread
From: brian avery @ 2017-04-12 21:29 UTC (permalink / raw)
To: openembedded-core
This script sources another script (oe-find-native-sysroot) with
arguments. It was using /bin/sh. Sourcing with arguments works only in
bash so it was failing in dash. This commit makes it dash proof.
Signed-off-by: brian avery <brian.avery@intel.com>
---
scripts/oe-run-native | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/scripts/oe-run-native b/scripts/oe-run-native
index de3c02e..12f7ce6 100755
--- a/scripts/oe-run-native
+++ b/scripts/oe-run-native
@@ -1,4 +1,4 @@
-#!/bin/sh
+#!/bin/bash
#
# Copyright (c) 2016, Intel Corporation.
# All Rights Reserved
--
1.9.1
^ permalink raw reply related [flat|nested] 5+ messages in thread
end of thread, other threads:[~2017-04-12 21:26 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-04-12 21:29 [PATCH 0/4] scripts: rss fixes for oe-find-sysroot and oe-run-native brian avery
2017-04-12 21:29 ` [PATCH 1/4] Revert "scripts: change way we find native tools (pseudo)" brian avery
2017-04-12 21:29 ` [PATCH 2/4] oe-find-native-sysroot: work with RSS brian avery
2017-04-12 21:29 ` [PATCH 3/4] oe-find-native-sysroot: add appopriate suggestion brian avery
2017-04-12 21:29 ` [PATCH 4/4] oe-run-native: explicitly use bash brian avery
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.