summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDan McGee <dan@archlinux.org>2007-06-27 22:12:59 -0400
committerDan McGee <dan@archlinux.org>2007-06-27 22:12:59 -0400
commitad691001e20272b794d2ed574b556f520e3555c0 (patch)
tree03936c85dc0ce627bad177a5b250d661d9d95978
parent1e56e41d638fcdddc291d9a8ea183b40f4802aae (diff)
downloadpacman-ad691001e20272b794d2ed574b556f520e3555c0.tar.xz
Remove scriptlet START and DONE commands that we don't use
The scriptlet calling had some unneeded complexity for the time being which we aren't using here. Let's get rid of it until we find a good way to implement it correctly. Signed-off-by: Dan McGee <dan@archlinux.org>
-rw-r--r--lib/libalpm/alpm.h3
-rw-r--r--lib/libalpm/trans.c33
-rw-r--r--lib/libalpm/util.h4
-rw-r--r--src/pacman/callback.c14
4 files changed, 1 insertions, 53 deletions
diff --git a/lib/libalpm/alpm.h b/lib/libalpm/alpm.h
index 98115241..add835d2 100644
--- a/lib/libalpm/alpm.h
+++ b/lib/libalpm/alpm.h
@@ -287,9 +287,6 @@ typedef enum _pmtransevt_t {
PM_TRANS_EVT_EXTRACT_DONE,
PM_TRANS_EVT_INTEGRITY_START,
PM_TRANS_EVT_INTEGRITY_DONE,
- PM_TRANS_EVT_SCRIPTLET_INFO,
- PM_TRANS_EVT_SCRIPTLET_START,
- PM_TRANS_EVT_SCRIPTLET_DONE,
PM_TRANS_EVT_PRINTURI,
PM_TRANS_EVT_RETRIEVE_START,
} pmtransevt_t;
diff --git a/lib/libalpm/trans.c b/lib/libalpm/trans.c
index 403872e0..cde8bf0f 100644
--- a/lib/libalpm/trans.c
+++ b/lib/libalpm/trans.c
@@ -642,7 +642,6 @@ int _alpm_runscriptlet(const char *root, const char *installfn,
}
if(pid == 0) {
- FILE *pp;
_alpm_log(PM_LOG_DEBUG, _("chrooting in %s"), root);
if(chroot(root) != 0) {
_alpm_log(PM_LOG_ERROR, _("could not change the root directory (%s)"), strerror(errno));
@@ -654,37 +653,7 @@ int _alpm_runscriptlet(const char *root, const char *installfn,
}
umask(0022);
_alpm_log(PM_LOG_DEBUG, _("executing \"%s\""), cmdline);
- pp = popen(cmdline, "r");
- if(!pp) {
- _alpm_log(PM_LOG_ERROR, _("call to popen failed (%s)"), strerror(errno));
- retval = 1;
- goto cleanup;
- }
- while(!feof(pp)) {
- char line[1024];
- if(fgets(line, 1024, pp) == NULL)
- break;
- /*TODO clean this code up, remove weird SCRIPTLET_START/DONE,
- * (void*)atol call, etc. */
- /* "START <event desc>" */
- if((strlen(line) > strlen(SCRIPTLET_START))
- && !strncmp(line, SCRIPTLET_START, strlen(SCRIPTLET_START))) {
- EVENT(trans, PM_TRANS_EVT_SCRIPTLET_START,
- _alpm_strtrim(line + strlen(SCRIPTLET_START)), NULL);
- /* "DONE <ret code>" */
- } else if((strlen(line) > strlen(SCRIPTLET_DONE))
- && !strncmp(line, SCRIPTLET_DONE, strlen(SCRIPTLET_DONE))) {
- EVENT(trans, PM_TRANS_EVT_SCRIPTLET_DONE,
- (void*)atol(_alpm_strtrim(line + strlen(SCRIPTLET_DONE))),
- NULL);
- } else {
- _alpm_strtrim(line);
- /* log our script output */
- alpm_logaction(line);
- EVENT(trans, PM_TRANS_EVT_SCRIPTLET_INFO, line, NULL);
- }
- }
- pclose(pp);
+ execl("/bin/sh", "sh", "-c", cmdline, (char *)NULL);
exit(0);
} else {
if(waitpid(pid, 0, 0) == -1) {
diff --git a/lib/libalpm/util.h b/lib/libalpm/util.h
index 6fedb1a5..5fa8269d 100644
--- a/lib/libalpm/util.h
+++ b/lib/libalpm/util.h
@@ -40,10 +40,6 @@
#define _(s) s
#endif
-/*TODO wtf? why is this done like this? */
-#define SCRIPTLET_START "START "
-#define SCRIPTLET_DONE "DONE "
-
int _alpm_makepath(const char *path);
int _alpm_copyfile(const char *src, const char *dest);
char *_alpm_strtoupper(char *str);
diff --git a/src/pacman/callback.c b/src/pacman/callback.c
index 607d6329..9c1f05d1 100644
--- a/src/pacman/callback.c
+++ b/src/pacman/callback.c
@@ -237,20 +237,6 @@ void cb_trans_evt(pmtransevt_t event, void *data1, void *data2)
case PM_TRANS_EVT_INTEGRITY_DONE:
printf(_("done.\n"));
break;
- case PM_TRANS_EVT_SCRIPTLET_INFO:
- printf("%s\n", (char*)data1);
- break;
- case PM_TRANS_EVT_SCRIPTLET_START:
- printf((char*)data1);
- printf("...");
- break;
- case PM_TRANS_EVT_SCRIPTLET_DONE:
- if(!(long)data1) {
- printf(_("done.\n"));
- } else {
- printf(_("failed.\n"));
- }
- break;
case PM_TRANS_EVT_PRINTURI:
printf("%s/%s\n", (char*)data1, (char*)data2);
break;