* [PATCH 1/1] toolchain-shar-relocate.sh: Add error-handling [not found] <cover.1474444335.git.mariano.lopez@linux.intel.com> @ 2016-09-21 7:54 ` mariano.lopez 2016-09-22 2:06 ` Christopher Larson 0 siblings, 1 reply; 6+ messages in thread From: mariano.lopez @ 2016-09-21 7:54 UTC (permalink / raw) To: openembedded-core From: Mariano Lopez <mariano.lopez@linux.intel.com> The relocation script of the SDK doesn't have enough error handling when replacing host perl with SDK perl or changing the symlinks. This will add those checks along with a sanity check of xargs. [YOCTO #10114] Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com> --- meta/files/toolchain-shar-relocate.sh | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/meta/files/toolchain-shar-relocate.sh b/meta/files/toolchain-shar-relocate.sh index d4bcf0e..e491153 100644 --- a/meta/files/toolchain-shar-relocate.sh +++ b/meta/files/toolchain-shar-relocate.sh @@ -1,3 +1,8 @@ +if ! xargs --version > /dev/null 2>&1; then + echo "xargs is required by the relocation script, please install it firts. Abort!" + exit 1 +fi + # fix dynamic loader paths in all ELF SDK binaries native_sysroot=$($SUDO_EXEC cat $env_setup_script |grep 'OECORE_NATIVE_SYSROOT='|cut -d'=' -f2|tr -d '"') dl_path=$($SUDO_EXEC find $native_sysroot/lib -name "ld-linux*") @@ -7,6 +12,10 @@ if [ "$dl_path" = "" ] ; then fi executable_files=$($SUDO_EXEC find $native_sysroot -type f \ \( -perm -0100 -o -perm -0010 -o -perm -0001 \) -printf "'%h/%f' ") +if [ "x$executable_files" = "x" ]; then + echo "SDK relocate failed, could not get executalbe files" + exit 1 +fi tdir=`mktemp -d` if [ x$tdir = x ] ; then @@ -14,7 +23,7 @@ if [ x$tdir = x ] ; then exit 1 fi cat <<EOF >> $tdir/relocate_sdk.sh -#!/bin/bash +#!/bin/sh for py in python python2 python3 do PYTHON=\`which \${py} 2>/dev/null\` @@ -53,9 +62,18 @@ done | xargs -n100 file | grep ":.*\(ASCII\|script\|source\).*text" | \ -e "s:^#! */usr/bin/perl.*:#! /usr/bin/env perl:g" \ -e "s: /usr/bin/perl: /usr/bin/env perl:g" +if [ $? -ne 0 ]; then + echo "Failed to replace perl. Relocate script failed. Abort!" + exit 1 +fi + # change all symlinks pointing to @SDKPATH@ for l in $($SUDO_EXEC find $native_sysroot -type l); do $SUDO_EXEC ln -sfn $(readlink $l|$SUDO_EXEC sed -e "s:$DEFAULT_INSTALL_DIR:$target_sdk_dir:") $l + if [ $? -ne 0 ]; then + echo "Failed to setup symlinks. Relocate script failed. Abort!" + exit 1 + fi done echo done -- 2.6.6 ^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH 1/1] toolchain-shar-relocate.sh: Add error-handling 2016-09-21 7:54 ` [PATCH 1/1] toolchain-shar-relocate.sh: Add error-handling mariano.lopez @ 2016-09-22 2:06 ` Christopher Larson 2016-09-23 14:48 ` Richard Purdie 0 siblings, 1 reply; 6+ messages in thread From: Christopher Larson @ 2016-09-22 2:06 UTC (permalink / raw) To: Mariano Lopez; +Cc: Patches and discussions about the oe-core layer [-- Attachment #1: Type: text/plain, Size: 707 bytes --] On Wed, Sep 21, 2016 at 12:54 AM, <mariano.lopez@linux.intel.com> wrote: > diff --git a/meta/files/toolchain-shar-relocate.sh > b/meta/files/toolchain-shar-relocate.sh > index d4bcf0e..e491153 100644 > --- a/meta/files/toolchain-shar-relocate.sh > +++ b/meta/files/toolchain-shar-relocate.sh > @@ -1,3 +1,8 @@ > +if ! xargs --version > /dev/null 2>&1; then > + echo "xargs is required by the relocation script, please install > it firts. Abort!" > + exit 1 > +fi > This is pointless, xargs is mandated by posix/sus. -- Christopher Larson clarson at kergoth dot com Founder - BitBake, OpenEmbedded, OpenZaurus Maintainer - Tslib Senior Software Engineer, Mentor Graphics [-- Attachment #2: Type: text/html, Size: 1197 bytes --] ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH 1/1] toolchain-shar-relocate.sh: Add error-handling 2016-09-22 2:06 ` Christopher Larson @ 2016-09-23 14:48 ` Richard Purdie 2016-09-23 14:56 ` Patrick Ohly 0 siblings, 1 reply; 6+ messages in thread From: Richard Purdie @ 2016-09-23 14:48 UTC (permalink / raw) To: Christopher Larson, Mariano Lopez Cc: Patches and discussions about the oe-core layer On Wed, 2016-09-21 at 19:06 -0700, Christopher Larson wrote: > > On Wed, Sep 21, 2016 at 12:54 AM, <mariano.lopez@linux.intel.com> > wrote: > > diff --git a/meta/files/toolchain-shar-relocate.sh > > b/meta/files/toolchain-shar-relocate.sh > > index d4bcf0e..e491153 100644 > > --- a/meta/files/toolchain-shar-relocate.sh > > +++ b/meta/files/toolchain-shar-relocate.sh > > @@ -1,3 +1,8 @@ > > +if ! xargs --version > /dev/null 2>&1; then > > + echo "xargs is required by the relocation script, please > > install it firts. Abort!" > > + exit 1 > > +fi > > > This is pointless, xargs is mandated by posix/sus. It appears we have some users with stripped down containers where it hasn't been installed though and having a user readable message is better than the rather obtuse one reported into the bugzilla... Cheers, Richard ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH 1/1] toolchain-shar-relocate.sh: Add error-handling 2016-09-23 14:48 ` Richard Purdie @ 2016-09-23 14:56 ` Patrick Ohly 2016-09-23 16:49 ` Richard Purdie 2016-09-26 13:13 ` mariano.lopez 0 siblings, 2 replies; 6+ messages in thread From: Patrick Ohly @ 2016-09-23 14:56 UTC (permalink / raw) To: Richard Purdie Cc: Christopher Larson, Patches and discussions about the oe-core layer On Fri, 2016-09-23 at 15:48 +0100, Richard Purdie wrote: > On Wed, 2016-09-21 at 19:06 -0700, Christopher Larson wrote: > > > > On Wed, Sep 21, 2016 at 12:54 AM, <mariano.lopez@linux.intel.com> > > wrote: > > > diff --git a/meta/files/toolchain-shar-relocate.sh > > > b/meta/files/toolchain-shar-relocate.sh > > > index d4bcf0e..e491153 100644 > > > --- a/meta/files/toolchain-shar-relocate.sh > > > +++ b/meta/files/toolchain-shar-relocate.sh > > > @@ -1,3 +1,8 @@ > > > +if ! xargs --version > /dev/null 2>&1; then > > > + echo "xargs is required by the relocation script, please > > > install it firts. Abort!" > > > + exit 1 > > > +fi > > > > > This is pointless, xargs is mandated by posix/sus. > > It appears we have some users with stripped down containers where it > hasn't been installed though and having a user readable message is > better ... and even better is one without typos ;-} s/firts/first/ -- Best Regards, Patrick Ohly The content of this message is my personal opinion only and although I am an employee of Intel, the statements I make here in no way represent Intel's position on the issue, nor am I authorized to speak on behalf of Intel on this matter. ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH 1/1] toolchain-shar-relocate.sh: Add error-handling 2016-09-23 14:56 ` Patrick Ohly @ 2016-09-23 16:49 ` Richard Purdie 2016-09-26 13:13 ` mariano.lopez 1 sibling, 0 replies; 6+ messages in thread From: Richard Purdie @ 2016-09-23 16:49 UTC (permalink / raw) To: Patrick Ohly Cc: Christopher Larson, Patches and discussions about the oe-core layer On Fri, 2016-09-23 at 16:56 +0200, Patrick Ohly wrote: > On Fri, 2016-09-23 at 15:48 +0100, Richard Purdie wrote: > > > > On Wed, 2016-09-21 at 19:06 -0700, Christopher Larson wrote: > > > > > > > > > On Wed, Sep 21, 2016 at 12:54 AM, <mariano.lopez@linux.intel.com> > > > wrote: > > > > > > > > diff --git a/meta/files/toolchain-shar-relocate.sh > > > > b/meta/files/toolchain-shar-relocate.sh > > > > index d4bcf0e..e491153 100644 > > > > --- a/meta/files/toolchain-shar-relocate.sh > > > > +++ b/meta/files/toolchain-shar-relocate.sh > > > > @@ -1,3 +1,8 @@ > > > > +if ! xargs --version > /dev/null 2>&1; then > > > > + echo "xargs is required by the relocation script, > > > > please > > > > install it firts. Abort!" > > > > + exit 1 > > > > +fi > > > > > > > This is pointless, xargs is mandated by posix/sus. > > It appears we have some users with stripped down containers where > > it > > hasn't been installed though and having a user readable message is > > better > ... and even better is one without typos ;-} > > s/firts/first/ Indeed. Fix queued in -next. Cheers, Richard ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH 1/1] toolchain-shar-relocate.sh: Add error-handling 2016-09-23 14:56 ` Patrick Ohly 2016-09-23 16:49 ` Richard Purdie @ 2016-09-26 13:13 ` mariano.lopez 1 sibling, 0 replies; 6+ messages in thread From: mariano.lopez @ 2016-09-26 13:13 UTC (permalink / raw) To: patrick.ohly, openembedded-core; +Cc: clarson, rpurdie From: Mariano Lopez <mariano.lopez@linux.intel.com> The relocation script of the SDK doesn't have enough error handling when replacing host perl with SDK perl or changing the symlinks. This will add those checks along with a sanity check of xargs. [YOCTO #10114] Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com> --- meta/files/toolchain-shar-relocate.sh | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/meta/files/toolchain-shar-relocate.sh b/meta/files/toolchain-shar-relocate.sh index d4bcf0e..e3c1001 100644 --- a/meta/files/toolchain-shar-relocate.sh +++ b/meta/files/toolchain-shar-relocate.sh @@ -1,3 +1,8 @@ +if ! xargs --version > /dev/null 2>&1; then + echo "xargs is required by the relocation script, please install it first. Abort!" + exit 1 +fi + # fix dynamic loader paths in all ELF SDK binaries native_sysroot=$($SUDO_EXEC cat $env_setup_script |grep 'OECORE_NATIVE_SYSROOT='|cut -d'=' -f2|tr -d '"') dl_path=$($SUDO_EXEC find $native_sysroot/lib -name "ld-linux*") @@ -7,6 +12,10 @@ if [ "$dl_path" = "" ] ; then fi executable_files=$($SUDO_EXEC find $native_sysroot -type f \ \( -perm -0100 -o -perm -0010 -o -perm -0001 \) -printf "'%h/%f' ") +if [ "x$executable_files" = "x" ]; then + echo "SDK relocate failed, could not get executalbe files" + exit 1 +fi tdir=`mktemp -d` if [ x$tdir = x ] ; then @@ -14,7 +23,7 @@ if [ x$tdir = x ] ; then exit 1 fi cat <<EOF >> $tdir/relocate_sdk.sh -#!/bin/bash +#!/bin/sh for py in python python2 python3 do PYTHON=\`which \${py} 2>/dev/null\` @@ -53,9 +62,18 @@ done | xargs -n100 file | grep ":.*\(ASCII\|script\|source\).*text" | \ -e "s:^#! */usr/bin/perl.*:#! /usr/bin/env perl:g" \ -e "s: /usr/bin/perl: /usr/bin/env perl:g" +if [ $? -ne 0 ]; then + echo "Failed to replace perl. Relocate script failed. Abort!" + exit 1 +fi + # change all symlinks pointing to @SDKPATH@ for l in $($SUDO_EXEC find $native_sysroot -type l); do $SUDO_EXEC ln -sfn $(readlink $l|$SUDO_EXEC sed -e "s:$DEFAULT_INSTALL_DIR:$target_sdk_dir:") $l + if [ $? -ne 0 ]; then + echo "Failed to setup symlinks. Relocate script failed. Abort!" + exit 1 + fi done echo done -- 2.6.6 ^ permalink raw reply related [flat|nested] 6+ messages in thread
end of thread, other threads:[~2016-09-26 21:17 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <cover.1474444335.git.mariano.lopez@linux.intel.com>
2016-09-21 7:54 ` [PATCH 1/1] toolchain-shar-relocate.sh: Add error-handling mariano.lopez
2016-09-22 2:06 ` Christopher Larson
2016-09-23 14:48 ` Richard Purdie
2016-09-23 14:56 ` Patrick Ohly
2016-09-23 16:49 ` Richard Purdie
2016-09-26 13:13 ` mariano.lopez
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox