From 6727f84b6d10fe77981b3e8117f436ec1039f643 Mon Sep 17 00:00:00 2001 From: Mohammad Akhlaghi Date: Mon, 7 Sep 2020 19:42:03 +0100 Subject: Software installation: removed IFS statements in pre-make-build.sh Until a recent commit, the IFS='"' was added at the start of the variables in this shell script and as a result, the SPACE character wasn't being used as a delimiter. This caused a major problem when downloading the tarballs (all the backup servers were considered as the top link). With this commit we removed these 'IFS' statements). Because we now check for the existance of meta-characters in the build directory name, there is no more problem, and also generally both the calling command and internally, we have double-qutations around the variable names. So removal of IFS will not affect the result in this scenario. This bug was found by Mohammadreza Khellat. --- reproduce/software/shell/pre-make-build.sh | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'reproduce/software/shell') diff --git a/reproduce/software/shell/pre-make-build.sh b/reproduce/software/shell/pre-make-build.sh index a18966f..f11e6e6 100755 --- a/reproduce/software/shell/pre-make-build.sh +++ b/reproduce/software/shell/pre-make-build.sh @@ -31,10 +31,10 @@ set -e # Input arguments (the 'IFS's are to allow space in the name). -IFS='"' bdir="$1" -IFS='"' ddir="$2" -IFS='"' downloader="$3" -IFS='"' user_backup_urls="$4" +bdir="$1" +ddir="$2" +downloader="$3" +user_backup_urls="$4" -- cgit v1.2.1 From 24d01f55d675348b1b4e9c022aab80af66100e9e Mon Sep 17 00:00:00 2001 From: Mohammad Akhlaghi Date: Tue, 8 Sep 2020 01:25:29 +0100 Subject: Removed all occurances of IFS in low-level scripts Following the previous commit, we recognized that the 'IFS' terms are not necessary and can be even cause problems. So all their occurances in the scripts of Maneage have been removed with this commit. --- reproduce/software/shell/configure.sh | 4 ++-- reproduce/software/shell/pre-make-build.sh | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) (limited to 'reproduce/software/shell') diff --git a/reproduce/software/shell/configure.sh b/reproduce/software/shell/configure.sh index 21fe1d6..bc43540 100755 --- a/reproduce/software/shell/configure.sh +++ b/reproduce/software/shell/configure.sh @@ -188,7 +188,7 @@ check_permission () free_space_warning() { fs_threshold=$1 - IFS='"' fs_destpath="$2" + fs_destpath="$2" return $(df "$fs_destpath" \ | awk 'FNR==2 {if($4>'$fs_threshold') print 1; \ else print 0; }') @@ -873,7 +873,7 @@ EOF # manipulate file permissions in the directory's filesystem and if # so, see if there is atleast 5GB free space. if ! [ x"$bdir" = x ]; then - if ! $(IFS='"' check_permission "$bdir"); then + if ! $(check_permission "$bdir"); then # Unable to handle permissions well bdir= echo " ** File permissions can't be modified in this directory" diff --git a/reproduce/software/shell/pre-make-build.sh b/reproduce/software/shell/pre-make-build.sh index f11e6e6..4e7d6ad 100755 --- a/reproduce/software/shell/pre-make-build.sh +++ b/reproduce/software/shell/pre-make-build.sh @@ -30,7 +30,7 @@ set -e -# Input arguments (the 'IFS's are to allow space in the name). +# Input arguments. bdir="$1" ddir="$2" downloader="$3" -- cgit v1.2.1