Main Page   Modules   Data Structures   File List   Data Fields   Globals   Related Pages  

lib/psm.c File Reference

Package state machine to handle a package from a transaction set. More...

#include "system.h"
#include <signal.h>
#include <sys/signal.h>
#include <rpmio_internal.h>
#include <rpmlib.h>
#include <rpmmacro.h>
#include <rpmurl.h>
#include "cpio.h"
#include "fsm.h"
#include "psm.h"
#include "rpmds.h"
#include "rpmfi.h"
#include "rpmte.h"
#include "rpmts.h"
#include "rpmlead.h"
#include "signature.h"
#include "legacy.h"
#include "ugid.h"
#include "misc.h"
#include "rpmdb.h"
#include "debug.h"

Go to the source code of this file.

Data Structures

struct  psmtbl_s
struct  sigtbl_s
struct  tagMacro
 Macros to be defined from per-header tag values. More...


Defines

#define _RPMFI_INTERNAL
#define _RPMTE_INTERNAL
#define _RPMTS_INTERNAL
#define _PSM_DEBUG   0

Functions

int rpmVersionCompare (Header first, Header second)
 Compare headers to determine which header is "newer".

int rpmInstallLoadMacros (rpmfi fi, Header h)
 Define per-header macros.

rpmRC markReplacedFiles (const rpmpsm psm)
 Mark files in database shared with this package as "replaced".

rpmRC rpmInstallSourcePackage (rpmts ts, FD_t fd, const char **specFilePtr, const char **cookie)
 Install source package.

const char *const tag2sln (int tag)
 Return scriptlet name from tag.

void handler (int signum)
int enableSignal (int signum)
 Enable a signal handler.

int disableSignal (int signum)
 Disable a signal handler.

pid_t psmRegisterFork (rpmpsm psm)
 Register a child reaper, then fork a child.

int psmWaitUnregister (rpmpsm psm, pid_t child)
 Unregister a child reaper.

pid_t psmWait (rpmpsm psm)
 Wait for child process to be reaped.

rpmRC runScript (rpmpsm psm, Header h, const char *sln, int progArgc, const char **progArgv, const char *script, int arg1, int arg2)
 Run scriptlet with args.

rpmRC runInstScript (rpmpsm psm)
 Retrieve and run scriptlet from header.

rpmRC handleOneTrigger (const rpmpsm psm, Header sourceH, Header triggeredH, int arg2, unsigned char *triggersAlreadyRun)
 Execute triggers.

rpmRC runTriggers (rpmpsm psm)
 Run trigger scripts in the database that are fired by this header.

rpmRC runImmedTriggers (rpmpsm psm)
 Run triggers from this header that are fired by headers in the database.

const char *const pkgStageString (pkgStage a)
rpmpsm XrpmpsmUnlink (rpmpsm psm, const char *msg, const char *fn, unsigned ln)
rpmpsm XrpmpsmLink (rpmpsm psm, const char *msg, const char *fn, unsigned ln)
rpmpsm rpmpsmFree (rpmpsm psm)
 Destroy a package state machine.

rpmpsm rpmpsmNew (rpmts ts, rpmte te, rpmfi fi)
 Create and load a package state machine.

rpmRC rpmpsmStage (rpmpsm psm, pkgStage stage)
 Package state machine driver.


Variables

int _psm_debug = 0
tagMacro tagMacros []
 Macros to be defined from per-header tag values.

char * SCRIPT_PATH = "PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin"
sigset_t caught
psmtbl_s psmtbl
sigtbl_s satbl []
int ldconfig_done = 0
const char * ldconfig_path = "/sbin/ldconfig"


Detailed Description

Package state machine to handle a package from a transaction set.

Definition in file psm.c.


Define Documentation

#define _PSM_DEBUG   0
 

Definition at line 39 of file psm.c.

#define _RPMFI_INTERNAL
 

Definition at line 22 of file psm.c.

#define _RPMTE_INTERNAL
 

Definition at line 25 of file psm.c.

#define _RPMTS_INTERNAL
 

Definition at line 28 of file psm.c.


Function Documentation

int disableSignal int    signum [static]
 

Disable a signal handler.

Definition at line 578 of file psm.c.

References sigtbl_s::active, psmtbl_s::nalloced, psmtbl_s::npsms, sigtbl_s::oact, psmtbl_s::psms, psmtbl, satbl, and sigtbl_s::signum.

Referenced by psmWaitUnregister().

