aboutsummaryrefslogtreecommitdiff
path: root/src/cpt-install
diff options
context:
space:
mode:
Diffstat (limited to 'src/cpt-install')
-rwxr-xr-xsrc/cpt-install20
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"