summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorroot <devnull@localhost>1996-05-22 19:30:48 +0000
committerroot <devnull@localhost>1996-05-22 19:30:48 +0000
commit4768c9cca20016256c129e1118e890615b09db9d (patch)
tree138e1fd42c8f2dcadbd5b56527d463113fe85849 /lib
parent43c3d744d5bf889cabaffab61fa695c950265674 (diff)
downloadrpm-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.c8
-rw-r--r--lib/install.h3
-rw-r--r--lib/rpmlib.h3
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);