int enableSignal int    signum [static]
 

Enable a signal handler.

Definition at line 547 of file psm.c.

References sigtbl_s::active, caught, sigtbl_s::handler, psmtbl_s::nalloced, psmtbl_s::npsms, sigtbl_s::oact, psmtbl_s::psms, psmtbl, satbl, and sigtbl_s::signum.

Referenced by psmRegisterFork().

rpmRC handleOneTrigger const rpmpsm    psm,
Header    sourceH,
Header    triggeredH,
int    arg2,
unsigned char *    triggersAlreadyRun
[static]
 

Execute triggers.

Todo:
Trigger on any provides, not just package NVR.
Parameters:
psm  package state machine data
sourceH 
triggeredH 
arg2 
triggersAlreadyRun 
Returns:

Definition at line 1092 of file psm.c.

References rpmpsm_s::countCorrection, rpmpsm_s::fi, headerNVR(), HFD_t, HGE_t, int_32, rpmdbCountPackages(), rpmds, rpmdsAnyMatchesDep(), rpmdsFlags(), rpmdsFree(), rpmdsInit(), rpmdsN(), rpmdsNew(), rpmdsNext(), rpmdsSetNoPromote(), rpmfi, rpmRC, RPMRC_FAIL, RPMRC_OK, RPMTAG_TRIGGERINDEX, RPMTAG_TRIGGERNAME, RPMTAG_TRIGGERSCRIPTPROG, RPMTAG_TRIGGERSCRIPTS, rpmTagType, rpmts, rpmtsGetRdb(), runScript(), rpmpsm_s::sense, and rpmpsm_s::ts.

Referenced by runImmedTriggers(), and runTriggers().

void handler int    signum [static]
 

Definition at line 497 of file psm.c.

References sigtbl_s::active, caught, rpmpsm_s::child, psmtbl_s::nalloced, psmtbl_s::npsms, psmtbl_s::psms, psmtbl, rpmpsm_s::reaped, satbl, sigtbl_s::signum, and rpmpsm_s::status.

rpmRC markReplacedFiles const rpmpsm    psm [static]
 

Mark files in database shared with this package as "replaced".

Parameters:
psm  package state machine data
Returns:
0 always

Definition at line 157 of file psm.c.

References alloca(), rpmpsm_s::fi, HGE_t, rpmdbAppendIterator(), rpmdbFreeIterator(), rpmdbGetIteratorOffset(), RPMDBI_PACKAGES, rpmdbNextIterator(), rpmdbSetIteratorModified(), rpmdbSetIteratorRewrite(), rpmfi, rpmfiFC(), RPMFILE_STATE_REPLACED, rpmRC, RPMRC_OK, RPMTAG_FILESTATES, rpmts, rpmtsInitIterator(), and rpmpsm_s::ts.

Referenced by rpmpsmStage().

const char* const pkgStageString pkgStage    a [static]
 

Definition at line 1287 of file psm.c.

References pkgStage, PSM_CHROOT_IN, PSM_CHROOT_OUT, PSM_COMMIT, PSM_CREATE, PSM_DESTROY, PSM_FINI, PSM_IMMED_TRIGGERS, PSM_INIT, PSM_NOTIFY, PSM_PKGCOMMIT, PSM_PKGERASE, PSM_PKGINSTALL, PSM_PKGSAVE, PSM_POST, PSM_PRE, PSM_PROCESS, PSM_RPMDB_ADD, PSM_RPMDB_LOAD, PSM_RPMDB_REMOVE, PSM_RPMIO_FLAGS, PSM_SCRIPT, PSM_TRIGGERS, PSM_UNDO, and PSM_UNKNOWN.

Referenced by rpmpsmStage().

pid_t psmRegisterFork rpmpsm    psm [static]
 

Register a child reaper, then fork a child.

Parameters:
psm  package state machine data
Returns:
fork(2) pid

Definition at line 608 of file psm.c.

References rpmpsm_s::child, enableSignal(), psmtbl_s::nalloced, psmtbl_s::npsms, psmtbl_s::psms, psmtbl, rpmpsm_s::reaped, rpmpsmLink, and xrealloc().

Referenced by runScript().

pid_t psmWait rpmpsm    psm [static]
 

Wait for child process to be reaped.

Parameters:
psm  package state machine data
Returns:

Definition at line 717 of file psm.c.

