diff --git a/cdist/conf/type/__link/gencode-remote b/cdist/conf/type/__link/gencode-remote index 7582863f..9e7831c7 100755 --- a/cdist/conf/type/__link/gencode-remote +++ b/cdist/conf/type/__link/gencode-remote @@ -47,24 +47,22 @@ case "$state_should" in present) if [ "$file_type" = "directory" ]; then # our destination is currently a directory, delete it - cat << DONE -rm -rf "$destination" -DONE - fi - - if [ "$state_is" = "wrongsource" ]; then - printf 'rm -f "%s"\n' "$destination" + printf 'rm -rf "%s" &&\n' "$destination" + else + if [ "$state_is" = "wrongsource" ]; then + # our destination is a symlink but points to the wrong source, + # delete it + printf 'rm -f "%s" &&\n' "$destination" + fi fi # create our link - cat << DONE -ln ${lnopt} -f "$source" "$destination" -DONE + printf 'ln %s -f "%s" "%s"\n' "$lnopt" "$source" "$destination" ;; absent) # only delete if it is a sym/hard link if [ "$file_type" = "symlink" -o "$file_type" = "hardlink" ]; then - echo rm -f \"$destination\" + printf 'rm -f "%s"\n' "$destination" fi ;; *)