Message ID | 20241023151127.3611757-1-liu.ming50@gmail.com |
---|---|
State | New |
Headers | show |
Series | [V2,1/2] toolchain-shar-extract.sh: check required tool before extracting SDK | expand |
On 23 Oct 2024, at 16:11, Ming Liu via lists.openembedded.org <liu.ming50=gmail.com@lists.openembedded.org> wrote: > > To extract the SDK archive, the proper tools need to be present on > system, check unzip for zip archive type, check xz for tar.xz archive > type. > > Signed-off-by: Ming Liu <liu.ming50@gmail.com> > --- > meta/files/toolchain-shar-extract.sh | 8 ++++++++ > 1 file changed, 8 insertions(+) > > diff --git a/meta/files/toolchain-shar-extract.sh b/meta/files/toolchain-shar-extract.sh > index 3b4647fca7..9b72499ccf 100644 > --- a/meta/files/toolchain-shar-extract.sh > +++ b/meta/files/toolchain-shar-extract.sh > @@ -245,6 +245,10 @@ fi > > printf "Extracting SDK..." > if [ @SDK_ARCHIVE_TYPE@ = "zip" ]; then > + if [ -z "$(which unzip)" ]; then > + echo "Aborted, unzip is required to extract the SDK archive, please make sure it's installed on your system!" > + exit 1 > + fi Unfortunately ‘which’ is not POSIX or even universally installed on Linux systems. https://hynek.me/til/which-not-posix/ Using command -v is the portable alternative. Ross
diff --git a/meta/files/toolchain-shar-extract.sh b/meta/files/toolchain-shar-extract.sh index 3b4647fca7..9b72499ccf 100644 --- a/meta/files/toolchain-shar-extract.sh +++ b/meta/files/toolchain-shar-extract.sh @@ -245,6 +245,10 @@ fi printf "Extracting SDK..." if [ @SDK_ARCHIVE_TYPE@ = "zip" ]; then + if [ -z "$(which unzip)" ]; then + echo "Aborted, unzip is required to extract the SDK archive, please make sure it's installed on your system!" + exit 1 + fi tail -n +$payload_offset "$0" > sdk.zip if $SUDO_EXEC unzip $EXTRA_TAR_OPTIONS sdk.zip -d $target_sdk_dir;then rm sdk.zip @@ -252,6 +256,10 @@ if [ @SDK_ARCHIVE_TYPE@ = "zip" ]; then rm sdk.zip && exit 1 fi else + if [ -z "$(which xz)" ]; then + echo "Aborted, xz is required to extract the SDK archive, please make sure it's installed on your system!" + exit 1 + fi tail -n +$payload_offset "$0"| $SUDO_EXEC tar mxJ -C $target_sdk_dir --checkpoint=.2500 $EXTRA_TAR_OPTIONS || exit 1 fi echo "done"
To extract the SDK archive, the proper tools need to be present on system, check unzip for zip archive type, check xz for tar.xz archive type. Signed-off-by: Ming Liu <liu.ming50@gmail.com> --- meta/files/toolchain-shar-extract.sh | 8 ++++++++ 1 file changed, 8 insertions(+)