From a2cce399d7d6fe1758e698e752143d31da9fb259 Mon Sep 17 00:00:00 2001 From: "dylan.araps@gmail.com" Date: Sun, 16 Jun 2019 16:50:56 +0000 Subject: kiss: Fix pkg_install if coreutils is reinstalled. FossilOrigin-Name: 49db3f380a88be385c8d8db302a61f6e67733d9e3a235aba2ddb7f4a74bd603a --- kiss | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/kiss b/kiss index a2edff5..a35f9d0 100755 --- a/kiss +++ b/kiss @@ -137,8 +137,13 @@ pkg_tar() { pkg_install() { [ -f "$bin_dir/$pkg" ] || args b "$name" + # Create a backup of 'tar' so it isn't removed during + # package installation. + cp "$(command -v tar)" "$cac_dir" + pkg_remove "$name" - tar pxvf "$bin_dir/$pkg" -k -C "$sys_dir/" 2>/dev/null + "$cac_dir/tar" kpxvf "$bin_dir/$pkg" -C "$sys_dir/" + rm "$cac_dir/tar" "$sys_db/$name/post-install" 2>/dev/null @@ -148,13 +153,18 @@ pkg_install() { pkg_remove() { pkg_list "$name" || return 1 + # Create a backup of 'rm' and 'rmdir' so they aren't + # removed during package installation. + cp "$(command -v rm)" "$cac_dir" + cp "$(command -v rmdir)" "$cac_dir" + while read -r file; do [ "${file%/*}" = /etc ] && continue if [ -d "$sys_dir$file" ]; then - rmdir "$sys_dir$file" 2>/dev/null || continue + "$cac_dir/rmdir" "$sys_dir$file" 2>/dev/null || continue else - rm -f -- "$sys_dir$file" || log "Failed to remove $file." + "$cac_dir/rm" -f -- "$sys_dir$file" || log "Failed to remove $file." fi && log "Removed $file" done < "$sys_db/$name/manifest" } -- cgit v1.2.3 From 78d2bce2962934cc444dfd82b3ccb35fa0fff981 Mon Sep 17 00:00:00 2001 From: "dylan.araps@gmail.com" Date: Sun, 16 Jun 2019 16:54:29 +0000 Subject: kiss: Removed backed up versions of rm/rmdir FossilOrigin-Name: 6416020e612c28b40aadb4f05cd6502a300a35caabc2e78a34ce27adfd7ad744 --- kiss | 3 +++ 1 file changed, 3 insertions(+) diff --git a/kiss b/kiss index a35f9d0..d00c0b5 100755 --- a/kiss +++ b/kiss @@ -167,6 +167,9 @@ pkg_remove() { "$cac_dir/rm" -f -- "$sys_dir$file" || log "Failed to remove $file." fi && log "Removed $file" done < "$sys_db/$name/manifest" + + # Use the backup of 'rm' to remove 'rmdir' and itself. + "$cac_dir/rm" "$cac_dir/rmdir" "$cac_dir/rm" } pkg_updates() { -- cgit v1.2.3 From 64c03611bf66a2a6c950dedd876e57531476b890 Mon Sep 17 00:00:00 2001 From: "dylan.araps@gmail.com" Date: Sun, 16 Jun 2019 16:59:20 +0000 Subject: docs: update FossilOrigin-Name: 12def2e89d5b1ac52282b893be4e664d147f77d584c5899235a62d4c2e075897 --- kiss | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kiss b/kiss index d00c0b5..802589d 100755 --- a/kiss +++ b/kiss @@ -154,7 +154,7 @@ pkg_remove() { pkg_list "$name" || return 1 # Create a backup of 'rm' and 'rmdir' so they aren't - # removed during package installation. + # removed during package removal. cp "$(command -v rm)" "$cac_dir" cp "$(command -v rmdir)" "$cac_dir" -- cgit v1.2.3 From e1e0f8cf3b6769d3d3a8127cf3fc2c82ae2e083d Mon Sep 17 00:00:00 2001 From: "dylan.araps@gmail.com" Date: Sun, 16 Jun 2019 17:35:38 +0000 Subject: docs: update FossilOrigin-Name: d39892f2b26bd9db26cc4d62ccd36afc00556b94b108ec5df811c42476d95537 --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 987622f..0f4f7d7 100644 --- a/README.md +++ b/README.md @@ -31,7 +31,7 @@ See: POSIX `coreutils`: -- `cat`, `cp`, `find`, `mkdir`, `sh`, `rm`, `rmdir`, `sed`, `tee` +- `cat`, `command`, `cp`, `find`, `mkdir`, `sh`, `rm`, `rmdir`, `sed`, `tee` Other utilities: -- cgit v1.2.3