RPM Package Manager, CVS Repository http://rpm5.org/cvs/ ____________________________________________________________________________
Server: rpm5.org Name: Jeff Johnson Root: /v/rpm/cvs Email: j...@rpm5.org Module: rpm Date: 26-Apr-2012 19:46:51 Branch: rpm-5_4 Handle: 2012042617464902 Modified files: (Branch: rpm-5_4) rpm CHANGES build.c rpmqv.c system.h rpm/lib poptALL.c query.c rpminstall.c rpmrollback.c tgi.c transaction.c verify.c rpm/tools dbconvert.c rpm2cpio.c rpmcache.c rpmrepo.c Log: - rpmts: hide bit test/set/clr methods behind some macros. - crypto: unhook --nosignatures/--nodigests from a rpmts. Summary: Revision Changes Path 1.3501.2.250+2 -0 rpm/CHANGES 2.124.4.5 +2 -0 rpm/build.c 2.144.2.5 +6 -0 rpm/lib/poptALL.c 2.216.2.5 +2 -0 rpm/lib/query.c 1.229.2.6 +4 -0 rpm/lib/rpminstall.c 1.44.4.5 +2 -0 rpm/lib/rpmrollback.c 2.28.4.3 +2 -0 rpm/lib/tgi.c 1.429.2.10 +82 -50 rpm/lib/transaction.c 2.201.4.9 +2 -0 rpm/lib/verify.c 1.167.4.6 +2 -0 rpm/rpmqv.c 2.129.2.4 +5 -0 rpm/system.h 2.1.2.14 +2 -0 rpm/tools/dbconvert.c 2.11.2.2 +2 -0 rpm/tools/rpm2cpio.c 2.41.4.2 +3 -0 rpm/tools/rpmcache.c 2.32.2.3 +3 -1 rpm/tools/rpmrepo.c ____________________________________________________________________________ patch -p0 <<'@@ .' Index: rpm/CHANGES ============================================================================ $ cvs diff -u -r1.3501.2.249 -r1.3501.2.250 CHANGES --- rpm/CHANGES 26 Apr 2012 17:21:44 -0000 1.3501.2.249 +++ rpm/CHANGES 26 Apr 2012 17:46:49 -0000 1.3501.2.250 @@ -1,4 +1,6 @@ 5.4.8 -> 5.4.9: + - jbj: rpmts: hide bit test/set/clr methods behind some macros. + - jbj: crypto: unhook --nosignatures/--nodigests from a rpmts. - jbj: python: fix: scrub out _RPMVSF_FOO setup in __init__.py. - jbj: crypto: eliminate _RPMVSF_{NOHEADER,NOPAYLOAD}. - jbj: crypto: refactor/eliminate _RPMVSF_{NOSIGNATURES,NODIGESTS}. @@ . patch -p0 <<'@@ .' Index: rpm/build.c ============================================================================ $ cvs diff -u -r2.124.4.4 -r2.124.4.5 build.c --- rpm/build.c 25 Apr 2012 20:34:47 -0000 2.124.4.4 +++ rpm/build.c 26 Apr 2012 17:46:49 -0000 2.124.4.5 @@ -291,6 +291,7 @@ vsflags = (rpmVSFlags) rpmExpandNumeric("%{?_vsflags_build}"); vsflags = (rpmVSFlags) 0; /* XXX FIXME: ignore default disablers. */ +#if defined(SUPPORT_NOSIGNATURES) if (!QVA_ISSET(ba->qva_flags, DIGEST)) { VSF_SET(vsflags, NOSHA1HEADER); VSF_SET(vsflags, NOMD5HEADER); @@ -307,6 +308,7 @@ VSF_SET(vsflags, NOHDRCHK); } VSF_CLR(vsflags, NEEDPAYLOAD); /* XXX needed? */ +#endif ovsflags = rpmtsSetVSFlags(ts, vsflags); if (targets == NULL) { @@ . patch -p0 <<'@@ .' Index: rpm/lib/poptALL.c ============================================================================ $ cvs diff -u -r2.144.2.4 -r2.144.2.5 poptALL.c --- rpm/lib/poptALL.c 25 Apr 2012 20:34:48 -0000 2.144.2.4 +++ rpm/lib/poptALL.c 26 Apr 2012 17:46:50 -0000 2.144.2.5 @@ -331,26 +331,32 @@ /*@notreached@*/ break; case RPMCLI_POPT_NODIGEST: rpmcliQueryFlags = (rpmQueryFlags)(rpmcliQueryFlags | VERIFY_DIGEST); +#if defined(SUPPORT_NOSIGNATURES) VSF_SET(pgpDigVSFlags, NOSHA1HEADER); VSF_SET(pgpDigVSFlags, NOMD5HEADER); VSF_SET(pgpDigVSFlags, NOSHA1); VSF_SET(pgpDigVSFlags, NOMD5); VSF_CLR(pgpDigVSFlags, NEEDPAYLOAD); /* XXX needed? */ +#endif break; case RPMCLI_POPT_NOSIGNATURE: rpmcliQueryFlags = (rpmQueryFlags)(rpmcliQueryFlags | VERIFY_SIGNATURE); +#if defined(SUPPORT_NOSIGNATURES) VSF_SET(pgpDigVSFlags, NODSAHEADER); VSF_SET(pgpDigVSFlags, NORSAHEADER); VSF_SET(pgpDigVSFlags, NODSA); VSF_SET(pgpDigVSFlags, NORSA); VSF_CLR(pgpDigVSFlags, NEEDPAYLOAD); /* XXX needed? */ +#endif break; case RPMCLI_POPT_NOHDRCHK: rpmcliQueryFlags = (rpmQueryFlags) (rpmcliQueryFlags | VERIFY_HDRCHK); +#if defined(SUPPORT_NOSIGNATURES) VSF_SET(pgpDigVSFlags, NOHDRCHK); VSF_CLR(pgpDigVSFlags, NEEDPAYLOAD); /* XXX needed? */ +#endif break; case RPMCLI_POPT_TARGETPLATFORM: @@ . patch -p0 <<'@@ .' Index: rpm/lib/query.c ============================================================================ $ cvs diff -u -r2.216.2.4 -r2.216.2.5 query.c --- rpm/lib/query.c 25 Apr 2012 18:28:19 -0000 2.216.2.4 +++ rpm/lib/query.c 26 Apr 2012 17:46:50 -0000 2.216.2.5 @@ -932,6 +932,7 @@ vsflags = (rpmVSFlags) rpmExpandNumeric("%{?_vsflags_query}"); vsflags = (rpmVSFlags) 0; /* XXX FIXME: ignore default disablers. */ +#if defined(SUPPORT_NOSIGNATURES) if (!QVA_ISSET(qva->qva_flags, DIGEST)) { VSF_SET(vsflags, NOSHA1HEADER); VSF_SET(vsflags, NOMD5HEADER); @@ -948,6 +949,7 @@ VSF_SET(vsflags, NOHDRCHK); } VSF_CLR(vsflags, NEEDPAYLOAD); /* XXX needed? */ +#endif odepFlags = rpmtsSetDFlags(ts, depFlags); otransFlags = rpmtsSetFlags(ts, transFlags); @@ . patch -p0 <<'@@ .' Index: rpm/lib/rpminstall.c ============================================================================ $ cvs diff -u -r1.229.2.5 -r1.229.2.6 rpminstall.c --- rpm/lib/rpminstall.c 25 Apr 2012 18:28:19 -0000 1.229.2.5 +++ rpm/lib/rpminstall.c 26 Apr 2012 17:46:50 -0000 1.229.2.6 @@ -565,6 +565,7 @@ else vsflags = (rpmVSFlags) rpmExpandNumeric("%{?_vsflags_install}"); vsflags = (rpmVSFlags) 0; /* XXX FIXME: ignore default disablers. */ +#if defined(SUPPORT_NOSIGNATURES) if (!QVA_ISSET(ia->qva_flags, DIGEST)) { VSF_SET(vsflags, NOSHA1HEADER); VSF_SET(vsflags, NOMD5HEADER); @@ -581,6 +582,7 @@ VSF_SET(vsflags, NOHDRCHK); } VSF_SET(vsflags, NEEDPAYLOAD); +#endif ovsflags = rpmtsSetVSFlags(ts, vsflags); { int notifyFlags; @@ -779,6 +781,7 @@ vsflags = (rpmVSFlags) rpmExpandNumeric("%{?_vsflags_erase}"); vsflags = (rpmVSFlags) 0; /* XXX FIXME: ignore default disablers. */ +#if defined(SUPPORT_NOSIGNATURES) if (!QVA_ISSET(ia->qva_flags, DIGEST)) { VSF_SET(vsflags, NOSHA1HEADER); VSF_SET(vsflags, NOMD5HEADER); @@ -795,6 +798,7 @@ VSF_SET(vsflags, NOHDRCHK); } VSF_CLR(vsflags, NEEDPAYLOAD); /* XXX needed? */ +#endif ovsflags = rpmtsSetVSFlags(ts, vsflags); if (rpmExpandNumeric("%{?_repackage_all_erasures}")) @@ . patch -p0 <<'@@ .' Index: rpm/lib/rpmrollback.c ============================================================================ $ cvs diff -u -r1.44.4.4 -r1.44.4.5 rpmrollback.c --- rpm/lib/rpmrollback.c 25 Apr 2012 18:28:19 -0000 1.44.4.4 +++ rpm/lib/rpmrollback.c 26 Apr 2012 17:46:50 -0000 1.44.4.5 @@ -448,6 +448,7 @@ vsflags = (rpmVSFlags) rpmExpandNumeric("%{?_vsflags_erase}"); vsflags = (rpmVSFlags) 0; /* XXX FIXME: ignore default disablers. */ +#if defined(SUPPORT_NOSIGNATURES) if (!QVA_ISSET(ia->qva_flags, DIGEST)) { VSF_SET(vsflags, NOSHA1HEADER); VSF_SET(vsflags, NOMD5HEADER); @@ -464,6 +465,7 @@ VSF_SET(vsflags, NOHDRCHK); } VSF_SET(vsflags, NEEDPAYLOAD); /* XXX needed? */ +#endif ovsflags = rpmtsSetVSFlags(ts, vsflags); (void) rpmtsSetFlags(ts, transFlags); @@ . patch -p0 <<'@@ .' Index: rpm/lib/tgi.c ============================================================================ $ cvs diff -u -r2.28.4.2 -r2.28.4.3 tgi.c --- rpm/lib/tgi.c 25 Apr 2012 20:34:48 -0000 2.28.4.2 +++ rpm/lib/tgi.c 26 Apr 2012 17:46:50 -0000 2.28.4.3 @@ -202,6 +202,7 @@ vsflags = (rpmVSFlags) rpmExpandNumeric("%{?_vsflags_query}"); vsflags = (rpmVSFlags) 0; /* XXX FIXME: ignore default disablers. */ +#if defined(SUPPORT_NOSIGNATURES) if (!QVA_ISSET(rpmcliQueryFlags, DIGEST)) { VSF_SET(vsflags, NOSHA1HEADER); VSF_SET(vsflags, NOMD5HEADER); @@ -218,6 +219,7 @@ VSF_SET(vsflags, NOHDRCHK); } VSF_CLR(vsflags, NEEDPAYLOAD); /* XXX needed? */ +#endif (void) rpmtsSetVSFlags(ts, vsflags); @@ . patch -p0 <<'@@ .' Index: rpm/lib/transaction.c ============================================================================ $ cvs diff -u -r1.429.2.9 -r1.429.2.10 transaction.c --- rpm/lib/transaction.c 25 Apr 2012 20:34:48 -0000 1.429.2.9 +++ rpm/lib/transaction.c 26 Apr 2012 17:46:50 -0000 1.429.2.10 @@ -80,16 +80,26 @@ #define VSF_CLR(_vsflags, _FLAG) \ (*((unsigned *)&(_vsflags)) &= ~(RPMVSF_##_FLAG)) +#define TF_ISSET(_tsflags, _FLAG) ((_tsflags) & (RPMTRANS_FLAG_##_FLAG)) +#define TF_SET(_tsflags, _FLAG) \ + (*((unsigned *)&(_tsflags)) |= (RPMTRANS_FLAG_##_FLAG)) +#define TF_CLR(_tsflags, _FLAG) \ + (*((unsigned *)&(_tsflags)) &= ~(RPMTRANS_FLAG_##_FLAG)) + #else /* __cplusplus */ #define FF_ISSET(_fflags, _FLAG) ((_fflags) & (RPMFILE_##_FLAG)) #define QVA_ISSET(_qvaflags, _FLAG) ((_qvaflags) & (VERIFY_##_FLAG)) -#define VSF_ISSET(_vsflags, _FLAG) ((_vsflags) & (RPMVSF_##_FLAG)) -#define VSF_SET(_vsflags, _FLAG) (_vsflags) |= (RPMVSF_##_FLAG) +#define VSF_ISSET(_vsflags, _FLAG) ((_vsflags) & (RPMVSF_##_FLAG)) +#define VSF_SET(_vsflags, _FLAG) (_vsflags) |= (RPMVSF_##_FLAG) #define VSF_CLR(_vsflags, _FLAG) (_vsflags) &= ~(RPMVSF_##_FLAG) +#define TF_ISSET(_tsflags, _FLAG) ((_tsflags) & (RPMTRANS_FLAG_##_FLAG)) +#define TF_SET(_tsflags, _FLAG) (_tsflags) |= (RPMTRANS_FLAG_##_FLAG) +#define TF_CLR(_tsflags, _FLAG) (_tsflags) &= ~(RPMTRANS_FLAG_##_FLAG) + #endif /* __cplusplus */ static int handleInstInstalledFile(const rpmts ts, rpmte p, rpmfi fi, @@ -98,7 +108,7 @@ /*@modifies ts, p, fi @*/ { unsigned int fx = rpmfiFX(fi); - int isCfgFile = ((rpmfiFFlags(otherFi) | rpmfiFFlags(fi)) & RPMFILE_CONFIG); + int isCfgFile = (FF_ISSET(rpmfiFFlags(otherFi), CONFIG) || FF_ISSET(rpmfiFFlags(fi), CONFIG)); #ifdef REFERENCE rpmfs fs = rpmteGetFileStates(p); if (XFA_SKIPPING(rpmfsGetAction(fs, fx))) @@ -185,7 +195,8 @@ /* Determine config file dispostion, skipping missing files (if any). */ if (isCfgFile) { - int skipMissing = ((rpmtsFlags(ts) & RPMTRANS_FLAG_ALLFILES) ? 0 : 1); + rpmtransFlags tsflags = rpmtsFlags(ts); + int skipMissing = (TF_ISSET(tsflags, ALLFILES) ? 0 : 1); #ifdef REFERENCE rpmFileAction action = rpmfiDecideFate(otherFi, fi, skipMissing); rpmfsSetAction(fs, fx, action); @@ -351,11 +362,11 @@ #ifdef REFERENCE if (rpmfiConfigConflict(fi)) #else - if ((FFlags & RPMFILE_CONFIG) && (FFlags & RPMFILE_EXISTS)) + if (FF_ISSET(FFlags, CONFIG) && FF_ISSET(FFlags, EXISTS)) #endif { /* Here is a non-overlapped pre-existing config file. */ - action = (FFlags & RPMFILE_NOREPLACE) + action = FF_ISSET(FFlags, NOREPLACE) ? FA_ALTNAME : FA_BACKUP; } else { action = FA_CREATE; @@ -420,11 +431,11 @@ #ifdef REFERENCE if (rpmfiConfigConflict(fi)) #else /* REFERENCE */ - if ((FFlags & RPMFILE_CONFIG) && (FFlags & RPMFILE_EXISTS)) + if (FF_ISSET(FFlags, CONFIG) && FF_ISSET(FFlags, EXISTS)) #endif /* REFERENCE */ { /* Here is an overlapped pre-existing config file. */ - fi->actions[i] = (FFlags & RPMFILE_NOREPLACE) + fi->actions[i] = FF_ISSET(FFlags, NOREPLACE) ? FA_ALTNAME : FA_SKIP; } else { if (!done) @@ -451,11 +462,11 @@ /* Disposition is assumed to be FA_ERASE. */ fi->actions[i] = FA_ERASE; - if (!(S_ISREG(FMode) && (FFlags & RPMFILE_CONFIG))) + if (!(S_ISREG(FMode) && FF_ISSET(FFlags, CONFIG))) /*@switchbreak@*/ break; /* Check for pre-existing modified config file that needs saving. */ - if (!(FFlags & RPMFILE_SPARSE)) + if (!FF_ISSET(FFlags,SPARSE)) { int dalgo = 0; size_t dlen = 0; const unsigned char * digest = rpmfiDigest(fi, &dalgo, &dlen); @@ -563,8 +574,9 @@ { rpmuint32_t tscolor = rpmtsColor(ts); rpmuint32_t FColor; - int noConfigs = (rpmtsFlags(ts) & RPMTRANS_FLAG_NOCONFIGS); - int noDocs = (rpmtsFlags(ts) & RPMTRANS_FLAG_NODOCS); + rpmtransFlags tsflags = rpmtsFlags(ts); + int noConfigs = TF_ISSET(tsflags, NOCONFIGS); + int noDocs = TF_ISSET(tsflags, NODOCS); ARGV_t netsharedPaths = NULL; ARGV_t languages = NULL; const char * dn, * bn; @@ -709,7 +721,7 @@ /* * Skip config files if requested. */ - if (noConfigs && (rpmfiFFlags(fi) & RPMFILE_CONFIG)) { + if (noConfigs && FF_ISSET(rpmfiFFlags(fi), CONFIG)) { drc[ix]--; dff[ix] = 1; fi->actions[i] = FA_SKIPNSTATE; continue; @@ -718,7 +730,7 @@ /* * Skip documentation if requested. */ - if (noDocs && (rpmfiFFlags(fi) & RPMFILE_DOC)) { + if (noDocs && FF_ISSET(rpmfiFFlags(fi), DOC)) { drc[ix]--; dff[ix] = 1; fi->actions[i] = FA_SKIPNSTATE; continue; @@ -1374,37 +1386,52 @@ /*@globals rpmGlobalMacroContext, h_errno, fileSystem, internalState @*/ /*@modifies ts, *sxp, rpmGlobalMacroContext, h_errno, fileSystem, internalState @*/ { + rpmtransFlags tsflags = rpmtsFlags(ts); int xx; /*@+voidabstract@*/ FPSDEBUG(0, (stderr, "--> %s(%p,0x%x,%p)\n", __FUNCTION__, ts, ignoreSet, (void *)sxp)); /*@=voidabstract@*/ /* --noscripts implies no scripts or triggers, duh. */ - if (rpmtsFlags(ts) & RPMTRANS_FLAG_NOSCRIPTS) - (void) rpmtsSetFlags(ts, (rpmtsFlags(ts) | _noTransScripts | _noTransTriggers)); + if (TF_ISSET(tsflags, NOSCRIPTS)) { + tsflags |= _noTransScripts; + tsflags |= _noTransTriggers; + (void) rpmtsSetFlags(ts, tsflags); + } /* --notriggers implies no triggers, duh. */ - if (rpmtsFlags(ts) & RPMTRANS_FLAG_NOTRIGGERS) - (void) rpmtsSetFlags(ts, (rpmtsFlags(ts) | _noTransTriggers)); + if (TF_ISSET(tsflags, NOTRIGGERS)) { + tsflags |= _noTransTriggers; + (void) rpmtsSetFlags(ts, tsflags); + } /* --justdb implies no scripts or triggers, duh. */ - if (rpmtsFlags(ts) & RPMTRANS_FLAG_JUSTDB) - (void) rpmtsSetFlags(ts, (rpmtsFlags(ts) | _noTransScripts | _noTransTriggers)); + if (TF_ISSET(tsflags, JUSTDB)) { + tsflags |= _noTransScripts; + tsflags |= _noTransTriggers; + (void) rpmtsSetFlags(ts, tsflags); + } /* if SELinux isn't enabled or init fails, don't bother... */ - if (!rpmtsSELinuxEnabled(ts)) - (void) rpmtsSetFlags(ts, (rpmtsFlags(ts) | (RPMTRANS_FLAG_NOCONTEXTS|RPMTRANS_FLAG_NOPOLICY))); + if (!rpmtsSELinuxEnabled(ts)) { + TF_SET(tsflags, NOCONTEXTS); + TF_SET(tsflags, NOPOLICY); + (void) rpmtsSetFlags(ts, tsflags); + } - if (!(rpmtsFlags(ts) & (RPMTRANS_FLAG_NOCONTEXTS|RPMTRANS_FLAG_NOPOLICY))) { + if (!(TF_ISSET(tsflags, NOCONTEXTS) || TF_ISSET(tsflags, NOPOLICY))) { *sxp = rpmsxNew("%{?_install_file_context_path}", 0); - if (*sxp == NULL) - (void) rpmtsSetFlags(ts, (rpmtsFlags(ts) | (RPMTRANS_FLAG_NOCONTEXTS|RPMTRANS_FLAG_NOPOLICY))); + if (*sxp == NULL) { + TF_SET(tsflags, NOCONTEXTS); + TF_SET(tsflags, NOPOLICY); + (void) rpmtsSetFlags(ts, tsflags); + } } else *sxp = NULL; /* XXX Make sure the database is open RDWR for package install/erase. */ { int dbmode = O_RDONLY; - if (!(rpmtsFlags(ts) & RPMTRANS_FLAG_TEST)) { + if (!TF_ISSET(tsflags, TEST)) { rpmtsi pi; rpmte p; pi = rpmtsiInit(ts); @@ -1448,9 +1475,9 @@ { FPSDEBUG(0, (stderr, "--> %s(%p,%p)\n", __FUNCTION__, ts, sx)); #ifdef REFERENCE - if (!(rpmtsFlags(ts) & RPMTRANS_FLAG_NOCONTEXTS)) { + rpmtransFlags tsflags = rpmtsFlags(ts); + if (!TF_ISSET(tsflags, NOCONTEXTS)) matchpathcon_fini(); - } #else /* REFERENCE */ if (sx != NULL) sx = rpmsxFree(sx); #endif /* REFERENCE */ @@ -1810,11 +1837,13 @@ } #if defined(RPM_VENDOR_MANDRIVA) - if (!failed && !(rpmtsFlags(ts) & RPMTRANS_FLAG_TEST)) { - if(!rpmteIsSource(p)) - xx = mayAddToFilesAwaitingFiletriggers(rpmtsRootDir(ts), + { rpmtransFlags tsflags = rpmtsFlags(ts); + if (!failed && !TF_ISSET(tsflags, TEST)) { + if(!rpmteIsSource(p)) + xx = mayAddToFilesAwaitingFiletriggers(rpmtsRootDir(ts), fi, (rpmteType(p) == TR_ADDED ? 1 : 0)); - p->done = 1; + p->done = 1; + } } #endif @@ -1857,6 +1886,7 @@ /*@globals rpmGlobalMacroContext, h_errno, fileSystem, internalState @*/ /*@modifies ts, rpmGlobalMacroContext, h_errno, fileSystem, internalState @*/ { + rpmtransFlags tsflags = rpmtsFlags(ts); rpmpsm psm; rpmfi fi; rpmtsi pi; @@ -1879,7 +1909,7 @@ case TR_ADDED: /*@switchbreak@*/ break; case TR_REMOVED: - if (!(rpmtsFlags(ts) & RPMTRANS_FLAG_REPACKAGE)) + if (!TF_ISSET(tsflags, REPACKAGE)) /*@switchbreak@*/ break; if (!progress) ptr = rpmtsNotify(ts, NULL, RPMCALLBACK_REPACKAGE_START, @@ -2025,6 +2055,7 @@ { rpmVSFlags vsflags = rpmExpandNumeric("%{?_vsflags_erase}"); vsflags = (rpmVSFlags) 0; /* XXX FIXME: ignore default disablers. */ +#if defined(SUPPORT_NOSIGNATURES) /* --nodigest */ VSF_SET(vsflags, NOSHA1HEADER); VSF_SET(vsflags, NOMD5HEADER); @@ -2038,16 +2069,17 @@ /* --nohdrchk */ VSF_SET(vsflags, NOHDRCHK); VSF_SET(vsflags, NEEDPAYLOAD); /* XXX needed? */ +#endif xx = rpmtsSetVSFlags(rbts, vsflags); } /* Set transaction flags to be the same as the running transaction */ { - rpmtransFlags tsFlags = rpmtsFlags(rbts); - tsFlags &= ~RPMTRANS_FLAG_DIRSTASH; /* No repackage of rollbacks */ - tsFlags &= ~RPMTRANS_FLAG_REPACKAGE; /* No repackage of rollbacks */ - tsFlags |= RPMTRANS_FLAG_NOFDIGESTS; /* Don't check file digests */ - tsFlags = rpmtsSetFlags(rbts, tsFlags); + rpmtransFlags tsflags = rpmtsFlags(rbts); + TF_CLR(tsflags, DIRSTASH); /* No repackage of rollbacks */ + TF_CLR(tsflags, REPACKAGE); /* No repackage of rollbacks */ + TF_SET(tsflags, NOFDIGESTS); /* Don't check file digests */ + tsflags = rpmtsSetFlags(rbts, tsflags); } /* Create install arguments structure */ @@ -2087,6 +2119,7 @@ int _rpmtsRun(rpmts ts, rpmps okProbs, rpmprobFilterFlags ignoreSet) { + rpmtransFlags tsflags = rpmtsFlags(ts); int ourrc = -1; /* assume failure */ uint32_t totalFileCount = 0; rpmps ps; @@ -2098,7 +2131,7 @@ FPSDEBUG(0, (stderr, "--> %s(%p,%p,0x%x)\n", __FUNCTION__, ts, okProbs, ignoreSet)); if (_rpmts_debug) -fprintf(stderr, "--> %s(%p,%p,0x%x) tsFlags 0x%x\n", __FUNCTION__, ts, okProbs, (unsigned) ignoreSet, rpmtsFlags(ts)); +fprintf(stderr, "--> %s(%p,%p,0x%x) tsflags 0x%x\n", __FUNCTION__, ts, okProbs, (unsigned) ignoreSet, tsflags); /* XXX programmer error segfault avoidance. */ if (rpmtsNElements(ts) <= 0) { @@ -2108,15 +2141,15 @@ } /* Don't acquire the transaction lock if testing. */ - if (!(rpmtsFlags(ts) & RPMTRANS_FLAG_TEST)) + if (!TF_ISSET(tsflags, TEST)) lock = rpmtsAcquireLock(ts); rollbackFailures = rpmExpandNumeric("%{?_rollback_transaction_on_failure}"); /* Don't rollback unless repackaging. */ - if (!(rpmtsFlags(ts) & RPMTRANS_FLAG_REPACKAGE)) + if (!TF_ISSET(tsflags, REPACKAGE)) rollbackFailures = 0; /* Don't rollback if testing. */ - if (rpmtsFlags(ts) & RPMTRANS_FLAG_TEST) + if (TF_ISSET(tsflags, TEST)) rollbackFailures = 0; if (rpmtsType(ts) & (RPMTRANS_TYPE_ROLLBACK | RPMTRANS_TYPE_AUTOROLLBACK)) @@ -2144,10 +2177,10 @@ /* =============================================== * Run pre-transaction scripts, but only if no known problems exist. */ - if (!(rpmtsFlags(ts) & RPMTRANS_FLAG_NOPRETRANS) && - (!((rpmtsFlags(ts) & (RPMTRANS_FLAG_BUILD_PROBS|RPMTRANS_FLAG_TEST)) + if (!TF_ISSET(tsflags, NOPRETRANS) && + (!(TF_ISSET(tsflags, BUILD_PROBS) || TF_ISSET(tsflags, TEST)) || (rpmpsNumProblems(ts->probs) && - (okProbs == NULL || rpmpsTrim(ts->probs, okProbs)))))) + (okProbs == NULL || rpmpsTrim(ts->probs, okProbs))))) { rpmlog(RPMLOG_DEBUG, D_("running pre-transaction scripts\n")); xx = rpmtsRunScript(ts, RPMTAG_PRETRANS); @@ -2163,7 +2196,7 @@ /* =============================================== * If unfiltered problems exist, free memory and return. */ - if ((rpmtsFlags(ts) & RPMTRANS_FLAG_BUILD_PROBS) + if (TF_ISSET(tsflags, BUILD_PROBS) || (rpmpsNumProblems(ts->probs) && (okProbs == NULL || rpmpsTrim(ts->probs, okProbs))) ) @@ -2176,7 +2209,7 @@ /* =============================================== * Save removed files before erasing. */ - if (rpmtsFlags(ts) & (RPMTRANS_FLAG_DIRSTASH | RPMTRANS_FLAG_REPACKAGE)) { + if (TF_ISSET(tsflags, DIRSTASH) || TF_ISSET(tsflags, REPACKAGE)) { xx = rpmtsRepackage(ts, numRemoved); } @@ -2192,12 +2225,11 @@ /* =============================================== * Run post-transaction scripts unless disabled. */ - if (!(rpmtsFlags(ts) & RPMTRANS_FLAG_NOPOSTTRANS) && - !(rpmtsFlags(ts) & RPMTRANS_FLAG_TEST)) + if (!TF_ISSET(tsflags, NOPOSTTRANS) && !TF_ISSET(tsflags, TEST)) { #if defined(RPM_VENDOR_MANDRIVA) - if ((rpmtsFlags(ts) & _noTransTriggers) != _noTransTriggers) + if ((tsflags & _noTransTriggers) != _noTransTriggers) rpmRunFileTriggers(rpmtsRootDir(ts)); #endif @@ . patch -p0 <<'@@ .' Index: rpm/lib/verify.c ============================================================================ $ cvs diff -u -r2.201.4.8 -r2.201.4.9 verify.c --- rpm/lib/verify.c 25 Apr 2012 17:25:08 -0000 2.201.4.8 +++ rpm/lib/verify.c 26 Apr 2012 17:46:50 -0000 2.201.4.9 @@ -660,6 +660,7 @@ /* XXX verify flags are inverted from query. */ vsflags = (rpmVSFlags) rpmExpandNumeric("%{?_vsflags_verify}"); vsflags = (rpmVSFlags) 0; /* XXX FIXME: ignore default disablers. */ +#if defined(SUPPORT_NOSIGNATURES) if (!QVA_ISSET(qva->qva_flags, DIGEST)) { VSF_SET(vsflags, NOSHA1HEADER); VSF_SET(vsflags, NOMD5HEADER); @@ -676,6 +677,7 @@ VSF_SET(vsflags, NOHDRCHK); } VSF_CLR(vsflags, NEEDPAYLOAD); +#endif odepFlags = rpmtsSetDFlags(ts, depFlags); otransFlags = rpmtsSetFlags(ts, transFlags); @@ . patch -p0 <<'@@ .' Index: rpm/rpmqv.c ============================================================================ $ cvs diff -u -r1.167.4.5 -r1.167.4.6 rpmqv.c --- rpm/rpmqv.c 25 Apr 2012 20:34:47 -0000 1.167.4.5 +++ rpm/rpmqv.c 26 Apr 2012 17:46:49 -0000 1.167.4.6 @@ -774,6 +774,7 @@ vsflags = (rpmVSFlags) rpmExpandNumeric("%{?_vsflags_rebuilddb}"); vsflags = (rpmVSFlags) 0; /* XXX FIXME: ignore default disablers. */ +#if defined(SUPPORT_NOSIGNATURES) if (!QVA_ISSET(rpmcliQueryFlags, DIGEST)) { VSF_SET(vsflags, NOSHA1HEADER); VSF_SET(vsflags, NOMD5HEADER); @@ -790,6 +791,7 @@ VSF_SET(vsflags, NOHDRCHK); } VSF_CLR(vsflags, NEEDPAYLOAD); +#endif ovsflags = rpmtsSetVSFlags(ts, vsflags); ec = rpmtsRebuildDB(ts); @@ . patch -p0 <<'@@ .' Index: rpm/system.h ============================================================================ $ cvs diff -u -r2.129.2.3 -r2.129.2.4 system.h --- rpm/system.h 16 Apr 2012 14:09:11 -0000 2.129.2.3 +++ rpm/system.h 26 Apr 2012 17:46:49 -0000 2.129.2.4 @@ -744,6 +744,11 @@ #define SUPPORT_I18NSTRING_TYPE 1 /** + * Eliminate signature/digest disablers. + */ +#undef SUPPORT_NOSIGNATURES + +/** * Permit ar(1) payloads. Disabled while rpmio/iosm.c is under development. */ #undef SUPPORT_AR_PAYLOADS @@ . patch -p0 <<'@@ .' Index: rpm/tools/dbconvert.c ============================================================================ $ cvs diff -u -r2.1.2.13 -r2.1.2.14 dbconvert.c --- rpm/tools/dbconvert.c 25 Apr 2012 20:34:50 -0000 2.1.2.13 +++ rpm/tools/dbconvert.c 26 Apr 2012 17:46:51 -0000 2.1.2.14 @@ -224,6 +224,7 @@ rpmVSFlags vsflags = rpmExpandNumeric("%{_vsflags_rebuilddb}"); vsflags = (rpmVSFlags) 0; /* XXX FIXME: ignore default disablers. */ +#if defined(SUPPORT_NOSIGNATURES) /* XXX FIXME: hotwire --nodigest/--nosignature for now */ /* --nodigest */ VSF_SET(vsflags, NOSHA1HEADER); @@ -238,6 +239,7 @@ /* --nohdrchk */ VSF_SET(vsflags, NOHDRCHK); VSF_CLR(vsflags, NEEDPAYLOAD); /* XXX needed? */ +#endif rpmtsSetVSFlags(tsNew, vsflags); @@ . patch -p0 <<'@@ .' Index: rpm/tools/rpm2cpio.c ============================================================================ $ cvs diff -u -r2.11.2.1 -r2.11.2.2 rpm2cpio.c --- rpm/tools/rpm2cpio.c 25 Apr 2012 20:34:50 -0000 2.11.2.1 +++ rpm/tools/rpm2cpio.c 26 Apr 2012 17:46:51 -0000 2.11.2.2 @@ -67,6 +67,7 @@ /* XXX retain the ageless behavior of rpm2cpio */ vsflags = (rpmVSFlags) 0; /* XXX FIXME: ignore default disablers. */ +#if defined(SUPPORT_NOSIGNATURES) /* --nodigests */ VSF_SET(vsflags, NOSHA1HEADER); VSF_SET(vsflags, NOMD5HEADER); @@ -83,6 +84,7 @@ VSF_SET(vsflags, NOHDRCHK); VSF_CLR(vsflags, NEEDPAYLOAD); /* XXX needed? */ +#endif (void) rpmtsSetVSFlags(ts, vsflags); /*@-mustmod@*/ /* LCL: segfault */ @@ . patch -p0 <<'@@ .' Index: rpm/tools/rpmcache.c ============================================================================ $ cvs diff -u -r2.41.4.1 -r2.41.4.2 rpmcache.c --- rpm/tools/rpmcache.c 25 Apr 2012 20:34:50 -0000 2.41.4.1 +++ rpm/tools/rpmcache.c 26 Apr 2012 17:46:51 -0000 2.41.4.2 @@ -600,6 +600,7 @@ ts = rpmtsCreate(); +#if defined(SUPPORT_NOSIGNATURES) if (!QVA_ISSET(rpmcliQueryFlags, DIGEST)) { VSF_SET(vsflags, NOSHA1HEADER); VSF_SET(vsflags, NOMD5HEADER); @@ -616,6 +617,8 @@ VSF_SET(vsflags, NOHDRCHK); } VSF_CLR(vsflags, NEEDPAYLOAD); /* XXX needed? */ +#endif + (void) rpmtsSetVSFlags(ts, vsflags); { uint32_t tid = (uint32_t) time(NULL); @@ . patch -p0 <<'@@ .' Index: rpm/tools/rpmrepo.c ============================================================================ $ cvs diff -u -r2.32.2.2 -r2.32.2.3 rpmrepo.c --- rpm/tools/rpmrepo.c 25 Apr 2012 20:34:50 -0000 2.32.2.2 +++ rpm/tools/rpmrepo.c 26 Apr 2012 17:46:51 -0000 2.32.2.3 @@ -163,13 +163,15 @@ _rpmts_stats = _rpmsw_stats; repo->_ts = ts = rpmtsCreate(); - /* XXX todo wire up usual rpm CLI options. hotwire --nosignature for now */ vsflags = (rpmVSFlags) 0; /* XXX FIXME: ignore default disablers. */ +#if defined(SUPPORT_NOSIGNATURES) + /* XXX todo wire up usual rpm CLI options. hotwire --nosignature for now */ VSF_SET(vsflags, NODSAHEADER); VSF_SET(vsflags, NORSAHEADER); VSF_SET(vsflags, NODSA); VSF_SET(vsflags, NORSA); VSF_CLR(vsflags, NEEDPAYLOAD); /* XXX needed? */ +#endif (void) rpmtsSetVSFlags(ts, vsflags); } @@ . ______________________________________________________________________ RPM Package Manager http://rpm5.org CVS Sources Repository rpm-cvs@rpm5.org