Message ID | 20240316173558.468284-1-tom.hochstein@nxp.com |
---|---|
State | Accepted, archived |
Commit | 1aa19b9e34ebe6f39a25364073fed4c069f650e8 |
Headers | show |
Series | toolchain-shar-relocate.sh: Add check for missing command 'file' | expand |
Hello Tom, On 16/03/2024 12:35:58-0500, Tom Hochstein wrote: > On a machine without the file command, the SDK install fails with a > cryptic error message. > > ``` > xargs: file: No such file or directory > sed: no input files > Failed to replace perl. Relocate script failed. Abort! > ``` > > Add a test for 'file' to print a clear error message. > > ``` > The command 'file' is required by the relocation script, please install it first. Abort! > ``` > > Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com> > --- > meta/files/toolchain-shar-relocate.sh | 10 ++++++---- > 1 file changed, 6 insertions(+), 4 deletions(-) > > diff --git a/meta/files/toolchain-shar-relocate.sh b/meta/files/toolchain-shar-relocate.sh > index e8ab357717..3d55e38102 100644 > --- a/meta/files/toolchain-shar-relocate.sh > +++ b/meta/files/toolchain-shar-relocate.sh > @@ -1,7 +1,9 @@ > -if ! xargs --version > /dev/null 2>&1; then > - echo "xargs is required by the relocation script, please install it first. Abort!" > - exit 1 > -fi > +for cmd in xargs file; do > + if ! command -v $cmd &> /dev/null; then This fails on some of our builders: https://autobuilder.yoctoproject.org/typhoon/#/builders/20/builds/9148/steps/12/logs/stdio > + echo "The command '$cmd' is required by the relocation script, please install it first. Abort!" > + exit 1 > + fi > +done > > # fix dynamic loader paths in all ELF SDK binaries > # allow symlinks to be accessed via the find command too > -- > 2.25.1 > > > -=-=-=-=-=-=-=-=-=-=-=- > Links: You receive all messages sent to this group. > View/Reply Online (#197256): https://lists.openembedded.org/g/openembedded-core/message/197256 > Mute This Topic: https://lists.openembedded.org/mt/104970783/3617179 > Group Owner: openembedded-core+owner@lists.openembedded.org > Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [alexandre.belloni@bootlin.com] > -=-=-=-=-=-=-=-=-=-=-=- >
Thanks Alexandre, On 3/21/2024 10:19 AM, Alexandre Belloni wrote: > Hello Tom, > > On 16/03/2024 12:35:58-0500, Tom Hochstein wrote: >> On a machine without the file command, the SDK install fails with a >> cryptic error message. >> >> ``` >> xargs: file: No such file or directory >> sed: no input files >> Failed to replace perl. Relocate script failed. Abort! >> ``` >> >> Add a test for 'file' to print a clear error message. >> >> ``` >> The command 'file' is required by the relocation script, please install it first. Abort! >> ``` >> >> Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com> >> --- >> meta/files/toolchain-shar-relocate.sh | 10 ++++++---- >> 1 file changed, 6 insertions(+), 4 deletions(-) >> >> diff --git a/meta/files/toolchain-shar-relocate.sh b/meta/files/toolchain-shar-relocate.sh >> index e8ab357717..3d55e38102 100644 >> --- a/meta/files/toolchain-shar-relocate.sh >> +++ b/meta/files/toolchain-shar-relocate.sh >> @@ -1,7 +1,9 @@ >> -if ! xargs --version > /dev/null 2>&1; then >> - echo "xargs is required by the relocation script, please install it first. Abort!" >> - exit 1 >> -fi >> +for cmd in xargs file; do >> + if ! command -v $cmd &> /dev/null; then > This fails on some of our builders: > https://autobuilder.yoctoproject.org/typhoon/#/builders/20/builds/9148/steps/12/logs/stdio Aha, looks like &> is a bashism. V2 coming. > >> + echo "The command '$cmd' is required by the relocation script, please install it first. Abort!" >> + exit 1 >> + fi >> +done >> >> # fix dynamic loader paths in all ELF SDK binaries >> # allow symlinks to be accessed via the find command too >> -- >> 2.25.1 >> >> -=-=-=-=-=-=-=-=-=-=-=- >> Links: You receive all messages sent to this group. >> View/Reply Online (#197256): https://lists.openembedded.org/g/openembedded-core/message/197256 >> Mute This Topic: https://lists.openembedded.org/mt/104970783/3617179 >> Group Owner: openembedded-core+owner@lists.openembedded.org >> Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [alexandre.belloni@bootlin.com] >> -=-=-=-=-=-=-=-=-=-=-=- >> >
diff --git a/meta/files/toolchain-shar-relocate.sh b/meta/files/toolchain-shar-relocate.sh index e8ab357717..3d55e38102 100644 --- a/meta/files/toolchain-shar-relocate.sh +++ b/meta/files/toolchain-shar-relocate.sh @@ -1,7 +1,9 @@ -if ! xargs --version > /dev/null 2>&1; then - echo "xargs is required by the relocation script, please install it first. Abort!" - exit 1 -fi +for cmd in xargs file; do + if ! command -v $cmd &> /dev/null; then + echo "The command '$cmd' is required by the relocation script, please install it first. Abort!" + exit 1 + fi +done # fix dynamic loader paths in all ELF SDK binaries # allow symlinks to be accessed via the find command too
On a machine without the file command, the SDK install fails with a cryptic error message. ``` xargs: file: No such file or directory sed: no input files Failed to replace perl. Relocate script failed. Abort! ``` Add a test for 'file' to print a clear error message. ``` The command 'file' is required by the relocation script, please install it first. Abort! ``` Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com> --- meta/files/toolchain-shar-relocate.sh | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-)