File tree Expand file tree Collapse file tree 1 file changed +17
-5
lines changed Expand file tree Collapse file tree 1 file changed +17
-5
lines changed Original file line number Diff line number Diff line change @@ -630,18 +630,30 @@ SSH
630
630
kexecUrl=${kexecUrl/ " github.com" / " gh-v6.com" }
631
631
fi
632
632
633
+ # gnu tar cannot automatically detect the compression when decompressing via stdin
634
+ tarDecomp=" "
635
+ if [[ ${kexecUrl} =~ \. tar\. gz$ ]]; then
636
+ tarDecomp=" --gzip"
637
+ elif [[ ${kexecUrl} =~ \. tar\. xz$ ]]; then
638
+ tarDecomp=" --xz"
639
+ elif [[ ${kexecUrl} =~ \. tar\. zstd$ ]]; then
640
+ tarDecomp=" --zstd"
641
+ elif [[ ${kexecUrl} =~ \. tar$ ]]; then
642
+ tarDecomp=" "
643
+ fi
644
+
633
645
if [[ -f $kexecUrl ]]; then
634
- runSsh " ${maybeSudo} tar -C /root/kexec -xvzf- " < " $kexecUrl "
646
+ runSsh " ${maybeSudo} tar -C /root/kexec -xv ${tarDecomp} " < " $kexecUrl "
635
647
elif [[ ${hasCurl} == " y" ]]; then
636
- runSsh " curl --fail -Ss -L '${kexecUrl} ' | ${maybeSudo} tar -C /root/kexec -xvzf- "
648
+ runSsh " curl --fail -Ss -L '${kexecUrl} ' | ${maybeSudo} tar -C /root/kexec -xv ${tarDecomp} "
637
649
elif [[ ${hasWget} == " y" ]]; then
638
- runSsh " wget '${kexecUrl} ' -O- | ${maybeSudo} tar -C /root/kexec -xvzf- "
650
+ runSsh " wget '${kexecUrl} ' -O- | ${maybeSudo} tar -C /root/kexec -xv ${tarDecomp} "
639
651
else
640
- curl --fail -Ss -L " ${kexecUrl} " | runSsh " ${maybeSudo} tar -C /root/kexec -xvzf- "
652
+ curl --fail -Ss -L " ${kexecUrl} " | runSsh " ${maybeSudo} tar -C /root/kexec -xv ${tarDecomp} "
641
653
fi
642
654
643
655
runSsh << SSH
644
- TMPDIR=/root/kexec setsid ${maybeSudo} /root/kexec/kexec/run --kexec-extra-flags "${kexecExtraFlags} "
656
+ TMPDIR=/root/kexec setsid ${maybeSudo} /root/kexec/kexec/run --kexec-extra-flags "${kexecExtraFlags} "
645
657
SSH
646
658
647
659
# use the default SSH port to connect at this point
You can’t perform that action at this time.
0 commit comments