From c7fc36be06ddabca62c860b6753e516e8494c328 Mon Sep 17 00:00:00 2001
From: "dylan.araps@gmail.com" <dylan.araps@gmail.com>
Date: Sat, 20 Jul 2019 16:08:35 +0000
Subject: kiss: Safeguard against musl breakage.

FossilOrigin-Name: 1fec54f61612e856dc8f231c4d45a1bc8081eee41736998d39726885a2adc562
---
 kiss | 13 +++++++++++--
 1 file changed, 11 insertions(+), 2 deletions(-)

(limited to 'kiss')

diff --git a/kiss b/kiss
index 9dc2b60..587db68 100755
--- a/kiss
+++ b/kiss
@@ -600,6 +600,9 @@ pkg_remove() {
     cp "$(command -v rm)"    "$cac_dir"
     cp "$(command -v rmdir)" "$cac_dir"
 
+    # Don't remove `musl`. This safegaurds against breaking the system.
+    [ "$1" != musl ] || return 0
+
     # The package is not installed, don't do anything.
     pkg_list "$1" >/dev/null || {
         log "[$1]: Not installed."
@@ -719,10 +722,16 @@ pkg_install() {
         # an incomplete package installed.
         trap '' INT
 
+        # Don't ignore existing files when installing `musl`.
+        case $pkg_name in
+            musl) rsync_ignore= ;;
+            *)    rsync_ignore=--ignore-existing ;;
+        esac
+
         # "Install" the package using 'rsync'. None of the coreutils could
         # correctly accomplish this task. The preservation of permissions,
         # proper handling of existing files etc.
-        "$cac_dir/rsync" --ignore-existing -a "$tar_dir/" "$KISS_ROOT/"
+        "$cac_dir/rsync" "$rsync_ignore" -a "$tar_dir/" "$KISS_ROOT/"
 
         # Reset 'trap' to its original value. Installation is done so
         # we no longer need to block 'Ctrl+C'.
@@ -952,7 +961,7 @@ args() {
 
         # Print version and exit.
         v*)
-            log "$kiss 0.4.1"
+            log "$kiss 0.4.2"
         ;;
 
         # Catch all invalid arguments as well as
-- 
cgit v1.2.3