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: 27-Apr-2012 21:13:49 Branch: rpm-5_4 Handle: 2012042719134800 Modified files: (Branch: rpm-5_4) rpm build.c rpmqv.c Log: - c++: WIP. Summary: Revision Changes Path 2.124.4.6 +3 -3 rpm/build.c 1.167.4.7 +53 -15 rpm/rpmqv.c ____________________________________________________________________________ patch -p0 <<'@@ .' Index: rpm/build.c ============================================================================ $ cvs diff -u -r2.124.4.5 -r2.124.4.6 build.c --- rpm/build.c 26 Apr 2012 17:46:49 -0000 2.124.4.5 +++ rpm/build.c 27 Apr 2012 19:13:48 -0000 2.124.4.6 @@ -133,7 +133,7 @@ char * se; const char * arg = ba->specFile; size_t nb = strlen(arg) + BUFSIZ; - char * buf = alloca(nb); + char * buf = (char *) alloca(nb); Spec spec = NULL; int verify = ((ba->buildAmount & RPMBUILD_TRACK) ? 0 : 1); int xx; @@ -326,7 +326,7 @@ /* Parse out next target platform. */ if ((te = strchr(t, ',')) == NULL) te = t + strlen(t); - target = alloca(te-t+1); + target = (char *) alloca(te-t+1); strncpy(target, t, (te-t)); target[te-t] = '\0'; if (*te != '\0') @@ -354,7 +354,7 @@ t = targets; if ((te = strchr(t, ',')) == NULL) te = t + strlen(t); - target = alloca(te-t+1); + target = (char *) alloca(te-t+1); strncpy(target, t, (te-t)); target[te-t] = '\0'; if (*te != '\0') @@ . patch -p0 <<'@@ .' Index: rpm/rpmqv.c ============================================================================ $ cvs diff -u -r1.167.4.6 -r1.167.4.7 rpmqv.c --- rpm/rpmqv.c 26 Apr 2012 17:46:49 -0000 1.167.4.6 +++ rpm/rpmqv.c 27 Apr 2012 19:13:48 -0000 1.167.4.7 @@ -60,6 +60,10 @@ #ifdef __cplusplus #define QVA_ISSET(_qvaflags, _FLAG) ((_qvaflags) & (VERIFY_##_FLAG)) +#define QVA_SET(_qvaflags, _FLAG) \ + (*((unsigned *)&(_qvaflags)) |= (VERIFY_##_FLAG)) +#define QVA_CLR(_qvaflags, _FLAG) \ + (*((unsigned *)&(_qvaflags)) &= ~(VERIFY_##_FLAG)) #define VSF_ISSET(_vsflags, _FLAG) ((_vsflags) & (RPMVSF_##_FLAG)) #define VSF_SET(_vsflags, _FLAG) \ @@ -70,6 +74,8 @@ #else /* __cplusplus */ #define QVA_ISSET(_qvaflags, _FLAG) ((_qvaflags) & (VERIFY_##_FLAG)) +#define QVA_SET(_qvaflags, _FLAG) (_qvaflags) |= (VERIFY_##_FLAG) +#define QVA_CLR(_qvaflags, _FLAG) (_qvaflags) &= ~(VERIFY_##_FLAG) #define VSF_ISSET(_vsflags, _FLAG) ((_vsflags) & (RPMVSF_##_FLAG)) #define VSF_SET(_vsflags, _FLAG) (_vsflags) |= (RPMVSF_##_FLAG) @@ -429,7 +435,7 @@ #endif #if defined(IAM_RPMBT) || defined(IAM_RPMK) - char * passPhrase = ""; + char * passPhrase = (char *) ""; #endif pid_t pipeChild = 0; @@ -932,14 +938,23 @@ #ifdef IAM_RPMEIU case MODE_ERASE: - ia->depFlags = global_depFlags; - if (ia->noDeps) ia->installInterfaceFlags |= INSTALL_NODEPS; + ia->depFlags = (rpmdepFlags) global_depFlags; if (!poptPeekArg(optCon)) { if (ia->rbtid == 0) argerror(_("no packages given for erase")); + +#ifdef __cplusplus + if (ia->noDeps) + *((unsigned *)&ia->installInterfaceFlags) |= INSTALL_NODEPS; +*((unsigned *)&ia->transFlags) |= RPMTRANS_FLAG_NOFDIGESTS; +*((unsigned *)&ia->probFilter) |= RPMPROB_FILTER_OLDPACKAGE; +#else + if (ia->noDeps) ia->installInterfaceFlags |= INSTALL_NODEPS; ia->transFlags |= RPMTRANS_FLAG_NOFDIGESTS; ia->probFilter |= RPMPROB_FILTER_OLDPACKAGE; +#endif + ia->rbCheck = rpmcliInstallCheck; ia->rbOrder = rpmcliInstallOrder; ia->rbRun = rpmcliInstallRun; @@ -953,16 +968,18 @@ /* RPMTRANS_FLAG_KEEPOBSOLETE */ - ia->depFlags = global_depFlags; + ia->depFlags = (rpmdepFlags) global_depFlags; if (!ia->incldocs) { if (ia->transFlags & RPMTRANS_FLAG_NODOCS) { ; } else if (rpmExpandNumeric("%{_excludedocs}")) +#ifdef __cplusplus + *((unsigned *)&ia->transFlags) |= RPMTRANS_FLAG_NODOCS; +#else ia->transFlags |= RPMTRANS_FLAG_NODOCS; +#endif } - if (ia->noDeps) ia->installInterfaceFlags |= INSTALL_NODEPS; - /* we've already ensured !(!ia->prefix && !ia->relocations) */ /*@-branchstate@*/ if (ia->qva_prefix) { @@ -979,8 +996,18 @@ if (!poptPeekArg(optCon)) { if (ia->rbtid == 0) argerror(_("no packages given for install")); + +#ifdef __cplusplus + if (ia->noDeps) + *((unsigned *)&ia->installInterfaceFlags) |= INSTALL_NODEPS; +*((unsigned *)&ia->transFlags) |= RPMTRANS_FLAG_NOFDIGESTS; +*((unsigned *)&ia->probFilter) |= RPMPROB_FILTER_OLDPACKAGE; +#else + if (ia->noDeps) ia->installInterfaceFlags |= INSTALL_NODEPS; ia->transFlags |= RPMTRANS_FLAG_NOFDIGESTS; ia->probFilter |= RPMPROB_FILTER_OLDPACKAGE; +#endif + ia->rbCheck = rpmcliInstallCheck; ia->rbOrder = rpmcliInstallOrder; ia->rbRun = rpmcliInstallRun; @@ -1000,18 +1027,22 @@ && !(qva->qva_source == RPMQV_ALL || qva->qva_source == RPMQV_HDLIST)) argerror(_("no arguments given for query")); - qva->depFlags = global_depFlags; + qva->depFlags = (rpmdepFlags) global_depFlags; qva->qva_specQuery = rpmspecQuery; ec = rpmcliQuery(ts, qva, (const char **) poptGetArgs(optCon)); qva->qva_specQuery = NULL; break; case MODE_VERIFY: - { rpmVerifyFlags verifyFlags = VERIFY_ALL; + { rpmVerifyFlags vflags = (rpmVerifyFlags) VERIFY_ALL; - qva->depFlags = global_depFlags; - verifyFlags &= ~qva->qva_flags; - qva->qva_flags = (rpmQueryFlags) verifyFlags; + qva->depFlags = (rpmdepFlags) global_depFlags; +#ifdef __cplusplus + *((unsigned *)&vflags) &= ~qva->qva_flags; +#else + vflags &= ~qva->qva_flags; +#endif + qva->qva_flags = (rpmQueryFlags) vflags; if (!poptPeekArg(optCon) && !(qva->qva_source == RPMQV_ALL || qva->qva_source == RPMQV_HDLIST)) @@ -1022,11 +1053,18 @@ #ifdef IAM_RPMK case MODE_CHECKSIG: - { rpmVerifyFlags verifyFlags = - (VERIFY_FDIGEST|VERIFY_HDRCHK|VERIFY_DIGEST|VERIFY_SIGNATURE); + { rpmVerifyFlags vflags = (rpmVerifyFlags) 0; - verifyFlags &= ~ka->qva_flags; - ka->qva_flags = (rpmQueryFlags) verifyFlags; + QVA_SET(vflags, FDIGEST); + QVA_SET(vflags, HDRCHK); + QVA_SET(vflags, DIGEST); + QVA_SET(vflags, SIGNATURE); +#ifdef __cplusplus + *((unsigned *)&vflags) &= ~ka->qva_flags; +#else + vflags &= ~ka->qva_flags; +#endif + ka->qva_flags = (rpmQueryFlags) vflags; } /*@fallthrough@*/ case MODE_RESIGN: if (!poptPeekArg(optCon)) @@ . ______________________________________________________________________ RPM Package Manager http://rpm5.org CVS Sources Repository rpm-cvs@rpm5.org