From 4bc141d2af8a68b4235f4c5a40e21c54c6ce8343 Mon Sep 17 00:00:00 2001 From: Yorick Barbanneau Date: Tue, 5 Oct 2021 16:40:55 +0200 Subject: [PATCH 1/3] Rename process functions --- src/dotinstall | 50 ++++++++++++++++++++++++++++++++++---------------- 1 file changed, 34 insertions(+), 16 deletions(-) diff --git a/src/dotinstall b/src/dotinstall index f20c561..a6b2a41 100755 --- a/src/dotinstall +++ b/src/dotinstall @@ -209,13 +209,12 @@ private:update_repository () cd "$current_dir" || die "Can't return to directory $current_dir" } -process_dirs () { - - # Process a directory than contains subdir, create symblink from each subdir - # to the destination. - # - # $1: source directory - # $2: destination directory +link_directory () { + + # Create a symblink to directory inside an other directory + # + # $1: source directory + # $2: destination directory local source source="${repository}/$1" @@ -223,23 +222,42 @@ process_dirs () { dest="$2" printf "\nProcess directory %s\n" "$source" + [ ! -d "$source" ] && { error " -> source is not a directory"; return; } + [ ! -d "$dest" ] && { error " -> destination is not a directory"; return; } + + if [ $install -eq 1 ] + then + private:create_symblink "$source" "${dest}/$(basename "$d")" + else + local symblink="${dest}/$(basename "$d")" + private:remove_symblink "$symblink" + fi +} + +link_directories () { + + # Process a directory than contains subdir, create symblink from each subdir + # to the destination. + # + # $1: source directory + # $2: destination directory + + local source + source="$1" + local dest + dest="$2" + printf "\nProcess directory %s\n" "$source" + [ ! -d "$source" ] && { error " -> source is not a directory"; return; } [ ! -d "$dest" ] && { error " -> destination is not a directory"; return; } while read -r d do - if [ $install -eq 1 ] - then - private:create_symblink "$d" "${dest}/$(basename "$d")" - else - local symblink="${dest}/$(basename "$d")" - private:remove_symblink "$symblink" - fi - + link_directory "$d" "${dest}" done < <(ls -d -1 "${source}"/*/) } -process_files () { +link_files () { # Process a directory than contains config files, create symblink from each # files to the destination. From bc2836bbda090c224eebfe794d0f3607d82bb1e0 Mon Sep 17 00:00:00 2001 From: Yorick Barbanneau Date: Tue, 5 Oct 2021 22:20:52 +0200 Subject: [PATCH 2/3] Some corrections on link_* functions --- src/dotinstall | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/src/dotinstall b/src/dotinstall index a6b2a41..8669469 100755 --- a/src/dotinstall +++ b/src/dotinstall @@ -217,11 +217,15 @@ link_directory () { # $2: destination directory local source - source="${repository}/$1" + source="$1" local dest dest="$2" printf "\nProcess directory %s\n" "$source" - + if [[ ! $source =~ ^$repository ]] + then + echo "Add repo before source" + source="${repository}/$source" + fi [ ! -d "$source" ] && { error " -> source is not a directory"; return; } [ ! -d "$dest" ] && { error " -> destination is not a directory"; return; } @@ -248,13 +252,10 @@ link_directories () { dest="$2" printf "\nProcess directory %s\n" "$source" - [ ! -d "$source" ] && { error " -> source is not a directory"; return; } - [ ! -d "$dest" ] && { error " -> destination is not a directory"; return; } - while read -r d do link_directory "$d" "${dest}" - done < <(ls -d -1 "${source}"/*/) + done < <(ls -d -1 "${repository}/${source}"/*/) } link_files () { From 94e1996ed4fb1a184b8fa516791de5877966f445 Mon Sep 17 00:00:00 2001 From: Yorick Barbanneau Date: Tue, 5 Oct 2021 22:43:15 +0200 Subject: [PATCH 3/3] Add process_* function for compatibility --- src/dotinstall | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/dotinstall b/src/dotinstall index 8669469..07d2a8d 100755 --- a/src/dotinstall +++ b/src/dotinstall @@ -258,6 +258,12 @@ link_directories () { done < <(ls -d -1 "${repository}/${source}"/*/) } +process_dirs () { + + printf "This function is deprecated, use link_directories instead.\n" + link_directories $@ +} + link_files () { # Process a directory than contains config files, create symblink from each @@ -290,6 +296,10 @@ link_files () { done < <(ls -A -1 "$source") } +process_files () { + printf "process_files is deprecated, use link_files instead\n" + link_files $@ +} install_service () {