pkg_install: Simplify find commands.

This commit is contained in:
Dylan Araps 2019-07-05 20:07:11 +03:00
parent ca9e19edeb
commit d217c065cd
1 changed files with 4 additions and 13 deletions

17
kiss
View File

@ -690,21 +690,12 @@ pkg_install() {
# Create all of the package's directories.
# Optimization: Only find the deepest directories.
"$cac_dir/find" . -type d -links -3 -prune | while read -r dir; do
"$cac_dir/mkdir" -p "$KISS_ROOT/${dir#./}"
done
"$cac_dir/find" . -type d -links -3 -prune \
-exec "$cac_dir/mkdir" -p "$KISS_ROOT/"{} \;
# Move all package files to '$KISS_ROOT'.
"$cac_dir/find" ./ -mindepth 1 -not -type d | while read -r file; do
rpath=${file#.}
# Don't overwrite existing '/etc' files.
[ -z "${rpath##/etc/*}" ] &&
[ -f "$KISS_ROOT/${rpath%/*}/${file##*/}" ] &&
return
"$cac_dir/mv" "$file" "$KISS_ROOT/${rpath%/*}" ||:
done
"$cac_dir/find" . -mindepth 1 -not -type d \
-exec "$cac_dir/mv" -n {} "$KISS_ROOT/"{} \;
# Reset 'trap' to its original value. Installation is done so
# we no longer need to block 'Ctrl+C'.