References _, rpmpsm_s::child, psmWaitUnregister(), rpmpsm_s::reaped, rpmpsm_s::reaper, RPMMESS_DEBUG, rpmMessage, rpmpsm_s::status, and rpmpsm_s::stepName.

Referenced by runScript().

int psmWaitUnregister rpmpsm    psm,
pid_t    child
[static]
 

Unregister a child reaper.

Definition at line 662 of file psm.c.

References _free(), rpmpsm_s::child, disableSignal(), psmtbl_s::nalloced, psmtbl_s::npsms, psmtbl_s::psms, psmtbl, rpmpsm_s::reaped, and rpmpsmFree().

Referenced by psmWait().

int rpmInstallLoadMacros rpmfi    fi,
Header    h
[static]
 

Define per-header macros.

Parameters:
fi  transaction element file info
h  header
Returns:
0 always

Definition at line 109 of file psm.c.

References addMacro(), argv, HGE_t, int_32, tagMacro::macroname, RPM_BIN_TYPE, RPM_CHAR_TYPE, RPM_I18NSTRING_TYPE, RPM_INT16_TYPE, RPM_INT32_TYPE, RPM_INT8_TYPE, RPM_NULL_TYPE, RPM_STRING_ARRAY_TYPE, RPM_STRING_TYPE, rpmfi, rpmTagType, tagMacro::tag, and tagMacros.

Referenced by rpmInstallSourcePackage().

rpmRC rpmInstallSourcePackage rpmts    ts,
FD_t    fd,
const char **    specFilePtr,
const char **    cookie
 

Install source package.

Parameters:
ts  transaction set
fd  file handle
Return values:
specFilePtr  address of spec file name (or NULL)
cookie  address of cookie pointer (or NULL)
Returns:
rpmRC return code

Definition at line 232 of file psm.c.

References _, _free(), CPIO_MAP_GID, CPIO_MAP_MODE, CPIO_MAP_PATH, CPIO_MAP_UID, FA_CREATE, Fclose(), fdLink, headerFree(), headerIsEntry(), headerLink(), HFD_t, HGE_t, PSM_FINI, PSM_PKGINSTALL, PSM_PROCESS, RPMERR_NOSPEC, RPMERR_NOTSRPM, rpmError, rpmfi, rpmfiBuildFNames(), rpmfiFree(), RPMFILE_SPECFILE, rpmfiLink, rpmfiNew(), rpmGenPath(), rpmInstallLoadMacros(), rpmMkdirPath(), rpmpsmStage(), rpmRC, RPMRC_FAIL, RPMRC_NOKEY, RPMRC_NOTTRUSTED, RPMRC_OK, rpmReadPackageFile(), RPMTAG_BASENAMES, RPMTAG_COOKIE, RPMTAG_SOURCEPACKAGE, rpmts, rpmtsAddInstallElement(), rpmtsClean(), rpmtsElement(), rpmtsFree(), rpmtsLink, rpmtsRootDir(), stpcpy(), xcalloc(), xmalloc(), and xstrdup().

Referenced by rpmInstall().

rpmpsm rpmpsmFree rpmpsm    psm
 

Destroy a package state machine.

Parameters:
psm  package state machine
Returns:
NULL always

Definition at line 1351 of file psm.c.

References _free(), rpmpsm_s::fi, rpmpsm_s::nrefs, rpmfiFree(), rpmpsmUnlink, rpmteFree(), rpmtsFree(), rpmpsm_s::te, and rpmpsm_s::ts.

Referenced by psmWaitUnregister(), rpmtsRun(), and rpmVerifyScript().

rpmpsm rpmpsmNew rpmts    ts,
rpmte    te,
rpmfi    fi
 

Create and load a package state machine.

Parameters:
ts  transaction set
te  transaction set element
fi  file info set
Returns:
new package state machine

Definition at line 1382 of file psm.c.

References rpmpsm_s::fi, rpmfi, rpmfiLink, rpmpsmLink, rpmte, rpmts, rpmtsLink, rpmpsm_s::te, rpmpsm_s::ts, and xcalloc().

Referenced by rpmtsRun(), and rpmVerifyScript().

rpmRC rpmpsmStage rpmpsm    psm,
pkgStage    stage
 

Package state machine driver.

Todo:
Packages w/o files never get a callback, hence don't get displayed on install with -v.

Definition at line 1405 of file psm.c.

