pass "upgrade" arg to pre/post when upgrading
authorroot <devnull@localhost>
Wed, 22 May 1996 19:30:48 +0000 (19:30 +0000)
committerroot <devnull@localhost>
Wed, 22 May 1996 19:30:48 +0000 (19:30 +0000)
CVS patchset: 585
CVS date: 1996/05/22 19:30:48

lib/install.c
lib/install.h
lib/rpmlib.h

index 2bd0f3c..2e87814 100644 (file)
@@ -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++;
        }
     }
index ec9e62e..f298b69 100644 (file)
@@ -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
index 6dd438e..eefda35 100644 (file)
@@ -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);