@@ -142,7 +142,6 @@ while :; do
142142 case $lowerI in
143143 -\? |-h|--help)
144144 usage
145- exit 1
146145 ;;
147146 arm)
148147 __BuildArch=arm
@@ -229,12 +228,19 @@ while :; do
229228 __UbuntuRepo=" http://archive.ubuntu.com/ubuntu/"
230229 ;;
231230 lldb* )
232- version=" ${lowerI/ lldb/ } "
233- parts=(${version// ./ } )
231+ version=" $( echo " $lowerI " | tr -d ' [:alpha:]-=' ) "
232+ majorVersion=" ${version%% .* } "
233+
234+ [ -z " ${version##* .* } " ] && minorVersion=" ${version#* .} "
235+ if [ -z " $minorVersion " ]; then
236+ minorVersion=0
237+ fi
234238
235239 # for versions > 6.0, lldb has dropped the minor version
236- if [[ " ${parts[0]} " -gt 6 ]]; then
237- version=" ${parts[0]} "
240+ if [ " $majorVersion " -le 6 ]; then
241+ version=" $majorVersion .$minorVersion "
242+ else
243+ version=" $majorVersion "
238244 fi
239245
240246 __LLDB_Package=" liblldb-${version} -dev"
@@ -243,15 +249,19 @@ while :; do
243249 unset __LLDB_Package
244250 ;;
245251 llvm* )
246- version=" ${lowerI/ llvm/ } "
247- parts=(${version// ./ } )
248- __LLVM_MajorVersion=" ${parts[0]} "
249- __LLVM_MinorVersion=" ${parts[1]} "
250-
251- # for versions > 6.0, llvm has dropped the minor version
252- if [[ -z " $__LLVM_MinorVersion " && " $__LLVM_MajorVersion " -le 6 ]]; then
253- __LLVM_MinorVersion=0;
252+ version=" $( echo " $lowerI " | tr -d ' [:alpha:]-=' ) "
253+ __LLVM_MajorVersion=" ${version%% .* } "
254+
255+ [ -z " ${version##* .* } " ] && __LLVM_MinorVersion=" ${version#* .} "
256+ if [ -z " $__LLVM_MinorVersion " ]; then
257+ __LLVM_MinorVersion=0
254258 fi
259+
260+ # for versions > 6.0, lldb has dropped the minor version
261+ if [ " $__LLVM_MajorVersion " -gt 6 ]; then
262+ __LLVM_MinorVersion=
263+ fi
264+
255265 ;;
256266 xenial) # Ubuntu 16.04
257267 if [[ " $__CodeName " != " jessie" ]]; then
@@ -323,15 +333,14 @@ while :; do
323333 alpine* )
324334 __CodeName=alpine
325335 __UbuntuRepo=
326- version=" ${lowerI/ alpine/ } "
327336
328- if [[ " $version " == " edge " ]]; then
337+ if [[ " $lowerI " == " alpineedge " ]]; then
329338 __AlpineVersion=edge
330339 else
331- parts=( ${version // . / } )
332- __AlpineMajorVersion=" ${parts[0] } "
333- __AlpineMinoVersion =" ${parts[1] } "
334- __AlpineVersion=" $__AlpineMajorVersion .$__AlpineMinoVersion "
340+ version= " $( echo " $lowerI " | tr -d ' [:alpha:]-= ' ) "
341+ __AlpineMajorVersion=" ${version %% . * } "
342+ __AlpineMinorVersion =" ${version #* . } "
343+ __AlpineVersion=" $__AlpineMajorVersion .$__AlpineMinorVersion "
335344 fi
336345 ;;
337346 freebsd13)
@@ -454,7 +463,7 @@ if [[ "$__CodeName" == "alpine" ]]; then
454463 elif [[ " $arch " == " aarch64" ]]; then
455464 __ApkToolsSHA512SUM=" 9e2b37ecb2b56c05dad23d379be84fd494c14bd730b620d0d576bda760588e1f2f59a7fcb2f2080577e0085f23a0ca8eadd993b4e61c2ab29549fdb71969afd0"
456465 else
457- echo " WARNING: add missing hash for your host architecture. To find the value, use: ` find /tmp -name apk.static -exec sha512sum {} \; ` "
466+ echo " WARNING: add missing hash for your host architecture. To find the value, use: ' find /tmp -name apk.static -exec sha512sum {} \;' "
458467 fi
459468 echo " $__ApkToolsSHA512SUM $__ApkToolsDir /apk.static" | sha512sum -c
460469 chmod +x " $__ApkToolsDir /apk.static"
@@ -484,12 +493,14 @@ if [[ "$__CodeName" == "alpine" ]]; then
484493 fi
485494
486495 # initialize DB
496+ # shellcheck disable=SC2086
487497 " $__ApkToolsDir /apk.static" \
488498 -X " http://dl-cdn.alpinelinux.org/alpine/$version /main" \
489499 -X " http://dl-cdn.alpinelinux.org/alpine/$version /community" \
490500 -U $__ApkSignatureArg --root " $__RootfsDir " --arch " $__AlpineArch " --initdb add
491501
492502 if [[ " $__AlpineLlvmLibsLookup " == 1 ]]; then
503+ # shellcheck disable=SC2086
493504 __AlpinePackages+=" $( " $__ApkToolsDir /apk.static" \
494505 -X " http://dl-cdn.alpinelinux.org/alpine/$version /main" \
495506 -X " http://dl-cdn.alpinelinux.org/alpine/$version /community" \
@@ -498,6 +509,7 @@ if [[ "$__CodeName" == "alpine" ]]; then
498509 fi
499510
500511 # install all packages in one go
512+ # shellcheck disable=SC2086
501513 " $__ApkToolsDir /apk.static" \
502514 -X " http://dl-cdn.alpinelinux.org/alpine/$version /main" \
503515 -X " http://dl-cdn.alpinelinux.org/alpine/$version /community" \
@@ -521,6 +533,7 @@ elif [[ "$__CodeName" == "freebsd" ]]; then
521533 rm -rf " $__RootfsDir /tmp/pkg-${__FreeBSDPkg} "
522534 # install packages we need.
523535 INSTALL_AS_USER=$( whoami) " $__RootfsDir " /host/sbin/pkg -r " $__RootfsDir " -C " $__RootfsDir " /usr/local/etc/pkg.conf update
536+ # shellcheck disable=SC2086
524537 INSTALL_AS_USER=$( whoami) " $__RootfsDir " /host/sbin/pkg -r " $__RootfsDir " -C " $__RootfsDir " /usr/local/etc/pkg.conf install --yes $__FreeBSDPackages
525538elif [[ " $__CodeName " == " illumos" ]]; then
526539 mkdir " $__RootfsDir /tmp"
@@ -582,8 +595,8 @@ elif [[ "$__CodeName" == "haiku" ]]; then
582595 mkdir " $__RootfsDir /tmp/download"
583596
584597 echo " Downloading Haiku package tool"
585- git clone https://github.com/haiku/haiku-toolchains-ubuntu --depth 1 $__RootfsDir /tmp/script
586- wget -O " $__RootfsDir /tmp/download/hosttools.zip" $( $__RootfsDir /tmp/script/fetch.sh --hosttools)
598+ git clone https://github.com/haiku/haiku-toolchains-ubuntu --depth 1 " $__RootfsDir /tmp/script"
599+ wget -O " $__RootfsDir /tmp/download/hosttools.zip" " $( " $__RootfsDir /tmp/script/fetch.sh" --hosttools) "
587600 unzip -o " $__RootfsDir /tmp/download/hosttools.zip" -d " $__RootfsDir /tmp/bin"
588601
589602 DepotBaseUrl=" https://depot.haiku-os.org/__api/v2/pkg/get-pkg"
@@ -616,7 +629,7 @@ elif [[ "$__CodeName" == "haiku" ]]; then
616629
617630 # Download buildtools
618631 echo " Downloading Haiku buildtools"
619- wget -O " $__RootfsDir /tmp/download/buildtools.zip" $( $__RootfsDir /tmp/script/fetch.sh --buildtools --arch=$__HaikuArch )
632+ wget -O " $__RootfsDir /tmp/download/buildtools.zip" " $( " $__RootfsDir /tmp/script/fetch.sh" --buildtools --arch=$__HaikuArch ) "
620633 unzip -o " $__RootfsDir /tmp/download/buildtools.zip" -d " $__RootfsDir "
621634
622635 # Cleaning up temporary files
@@ -629,10 +642,12 @@ elif [[ -n "$__CodeName" ]]; then
629642 __Keyring=" $__Keyring --force-check-gpg"
630643 fi
631644
645+ # shellcheck disable=SC2086
632646 debootstrap " --variant=minbase" $__Keyring --arch " $__UbuntuArch " " $__CodeName " " $__RootfsDir " " $__UbuntuRepo "
633647 cp " $__CrossDir /$__BuildArch /sources.list.$__CodeName " " $__RootfsDir /etc/apt/sources.list"
634648 chroot " $__RootfsDir " apt-get update
635649 chroot " $__RootfsDir " apt-get -f -y install
650+ # shellcheck disable=SC2086
636651 chroot " $__RootfsDir " apt-get -y install $__UbuntuPackages
637652 chroot " $__RootfsDir " symlinks -cr /usr
638653 chroot " $__RootfsDir " apt-get clean
@@ -650,6 +665,5 @@ elif [[ "$__Tizen" == "tizen" ]]; then
650665 ROOTFS_DIR=" $__RootfsDir " " $__CrossDir /tizen-build-rootfs.sh" " $__BuildArch "
651666else
652667 echo " Unsupported target platform."
653- usage;
654- exit 1
668+ usage
655669fi
0 commit comments