References _, _free(), rpmpsm_s::amount, rpmlead::archnum, rpmpsm_s::cfd, rpmpsm_s::chrootDone, rpmpsm_s::countCorrection, CPIO_MAP_GID, CPIO_MAP_MODE, CPIO_MAP_PATH, CPIO_MAP_UID, dbiOpen(), errno, FA_COPYOUT, rpmpsm_s::failedFile, Fclose(), rpmpsm_s::fd, fdDup(), Fdopen(), Ferror(), Fflush(), rpmpsm_s::fi, fileAction, Fileno(), Fopen(), FSM_PKGBUILD, FSM_PKGCOMMIT, FSM_PKGERASE, FSM_PKGINSTALL, fsmSetup(), fsmTeardown(), Fstrerror(), gnameToGid(), rpmpsm_s::goal, HEADER_MAGIC_YES, headerAddEntry(), headerCopyLoad(), headerFree(), headerFreeData(), headerFreeIterator(), headerGetEntry(), headerInitIterator(), headerIsEntry(), headerLink(), headerNew(), headerNextIterator(), headerRegenSigHeader(), headerReload(), headerSprintf(), headerWrite(), HFD_t, HGE_t, hPTR_t, int_32, rpmlead::major, markReplacedFiles(), rpmpsm_s::mi, rpmlead::minor, rpmlead::name, rpmpsm_s::npkgs_installed, rpmpsm_s::oh, rpmlead::osnum, rpmpsm_s::pkgfn, pkgStage, pkgStageString(), rpmpsm_s::pkgURL, rpmpsm_s::progTag, PSM_CHROOT_IN, PSM_CHROOT_OUT, PSM_COMMIT, PSM_CREATE, PSM_DESTROY, PSM_FINI, PSM_IMMED_TRIGGERS, PSM_INIT, PSM_NOTIFY, PSM_PKGCOMMIT, PSM_PKGERASE, PSM_PKGINSTALL, PSM_PKGSAVE, PSM_POST, PSM_PRE, PSM_PROCESS, PSM_RPMDB_ADD, PSM_RPMDB_LOAD, PSM_RPMDB_REMOVE, PSM_RPMIO_FLAGS, PSM_SCRIPT, PSM_TRIGGERS, PSM_UNDO, PSM_UNKNOWN, rpmpsm_s::rc, RPM_CHAR_TYPE, RPM_INT32_TYPE, RPMCALLBACK_CPIO_ERROR, RPMCALLBACK_INST_PROGRESS, RPMCALLBACK_INST_START, RPMCALLBACK_UNINST_START, RPMCALLBACK_UNINST_STOP, RPMCALLBACK_UNPACK_ERROR, rpmdbAdd(), rpmdbCountPackages(), rpmdbFreeIterator(), rpmdbGetIteratorOffset(), RPMDBI_PACKAGES, rpmdbNextIterator(), rpmdbRemove(), rpmdbSetIteratorRE(), RPMERR_CPIO, RPMERR_NOSPACE, RPMERR_SCRIPT, rpmError, rpmfi, rpmfiBuildFNames(), rpmfiFC(), rpmfiInit(), RPMFILE_STATE_NORMAL, rpmfiNext(), rpmFreeSignature(), rpmGenPath(), rpmGetArchInfo(), rpmGetOsInfo(), rpmGetPath(), rpmpsm_s::rpmio_flags, RPMLEAD_BINARY, RPMMESS_DEBUG, RPMMESS_VERBOSE, RPMMESS_WARNING, rpmMessage, RPMMIRE_DEFAULT, rpmRC, RPMRC_FAIL, RPMRC_OK, RPMSENSE_TRIGGERIN, RPMSENSE_TRIGGERPOSTUN, RPMSENSE_TRIGGERUN, RPMSIGTYPE_HEADERSIG, RPMTAG_ARCH, RPMTAG_ARCHIVESIZE, RPMTAG_BASENAMES, RPMTAG_DEFAULTPREFIX, RPMTAG_EPOCH, RPMTAG_FILEGROUPNAME, RPMTAG_FILESTATES, RPMTAG_FILEUSERNAME, RPMTAG_HEADERIMAGE, RPMTAG_HEADERIMMUTABLE, RPMTAG_HEADERSIGNATURES, RPMTAG_INSTALLCOLOR, RPMTAG_INSTALLTIME, RPMTAG_NAME, RPMTAG_ORIGBASENAMES, RPMTAG_OS, RPMTAG_PAYLOADCOMPRESSOR, RPMTAG_POSTIN, RPMTAG_POSTINPROG, RPMTAG_POSTUN, RPMTAG_POSTUNPROG, RPMTAG_PREIN, RPMTAG_PREINPROG, RPMTAG_PREUN, RPMTAG_PREUNPROG, RPMTAG_RELEASE, RPMTAG_REMOVETID, RPMTAG_TRIGGERNAME, RPMTAG_VERSION, rpmteFd(), rpmteN(), RPMTRANS_FLAG_APPLYONLY, RPMTRANS_FLAG_JUSTDB, RPMTRANS_FLAG_NOPOST, RPMTRANS_FLAG_NOPOSTUN, RPMTRANS_FLAG_NOPRE, RPMTRANS_FLAG_NOPREUN, RPMTRANS_FLAG_NOTRIGGERIN, RPMTRANS_FLAG_NOTRIGGERPOSTUN, RPMTRANS_FLAG_NOTRIGGERPREIN, RPMTRANS_FLAG_NOTRIGGERUN, RPMTRANS_FLAG_PKGCOMMIT, RPMTRANS_FLAG_TEST, rpmts, RPMTS_OP_DBADD, RPMTS_OP_DBREMOVE, rpmtsChrootDone(), rpmtsColor(), rpmtsCurrDir(), rpmtsFlags(), rpmtsGetRdb(), rpmtsGetTid(), rpmtsInitIterator(), rpmtsNotify(), rpmtsOp(), rpmtsRootDir(), rpmtsSetChrootDone(), rpmtsVSFlags(), RPMVSF_NOHDRCHK, rpmWriteSignature(), runImmedTriggers(), runInstScript(), runTriggers(), rpmpsm_s::scriptArg, rpmpsm_s::scriptTag, rpmpsm_s::sense, rpmlead::signature_type, rpmpsm_s::stepName, stpcpy(), tag2sln(), rpmpsm_s::te, rpmpsm_s::total, rpmpsm_s::ts, rpmlead::type, uint_32, unameToUid(), urlPath(), rpmpsm_s::what, writeLead(), xcalloc(), and xmalloc().

