diff options
author | root <devnull@localhost> | 1996-05-22 19:30:48 +0000 |
---|---|---|
committer | root <devnull@localhost> | 1996-05-22 19:30:48 +0000 |
commit | 4768c9cca20016256c129e1118e890615b09db9d (patch) | |
tree | 138e1fd42c8f2dcadbd5b56527d463113fe85849 /lib | |
parent | 43c3d744d5bf889cabaffab61fa695c950265674 (diff) | |
download | rpm-4768c9cca20016256c129e1118e890615b09db9d.tar.gz rpm-4768c9cca20016256c129e1118e890615b09db9d.tar.bz2 rpm-4768c9cca20016256c129e1118e890615b09db9d.zip |
pass "upgrade" arg to pre/post when upgrading
CVS patchset: 585
CVS date: 1996/05/22 19:30:48
Diffstat (limited to 'lib')
-rw-r--r-- | lib/install.c | 8 | ||||
-rw-r--r-- | lib/install.h | 3 | ||||
-rw-r--r-- | lib/rpmlib.h | 3 |
3 files changed, 9 insertions, 5 deletions
diff --git a/lib/install.c b/lib/install.c index 2bd0f3c94..2e8781453 100644 --- a/lib/install.c +++ b/lib/install.c @@ -263,7 +263,8 @@ int rpmInstallPackage(char * prefix, rpmdb db, int fd, int flags, } message(MESS_DEBUG, "running preinstall script (if any)\n"); - if (runScript(prefix, h, RPMTAG_PREIN, flags & INSTALL_NOSCRIPTS)) { + if (runScript(prefix, h, RPMTAG_PREIN, flags & INSTALL_NOSCRIPTS, + flags & INSTALL_UPGRADE)) { free(fileList); if (replacedList) free(replacedList); return 2; @@ -419,7 +420,8 @@ int rpmInstallPackage(char * prefix, rpmdb db, int fd, int flags, message(MESS_DEBUG, "running postinstall script (if any)\n"); - if (runScript(prefix, h, RPMTAG_POSTIN, flags & INSTALL_NOSCRIPTS)) { + if (runScript(prefix, h, RPMTAG_POSTIN, flags & INSTALL_NOSCRIPTS, + flags & INSTALL_UPGRADE)) { return 2; } @@ -427,7 +429,7 @@ int rpmInstallPackage(char * prefix, rpmdb db, int fd, int flags, message(MESS_DEBUG, "removing old versions of package\n"); intptr = oldVersions; while (*intptr) { - rpmRemovePackage(prefix, db, *intptr, 0); + rpmRemovePackage(prefix, db, *intptr, 1, 0); intptr++; } } diff --git a/lib/install.h b/lib/install.h index ec9e62e1d..f298b69e8 100644 --- a/lib/install.h +++ b/lib/install.h @@ -12,6 +12,7 @@ struct sharedFile { int findSharedFiles(rpmdb db, int offset, char ** fileList, int fileCount, struct sharedFile ** listPtr, int * listCountPtr); -int runScript(char * prefix, Header h, int tag, int dontRunScripts); +int runScript(char * prefix, Header h, int tag, int dontRunScripts, + int upgrade); #endif diff --git a/lib/rpmlib.h b/lib/rpmlib.h index 6dd438ef5..eefda35f0 100644 --- a/lib/rpmlib.h +++ b/lib/rpmlib.h @@ -167,7 +167,8 @@ int rpmdbFindPackage(rpmdb db, char * name, dbIndexSet * matches); int rpmInstallSourcePackage(char * prefix, int fd, char ** specFile); int rpmInstallPackage(char * prefix, rpmdb db, int fd, int flags, notifyFunction notify, char * labelFormat); -int rpmRemovePackage(char * prefix, rpmdb db, unsigned int offset, int test); +int rpmRemovePackage(char * prefix, rpmdb db, unsigned int offset, + int upgrade, int test); int rpmdbRemove(rpmdb db, unsigned int offset, int tolerant); int rpmdbAdd(rpmdb db, Header dbentry); int rpmdbUpdateRecord(rpmdb db, int secOffset, Header secHeader); |