| Message ID | 20241023151127.3611757-1-liu.ming50@gmail.com |
|---|---|
| State | Accepted, archived |
| Commit | 718328588e832c0a59dc9b76ff4e5e3def6e8834 |
| 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
Hi, Ross: Thanks for the reply, will make a V3! Ross Burton <Ross.Burton@arm.com> 於 2024年10月24日 週四 下午12:59寫道: > 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(+)