Referenced by rpmInstallSourcePackage(), rpmtsRun(), and rpmVerifyScript().

int rpmVersionCompare Header    first,
Header    second
 

Compare headers to determine which header is "newer".

Parameters:
first  1st header
second  2nd header
Returns:
result of comparison

Definition at line 50 of file psm.c.

References headerGetEntry(), int_32, RPMTAG_EPOCH, RPMTAG_RELEASE, RPMTAG_VERSION, and rpmvercmp().

Referenced by hdr_compare(), rpmInstall(), and rpmtsAddInstallElement().

rpmRC runImmedTriggers rpmpsm    psm [static]
 

Run triggers from this header that are fired by headers in the database.

Parameters:
psm  package state machine data
Returns:
0 on success

Definition at line 1233 of file psm.c.

References alloca(), rpmpsm_s::fi, handleOneTrigger(), HFD_t, HGE_t, int_32, rpmdbFreeIterator(), rpmdbNextIterator(), rpmfi, rpmRC, RPMRC_OK, RPMTAG_NAME, RPMTAG_TRIGGERINDEX, RPMTAG_TRIGGERNAME, rpmTagType, rpmts, rpmtsInitIterator(), and rpmpsm_s::ts.

Referenced by rpmpsmStage().

rpmRC runInstScript rpmpsm    psm [static]
 

Retrieve and run scriptlet from header.

Parameters:
psm  package state machine data
Returns:
rpmRC return code

Definition at line 1039 of file psm.c.

References alloca(), argv, rpmpsm_s::fi, HFD_t, HGE_t, rpmpsm_s::progTag, RPM_STRING_TYPE, rpmfi, rpmRC, RPMRC_OK, rpmTagType, runScript(), rpmpsm_s::scriptArg, rpmpsm_s::scriptTag, and tag2sln().

Referenced by rpmpsmStage().

rpmRC runScript rpmpsm    psm,
Header    h,
const char *    sln,
int    progArgc,
const char **    progArgv,
const char *    script,
int    arg1,
int    arg2
[static]
 

Run scriptlet with args.

Run a script with an interpreter. If the interpreter is not specified, /bin/sh will be used. If the interpreter is /bin/sh, then the args from the header will be ignored, passing instead arg1 and arg2.

