diff --git a/kiss b/kiss index 8fca6f3..3c103ef 100755 --- a/kiss +++ b/kiss @@ -695,18 +695,18 @@ pkg_install() { # Install the package by using 'rsync' and overwrite any existing files # (excluding '/etc/'). - rsync -Kav --exclude etc -- "$tar_dir/" "$KISS_ROOT/" + rsync -HKav --exclude etc -- "$tar_dir/" "$KISS_ROOT/" # If '/etc/' exists in the package, install it but don't overwrite. [ -d "$tar_dir/etc" ] && - rsync -Kav --ignore-existing "$tar_dir/etc" "$KISS_ROOT/" + rsync -HKav --ignore-existing "$tar_dir/etc" "$KISS_ROOT/" # Remove any leftover files if this is an upgrade. [ -f "$cac_dir/m-$pkg_name" ] && awk 'NR==FNR{lines[$0];next}!($0 in lines)' \ "$KISS_ROOT/$pkg_db/$pkg_name/manifest" "$cac_dir/m-$pkg_name" | while read -r file; do - rm -f "$KISS_ROOT/$file" + [ -f "$KISS_ROOT/$file" ] && rm -f "$KISS_ROOT/$file" done # Reset 'trap' to its original value. Installation is done so