aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xkiss9
1 files changed, 6 insertions, 3 deletions
diff --git a/kiss b/kiss
index 07d6bb5..dc7b5e2 100755
--- a/kiss
+++ b/kiss
@@ -693,6 +693,9 @@ pkg_install() {
[ -f "$KISS_ROOT/$pkg_db/$pkg_name/manifest" ] &&
cp -f "$KISS_ROOT/$pkg_db/$pkg_name/manifest" "$cac_dir/m-$pkg_name"
+ # Make a backup of the `rm` command so it isn't removed below.
+ cp "$(command -v rm)" "$cac_dir"
+
# Install the package by using 'rsync' and overwrite any existing files
# (excluding '/etc/').
rsync -HKav --exclude etc -- "$tar_dir/" "$KISS_ROOT/"
@@ -706,7 +709,7 @@ pkg_install() {
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
- [ -f "$KISS_ROOT/$file" ] && rm -f "$KISS_ROOT/$file"
+ [ -f "$KISS_ROOT/$file" ] && "$cac_dir/rm" -f "$KISS_ROOT/$file"
done
# Install the package again to fix any non-leftover files being
@@ -795,7 +798,7 @@ pkg_clean() {
rm -rf -- "$mak_dir" "$pkg_dir" "$tar_dir"
# Remove temporary files.
- (set +f; rm -f "$cac_dir/c-"* "$cac_dir/m-"*)
+ (set +f; rm -f "$cac_dir/c-"* "$cac_dir/m-"* "$cac_dir/rm")
}
root_check() {
@@ -965,7 +968,7 @@ args() {
# Print version and exit.
v*)
- log "kiss 0.5.6"
+ log "kiss 0.5.7"
;;
# Catch all invalid arguments as well as