diff --git a/get.sh b/get.sh index 9ac4d15bf0..de76ae04f3 100755 --- a/get.sh +++ b/get.sh @@ -323,8 +323,12 @@ getBinaryOpenjdk() if [[ $jar_name == *zip || $jar_name == *jar ]]; then unzip -q $jar_name -d $extract_dir else - # some debug-image tar has parent folder. This is like gtar --strip 1 - mkdir dir.$$ && cd dir.$$ && gzip -cd ../$jar_name | tar xof - && cd * && tar cf - . | (cd ../../$extract_dir && tar xpf -) && cd ../.. && rm -rf dir.$$ + # some debug-image tar has parent folder ... strip it + if tar --version | grep GNU > /dev/null 2>&1; then + gzip -cd $jar_name | tar xof - -C $extract_dir --strip 1 + else + mkdir dir.$$ && cd dir.$$ && gzip -cd ../$jar_name | tar xof - && cd * && tar cf - . | (cd ../../$extract_dir && tar xpf -) && cd ../.. && rm -rf dir.$$ + fi fi else if [ -d "$SDKDIR/openjdkbinary/tmp" ]; then