From 182e2fdfd456257ce369e51c078dda914da42a57 Mon Sep 17 00:00:00 2001 From: Rakesh Pandit Date: Thu, 12 Feb 2009 17:25:09 +0530 Subject: [PATCH] -Move vsflags calculation from rpmInstall and rpmErase to setvsFlags. --- lib/rpminstall.c | 38 +++++++++++++++++++++----------------- 1 file changed, 21 insertions(+), 17 deletions(-) diff --git a/lib/rpminstall.c b/lib/rpminstall.c index 6c81383..6ce201c 100644 --- a/lib/rpminstall.c +++ b/lib/rpminstall.c @@ -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 */ -- 2.7.4