diff options
Diffstat (limited to 'kiss')
-rwxr-xr-x | kiss | 14 |
1 files changed, 8 insertions, 6 deletions
@@ -859,7 +859,7 @@ pkg_install_files() { sort "$2/$pkg_db/${2##*/}/manifest" | while read -r line; do i=$((i+1)) # Grab the permissions so that we can preserve them. - perms=$(stat -c %a "$tar_dir/$pkg_name/$line") + rwx=$(stat -c %a "$tar_dir/$pkg_name/$line") # Copy files and create directories (preserving permissions), # skipping anything located in /etc/. @@ -868,15 +868,17 @@ pkg_install_files() { # for overwrite. case $line in /etc/*) ;; */) [ -d "$line" ] || - install -o root -g root -m "$perms" -d "$line" ;; - *) test "$1" "$line" || + install -o root -g root -m "$rwx" \ + -d "$KISS_ROOT/$line" ;; + *) test "$1" "$KISS_ROOT/$line" || if [ -L "$2/$line" ]; then - [ -d "$line" ] && continue + [ -d "$KISS_ROOT/$line" ] && continue cp -fPp "$2/$line" "${line%/*}" - chown -h root:root "$line" + chown -h root:root "$KISS_ROOT/$line" else - install -o root -g root -m "$perms" "$2/$line" "$line" + install -o root -g root -m "$rwx" \ + "$2/$line" "$KISS_ROOT/$line" fi esac |