-Move vsflags calculation from rpmInstall and rpmErase to setvsFlags.
authorRakesh Pandit <rakesh@fedoraproject.org>
Thu, 12 Feb 2009 11:55:09 +0000 (17:25 +0530)
committerPanu Matilainen <pmatilai@redhat.com>
Mon, 16 Feb 2009 07:27:59 +0000 (09:27 +0200)
lib/rpminstall.c

index 6c81383..6ce201c 100644 (file)
@@ -71,6 +71,25 @@ static void printHash(const rpm_loff_t amount, const rpm_loff_t total)
     }
 }
 
+static rpmVSFlags setvsFlags(struct rpmInstallArguments_s * ia)
+{
+    rpmVSFlags vsflags;
+
+    if (ia->installInterfaceFlags & (INSTALL_UPGRADE | INSTALL_ERASE))
+       vsflags = rpmExpandNumeric("%{?_vsflags_erase}");
+    else
+       vsflags = rpmExpandNumeric("%{?_vsflags_install}");
+
+    if (ia->qva_flags & VERIFY_DIGEST)
+       vsflags |= _RPMVSF_NODIGESTS;
+    if (ia->qva_flags & VERIFY_SIGNATURE)
+       vsflags |= _RPMVSF_NOSIGNATURES;
+    if (ia->qva_flags & VERIFY_HDRCHK)
+       vsflags |= RPMVSF_NOHDRCHK;
+
+    return vsflags;
+}
+
 void * rpmShowProgress(const void * arg,
                        const rpmCallbackType what,
                        const rpm_loff_t amount,
@@ -281,16 +300,7 @@ int rpmInstall(rpmts ts, struct rpmInstallArguments_s * ia, ARGV_t fileArgv)
 
     relocations = ia->relocations;
 
-    if (ia->installInterfaceFlags & INSTALL_UPGRADE)
-       vsflags = rpmExpandNumeric("%{?_vsflags_erase}");
-    else
-       vsflags = rpmExpandNumeric("%{?_vsflags_install}");
-    if (ia->qva_flags & VERIFY_DIGEST)
-       vsflags |= _RPMVSF_NODIGESTS;
-    if (ia->qva_flags & VERIFY_SIGNATURE)
-       vsflags |= _RPMVSF_NOSIGNATURES;
-    if (ia->qva_flags & VERIFY_HDRCHK)
-       vsflags |= RPMVSF_NOHDRCHK;
+    vsflags = setvsFlags(ia);
     ovsflags = rpmtsSetVSFlags(ts, (vsflags | RPMVSF_NEEDPAYLOAD));
 
     {  int notifyFlags;
@@ -617,13 +627,7 @@ int rpmErase(rpmts ts, struct rpmInstallArguments_s * ia, ARGV_const_t argv)
 
     if (argv == NULL) return 0;
 
-    vsflags = rpmExpandNumeric("%{?_vsflags_erase}");
-    if (ia->qva_flags & VERIFY_DIGEST)
-       vsflags |= _RPMVSF_NODIGESTS;
-    if (ia->qva_flags & VERIFY_SIGNATURE)
-       vsflags |= _RPMVSF_NOSIGNATURES;
-    if (ia->qva_flags & VERIFY_HDRCHK)
-       vsflags |= RPMVSF_NOHDRCHK;
+    vsflags = setvsFlags(ia);
     ovsflags = rpmtsSetVSFlags(ts, vsflags);
 
     /* XXX suggest mechanism only meaningful when installing */