diff options
author | Aaron Griffin <aaronmgriffin@gmail.com> | 2007-11-29 20:58:00 +0100 |
---|---|---|
committer | Dan McGee <dan@archlinux.org> | 2007-12-11 06:02:07 +0100 |
commit | 565d2eeed5fdd85b516cbc76bc48be439e42c41f (patch) | |
tree | f17e86c79386c3e977bb9625013886dd74af2071 | |
parent | 9781d0d637fb2a077b0c4b262af1e2fb4decc2a0 (diff) | |
download | pacman-565d2eeed5fdd85b516cbc76bc48be439e42c41f.tar.gz pacman-565d2eeed5fdd85b516cbc76bc48be439e42c41f.tar.xz |
Correct scriptlet usage pattern
The new pattern is as follows:
. /path/to/scriptlet
post_upgrade X Y
This requires less frameworking in the install scripts (the three lines that
shift and eval a function are nasty)
Signed-off-by: Aaron Griffin <aaronmgriffin@gmail.com>
Signed-off-by: Dan McGee <dan@archlinux.org>
-rw-r--r-- | contrib/proto.install | 4 | ||||
-rw-r--r-- | lib/libalpm/trans.c | 7 |
2 files changed, 2 insertions, 9 deletions
diff --git a/contrib/proto.install b/contrib/proto.install index 4bf55280..074840e4 100644 --- a/contrib/proto.install +++ b/contrib/proto.install @@ -33,8 +33,4 @@ post_remove() { /bin/true } -op=$1 -shift -["$(type -t "$op")" = "function" ] && $op "$@" - # vim:set ts=2 sw=2 et: diff --git a/lib/libalpm/trans.c b/lib/libalpm/trans.c index 4bc0ce74..70e34d43 100644 --- a/lib/libalpm/trans.c +++ b/lib/libalpm/trans.c @@ -511,9 +511,6 @@ int _alpm_runscriptlet(const char *root, const char *installfn, goto cleanup; } - /* mark the scriptlet as executable */ - chmod(scriptfn, 0755); - /* chop off the root so we can find the tmpdir in the chroot */ scriptpath = scriptfn + strlen(root) - 1; @@ -538,10 +535,10 @@ int _alpm_runscriptlet(const char *root, const char *installfn, _alpm_log(PM_LOG_DEBUG, "executing %s script...\n", script); if(oldver) { - snprintf(cmdline, PATH_MAX, "%s %s %s %s", + snprintf(cmdline, PATH_MAX, ". %s; %s %s %s", scriptpath, script, ver, oldver); } else { - snprintf(cmdline, PATH_MAX, "%s %s %s", + snprintf(cmdline, PATH_MAX, ". %s; %s %s", scriptpath, script, ver); } _alpm_log(PM_LOG_DEBUG, "%s\n", cmdline); |