From 565d2eeed5fdd85b516cbc76bc48be439e42c41f Mon Sep 17 00:00:00 2001
From: Aaron Griffin <aaronmgriffin@gmail.com>
Date: Thu, 29 Nov 2007 13:58:00 -0600
Subject: 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>
---
 lib/libalpm/trans.c | 7 ++-----
 1 file changed, 2 insertions(+), 5 deletions(-)

(limited to 'lib/libalpm')

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);
-- 
cgit v1.2.3-70-g09d2