diff options
Diffstat (limited to 'src/cpt-install')
-rwxr-xr-x | src/cpt-install | 20 |
1 files changed, 13 insertions, 7 deletions
diff --git a/src/cpt-install b/src/cpt-install index aab70ea..8bafba6 100755 --- a/src/cpt-install +++ b/src/cpt-install @@ -10,7 +10,7 @@ parser_definition() { if [ -f ./cpt-lib ]; then . ./cpt-lib; else . cpt-lib; fi -[ "$1" ] || { set -- "${PWD##*/}"; export CPT_PATH=${PWD%/*}:$CPT_PATH ;} +[ "$1" ] || { set -- "${PWD##*/}"; export CPT_PATH="${PWD%/*}:$CPT_PATH" ;} [ -w "$CPT_ROOT/" ] || [ "$uid" = 0 ] || { as_root "$0" "$@" @@ -18,7 +18,6 @@ if [ -f ./cpt-lib ]; then . ./cpt-lib; else . cpt-lib; fi } pkg_order "$@" - create_cache # shellcheck disable=2154 @@ -28,14 +27,21 @@ for pkg in $order; do pkg_install "$pkg"; done log "Retrieving post-installation message queue" unset msg +# After all the installations are finished, run an end-install hook. There may +# be some things that we may want to run, but not per package. +run_hook end-install "" "$CPT_ROOT" + for pkg in $order; do + # Ensure that we use package names itself, and not the tarball name if given. + pkg=${pkg##*/} pkg=${pkg%#*} + [ -f "$sys_db/$pkg/message" ] && { - printf '%s\n%s\n%s\n\n' \ - "=======================================" \ + printf '\033[1m%s\n%s\n%s\033[m\n\n' \ + "$(_multiply_char '=' 60)" \ "$pkg" \ - "=======================================" - cat "$sys_db/$pkg/message" >&2 + "$(_multiply_char '=' 60)" + cat "$sys_db/$pkg/message" msg=1 } -done +done >&2 [ "$msg" ] || log "No message in queue" |