From 440df023552a2a7dd9601067b96769d1eebf8506 Mon Sep 17 00:00:00 2001 From: Mounir IDRASSI Date: Tue, 13 Jun 2023 23:34:04 +0200 Subject: [PATCH] Linux: Fix compatibility of generic installers with old Linux distros In old Linux distributions, tar command doesn't support "--keep-directory-symlink" so we now dynamically detect if this switch is support and then we use it if it is available --- src/Main/Main.make | 2 +- src/Setup/Linux/veracrypt_install_template.sh | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/Main/Main.make b/src/Main/Main.make index 57e6dccf..79478592 100755 --- a/src/Main/Main.make +++ b/src/Main/Main.make @@ -284,7 +284,7 @@ package: prepare @echo "VERSION=$(TC_VERSION)" >> $(INTERNAL_INSTALLER_NAME) @echo "PACKAGE_TYPE=tar" >> $(INTERNAL_INSTALLER_NAME) @echo "PACKAGE_NAME=$(PACKAGE_NAME)" >> $(INTERNAL_INSTALLER_NAME) - @echo "PACKAGE_START=1107" >> $(INTERNAL_INSTALLER_NAME) + @echo "PACKAGE_START=1111" >> $(INTERNAL_INSTALLER_NAME) @echo "INSTALLER_TYPE=$(INSTALLER_TYPE)" >> $(INTERNAL_INSTALLER_NAME) @cat $(BASE_DIR)/Setup/Linux/veracrypt_install_template.sh >> $(INTERNAL_INSTALLER_NAME) diff --git a/src/Setup/Linux/veracrypt_install_template.sh b/src/Setup/Linux/veracrypt_install_template.sh index 966e6f81..9f7a99de 100644 --- a/src/Setup/Linux/veracrypt_install_template.sh +++ b/src/Setup/Linux/veracrypt_install_template.sh @@ -32,7 +32,11 @@ KTERM=0 case $PACKAGE_TYPE in tar) PACKAGE_INSTALLER=tar - PACKAGE_INSTALLER_OPTS='-C / --keep-directory-symlink --no-overwrite-dir -xpzvf' + if tar --help | grep -q -- '--keep-directory-symlink'; then + PACKAGE_INSTALLER_OPTS='-C / --keep-directory-symlink --no-overwrite-dir -xpzvf' + else + PACKAGE_INSTALLER_OPTS='-C / --no-overwrite-dir -xpzvf' + fi ;; esac