From 723bde6e56d05561351c3dcce1d83b2c0132f6af Mon Sep 17 00:00:00 2001
From: "dylan.araps@gmail.com" <dylan.araps@gmail.com>
Date: Tue, 10 Sep 2019 12:19:18 +0000
Subject: kiss: removed KISS_ROOT (for now)

FossilOrigin-Name: 5ad728e37c0f08ce55c6c12d317ce2ccd48020f902ce3ba36f20af9c5622eddc
---
 kiss | 50 ++++++++++++++++++++++----------------------------
 1 file changed, 22 insertions(+), 28 deletions(-)

diff --git a/kiss b/kiss
index 5dbbd44..a071ab7 100755
--- a/kiss
+++ b/kiss
@@ -63,8 +63,7 @@ pkg_find() {
     # Find the repository containing a package.
     # Searches installed packages if the package is absent
     # from the repositories.
-    set -- "$1" $(IFS=:; find $KISS_PATH "$KISS_ROOT/$pkg_db" \
-                              -maxdepth 1 -name "$1")
+    set -- "$1" $(IFS=:; find $KISS_PATH "$pkg_db" -maxdepth 1 -name "$1")
 
     # A package may also not be found due to a repository not being
     # readable by the current user. Either way, we need to die here.
@@ -82,8 +81,7 @@ pkg_list() {
     # avoid having to 'basename' each path. If this fails,
     # set '$1' to mimic a failed glob which indicates that
     # nothing is installed.
-    cd "$KISS_ROOT/$pkg_db" 2>/dev/null ||
-        set -- "$KISS_ROOT/$pkg_db/"\*
+    cd "$pkg_db" 2>/dev/null || set -- "$pkg_db/"\*
 
     # Optional arguments can be passed to check for specific
     # packages. If no arguments are passed, list all. As we
@@ -93,7 +91,7 @@ pkg_list() {
 
     # If the 'glob' above failed, exit early as there are no
     # packages installed.
-    [ "$1" = "$KISS_ROOT/$pkg_db/"\* ] && return 1
+    [ "$1" = "$pkg_db/"\* ] && return 1
 
     # Loop over each package and print its name and version.
     for pkg; do
@@ -287,11 +285,10 @@ pkg_fixdeps() {
             dep=${dep% *}
 
             # Traverse symlinks to get the true path to the file.
-            dep=$(readlink -f "$KISS_ROOT/${dep##$KISS_ROOT}")
+            dep=$(readlink -f "/$dep")
 
             # Figure out which package owns the file.
-            dep=$(set +f; grep -lFx "${dep##$KISS_ROOT}" \
-                            "$KISS_ROOT/$pkg_db/"*/manifest)
+            dep=$(set +f; grep -lFx "$dep" "$pkg_db/"*/manifest)
 
             # Extract package name from 'grep' match.
             dep=${dep%/*}
@@ -559,7 +556,7 @@ pkg_conflicts() {
     set +f
 
     # Generate a list of all installed package manifests.
-    set -f -- "$KISS_ROOT/$pkg_db/"*/manifest
+    set -f -- "$pkg_db/"*/manifest
 
     # Go through the manifest list and filter out the
     # package which will be installed.
@@ -602,7 +599,7 @@ pkg_remove() {
     set +f
 
     # Make sure that nothing depends on this package.
-    [ "$2" = check ] && for file in "$KISS_ROOT/$pkg_db/"*; do
+    [ "$2" = check ] && for file in "$pkg_db/"*; do
         # Check each depends file for the package and if it's
         # a run-time dependency, append to the $required_by string.
         grep -qFx "$1" "$file/depends" 2>/dev/null &&
@@ -626,12 +623,12 @@ pkg_remove() {
         # manager from removing user edited configuration files.
         [ "${file##/etc/*}" ] || continue
 
-        if [ -d "$KISS_ROOT/$file" ]; then
-            rmdir "$KISS_ROOT/$file" 2>/dev/null || continue
+        if [ -d "/$file" ]; then
+            rmdir "/$file" 2>/dev/null || continue
         else
-            rm -f -- "$KISS_ROOT/$file"
+            rm -f -- "/$file"
         fi
-    done < "$KISS_ROOT/$pkg_db/$1/manifest"
+    done < "$pkg_db/$1/manifest"
 
     # Reset 'trap' to its original value. Removal is done so
     # we no longer need to block 'Ctrl+C'.
@@ -702,16 +699,15 @@ pkg_install() {
 
         # If the package is already installed (and this is an upgrade) make a
         # backup of the manifest file.
-        if [ -f "$KISS_ROOT/$pkg_db/$pkg_name/manifest" ]; then
-            old_manifest=$(cat "$KISS_ROOT/$pkg_db/$pkg_name/manifest")
+        if [ -f "$pkg_db/$pkg_name/manifest" ]; then
+            old_manifest=$(cat "$pkg_db/$pkg_name/manifest")
         else
             old_manifest=
         fi
 
         # This is repeated multiple times. Better to make it a function.
         pkg_rsync() {
-            rsync --chown=root:root -HKav --exclude etc -- \
-                "$tar_dir/$pkg_name/" "$KISS_ROOT/"
+            rsync --chown=root:root -HKav --exclude etc "$tar_dir/$pkg_name/" /
         }
 
         # Install the package by using 'rsync' and overwrite any existing files
@@ -721,12 +717,12 @@ pkg_install() {
         # If '/etc/' exists in the package, install it but don't overwrite.
         [ -d "$tar_dir/$pkg_name/etc" ] &&
             rsync --chown=root:root -HKav --ignore-existing \
-                "$tar_dir/$pkg_name/etc" "$KISS_ROOT/"
+                "$tar_dir/$pkg_name/etc" /
 
         # Remove any leftover files if this is an upgrade.
         [ "$old_manifest" ] && {
             printf '%s\n' "$old_manifest" |
-            grep -vFxf "$KISS_ROOT/$pkg_db/$pkg_name/manifest" - |
+            grep -vFxf "$pkg_db/$pkg_name/manifest" - |
 
             while read -r file; do
                 # Skip deleting some leftover files.
@@ -734,8 +730,6 @@ pkg_install() {
                     /etc/*|*bin/rm|*bin/busybox|*bin/rsync) continue ;;
                 esac
 
-                file=$KISS_ROOT/$file
-
                 # Remove files.
                 if [ -f "$file" ] && [ ! -L "$file" ]; then
                     rm -f "$file"
@@ -764,9 +758,9 @@ pkg_install() {
         # we no longer need to block 'Ctrl+C'.
         trap pkg_clean EXIT INT
 
-        [ -x "$KISS_ROOT/$pkg_db/$pkg_name/post-install" ] && {
+        [ -x "$pkg_db/$pkg_name/post-install" ] && {
             log "[$pkg_name] Running post-install script"
-            "$KISS_ROOT/$pkg_db/$pkg_name/post-install" ||:
+            "$pkg_db/$pkg_name/post-install" ||:
         }
 
         log "[$pkg_name] Installed successfully"
@@ -819,7 +813,7 @@ pkg_updates() {
     # Enable globbing.
     set +f
 
-    for pkg in "$KISS_ROOT/$pkg_db/"*; do
+    for pkg in "$pkg_db/"*; do
         pkg_name=${pkg##*/}
 
         # Read version and release information from the installed packages
@@ -916,7 +910,7 @@ args() {
         b|build)
             # If no arguments were passed, rebuild all packages.
             [ "$1" ] || {
-                cd "$KISS_ROOT/$pkg_db" || die "Failed to find package db"
+                cd "$pkg_db" || die "Failed to find package db"
 
                 # Use a glob after 'cd' to generate a list of all installed
                 # packages based on directory names.
@@ -1014,7 +1008,7 @@ args() {
 
 main() {
     # Set the location to the repository and package database.
-    pkg_db=var/db/kiss/installed
+    pkg_db=/var/db/kiss/installed
 
     # The PID of the current shell process is used to isolate directories
     # to each specific KISS instance. This allows multiple package manager
@@ -1032,7 +1026,7 @@ main() {
 
     # Create the required temporary directories and set the variables
     # which point to them.
-    mkdir -p "${cac_dir:=$KISS_ROOT${XDG_CACHE_HOME:-$HOME/.cache}/kiss}" \
+    mkdir -p "${cac_dir:=${XDG_CACHE_HOME:-$HOME/.cache}/kiss}" \
              "${mak_dir:=$cac_dir/build-$pid}" \
              "${pkg_dir:=$cac_dir/pkg-$pid}" \
              "${tar_dir:=$cac_dir/extract-$pid}" \
-- 
cgit v1.2.3