Parameters:
psm  package state machine data
h  header
sln  name of scriptlet section
progArgc  no. of args from header
progArgv  args from header, progArgv[0] is the interpreter to use
script  scriptlet from header
arg1  no. instances of package installed after scriptlet exec (-1 is no arg)
arg2  ditto, but for the target package
Returns:
0 on success

Definition at line 762 of file psm.c.

References _, _free(), alloca(), argv, rpmpsm_s::child, doputenv(), errno, Fclose(), fdDup(), Ferror(), rpmpsm_s::fi, Fileno(), Fopen(), Fwrite(), headerNVR(), HFD_t, HGE_t, ldconfig_done, ldconfig_path, makeTempFile(), psmRegisterFork(), psmWait(), rpmpsm_s::reaped, rpmpsm_s::reaper, RPMERR_SCRIPT, rpmError, rpmExpand(), rpmfi, rpmIsDebug, rpmIsVerbose, RPMMESS_DEBUG, rpmMessage, rpmRC, RPMRC_FAIL, RPMRC_OK, RPMTAG_INSTALLPREFIX, RPMTAG_INSTPREFIXES, rpmTagType, rpmts, rpmtsChrootDone(), rpmtsRootDir(), rpmtsScriptFd(), SCRIPT_PATH, rpmpsm_s::scriptTag, rpmpsm_s::status, rpmpsm_s::stepName, tag2sln(), rpmpsm_s::ts, rpmpsm_s::unorderedSuccessor, unsetenv(), URL_IS_PATH, URL_IS_UNKNOWN, and urlIsURL().

Referenced by handleOneTrigger(), and runInstScript().

rpmRC runTriggers rpmpsm    psm [static]
 

Run trigger scripts in the database that are fired by this header.

Parameters:
psm  package state machine data
Returns:
0 on success

Definition at line 1192 of file psm.c.

References rpmpsm_s::countCorrection, rpmpsm_s::fi, handleOneTrigger(), rpmdbCountPackages(), rpmdbFreeIterator(), rpmdbNextIterator(), rpmfi, rpmRC, RPMRC_NOTFOUND, RPMRC_OK, RPMTAG_TRIGGERNAME, rpmteN(), rpmts, rpmtsGetRdb(), rpmtsInitIterator(), rpmpsm_s::te, and rpmpsm_s::ts.

Referenced by rpmpsmStage().

const char* const tag2sln int    tag [static]
 

Return scriptlet name from tag.

Parameters:
tag  scriptlet tag
Returns:
name of scriptlet

Definition at line 446 of file psm.c.

References RPMTAG_POSTIN, RPMTAG_POSTUN, RPMTAG_PREIN, RPMTAG_PREUN, and RPMTAG_VERIFYSCRIPT.

Referenced by rpmpsmStage(), runInstScript(), and runScript().

rpmpsm XrpmpsmLink rpmpsm    psm,
const char *    msg,
const char *    fn,
unsigned    ln
 

Todo:
Remove debugging entry from the ABI.

Definition at line 1338 of file psm.c.

References _psm_debug, and rpmpsm_s::nrefs.

rpmpsm XrpmpsmUnlink rpmpsm    psm,
const char *    msg,
const char *    fn,
unsigned    ln
 

Todo:
Remove debugging entry from the ABI.

Definition at line 1327 of file psm.c.

References _psm_debug, and rpmpsm_s::nrefs.


Variable Documentation

int _psm_debug = 0
 

Definition at line 41 of file psm.c.

Referenced by XrpmpsmLink(), and XrpmpsmUnlink().

sigset_t caught [static]
 

Definition at line 462 of file psm.c.

Referenced by enableSignal(), and handler().

int ldconfig_done = 0 [static]
 

Definition at line 739 of file psm.c.

Referenced by runScript().

const char* ldconfig_path = "/sbin/ldconfig" [static]
 

Definition at line 742 of file psm.c.

Referenced by runScript().

struct psmtbl_s psmtbl [static]
 

Referenced by disableSignal(), enableSignal(), handler(), psmRegisterFork(), and psmWaitUnregister().

struct sigtbl_s satbl[] [static]
 

Referenced by disableSignal(), enableSignal(), and handler().

char* SCRIPT_PATH = "PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin" [static]
 

Definition at line 439 of file psm.c.

Referenced by runScript().

struct tagMacro tagMacros[] [static]
 

Macros to be defined from per-header tag values.

Todo:
Should other macros be added from header when installing a package?

Referenced by rpmInstallLoadMacros().


Generated on Sun Oct 26 13:02:05 2003 for rpm by doxygen1.2.18