return "%unknownscript";
}
+static int triggertag(uint32_t sense)
+{
+ int tag = 0;
+ switch (sense) {
+ case RPMSENSE_TRIGGERIN:
+ tag = RPMTAG_TRIGGERIN;
+ break;
+ case RPMSENSE_TRIGGERUN:
+ tag = RPMTAG_TRIGGERUN;
+ break;
+ case RPMSENSE_TRIGGERPOSTUN:
+ tag = RPMTAG_TRIGGERPOSTUN;
+ break;
+ case RPMSENSE_TRIGGERPREIN:
+ tag = RPMTAG_TRIGGERPREIN;
+ break;
+ default:
+ break;
+ }
+ return tag;
+}
+
/**
* Wait for child process to be reaped.
* @param psm package state machine data
/**
* Run internal Lua script.
*/
-static rpmRC runLuaScript(rpmpsm psm, Header h, const char *sln,
+static rpmRC runLuaScript(rpmpsm psm, Header h, rpmTag stag,
int progArgc, const char **progArgv,
const char *script, int arg1, int arg2)
{
const rpmts ts = psm->ts;
+ const char * sln = tag2sln(stag);
int rootFd = -1;
const char *n, *v, *r;
rpmRC rc = RPMRC_OK;
*
* @param psm package state machine data
* @param h header
- * @param sln name of scriptlet section
+ * @param stag scriptlet section tag
* @param progArgc no. of args from header
* @param progArgv args from header, progArgv[0] is the interpreter to use
* @param script scriptlet from header
* @param arg2 ditto, but for the target package
* @return 0 on success
*/
-static rpmRC runScript(rpmpsm psm, Header h, const char * sln,
+static rpmRC runScript(rpmpsm psm, Header h, rpmTag stag,
int progArgc, const char ** progArgv,
const char * script, int arg1, int arg2)
{
FD_t out;
rpmRC rc = RPMRC_OK;
const char *n, *v, *r, *a;
+ const char *sln = tag2sln(stag);
if (progArgv == NULL && script == NULL)
return rc;
#ifdef WITH_LUA
rpmlog(RPMLOG_DEBUG,
_("%s: %s(%s-%s-%s.%s) running <lua> scriptlet.\n"),
- psm->stepName, tag2sln(psm->scriptTag), n, v, r, a);
- return runLuaScript(psm, h, sln, progArgc, progArgv,
+ psm->stepName, sln, n, v, r, a);
+ return runLuaScript(psm, h, stag, progArgc, progArgv,
script, arg1, arg2);
#else
return RPMRC_FAIL;
if (ldconfig_done && !strcmp(progArgv[0], ldconfig_path)) {
rpmlog(RPMLOG_DEBUG,
_("%s: %s(%s-%s-%s.%s) skipping redundant \"%s\".\n"),
- psm->stepName, tag2sln(psm->scriptTag), n, v, r, a,
+ psm->stepName, sln, n, v, r, a,
progArgv[0]);
return rc;
}
rpmlog(RPMLOG_DEBUG,
_("%s: %s(%s-%s-%s.%s) %ssynchronous scriptlet start\n"),
- psm->stepName, tag2sln(psm->scriptTag), n, v, r, a,
+ psm->stepName, sln, n, v, r, a,
(psm->unorderedSuccessor ? "a" : ""));
if (!progArgv) {
}
if (fi->h != NULL) /* XXX can't happen */
- rc = runScript(psm, fi->h, tag2sln(psm->scriptTag), progArgc, argv,
+ rc = runScript(psm, fi->h, psm->scriptTag, progArgc, argv,
script, psm->scriptArg, -1);
exit:
if (triggersAlreadyRun == NULL ||
triggersAlreadyRun[index] == 0)
{
- rc = runScript(psm, triggeredH, "%trigger", 1,
+ rc = runScript(psm, triggeredH, triggertag(psm->sense), 1,
triggerProgs + index, triggerScripts[index],
arg1, arg2);
if (triggersAlreadyRun != NULL)