RPM Package Manager, CVS Repository http://rpm5.org/cvs/ ____________________________________________________________________________
Server: rpm5.org Name: Jeff Johnson Root: /v/rpm/cvs Email: [EMAIL PROTECTED] Module: rpm Date: 06-Jul-2007 20:22:06 Branch: HEAD Handle: 2007070619220500 Modified files: rpm CHANGES rpmqv.c rpm/build spec.c rpm/lib poptALL.c rpmrc.c Log: - eliminate rcfile reading everywhere. Summary: Revision Changes Path 1.1438 +1 -0 rpm/CHANGES 2.148 +2 -3 rpm/build/spec.c 2.31 +2 -14 rpm/lib/poptALL.c 2.201 +6 -102 rpm/lib/rpmrc.c 1.116 +2 -2 rpm/rpmqv.c ____________________________________________________________________________ patch -p0 <<'@@ .' Index: rpm/CHANGES ============================================================================ $ cvs diff -u -r1.1437 -r1.1438 CHANGES --- rpm/CHANGES 6 Jul 2007 18:08:42 -0000 1.1437 +++ rpm/CHANGES 6 Jul 2007 18:22:05 -0000 1.1438 @@ -1,4 +1,5 @@ 4.5 -> 5.0: + - jbj: eliminate rcfile reading everywhere. - jbj: eliminate last known internal usage of rpmrc files. - jbj: generate per-platform macros for major CPU-linux platforms. - mgh: Stop the python module from using rpmrc files @@ . patch -p0 <<'@@ .' Index: rpm/build/spec.c ============================================================================ $ cvs diff -u -r2.147 -r2.148 spec.c --- rpm/build/spec.c 25 May 2007 17:35:56 -0000 2.147 +++ rpm/build/spec.c 6 Jul 2007 18:22:05 -0000 2.148 @@ -758,7 +758,6 @@ char *target; const char * t; const char * te; - const char * rcfile = rpmcliRcfile; int nqueries = 0; if (qva->qva_showPackage == NULL) @@ -788,7 +787,7 @@ if (t != targets) { rpmFreeMacros(NULL); rpmFreeRpmrc(); - (void) rpmReadConfigFiles(rcfile, target); + (void) rpmReadConfigFiles(NULL, target); } res = _specQuery(ts, qva, arg, target); nqueries++; @@ -808,7 +807,7 @@ te++; rpmFreeMacros(NULL); rpmFreeRpmrc(); - (void) rpmReadConfigFiles(rcfile, target); + (void) rpmReadConfigFiles(NULL, target); } return res; } @@ . patch -p0 <<'@@ .' Index: rpm/lib/poptALL.c ============================================================================ $ cvs diff -u -r2.30 -r2.31 poptALL.c --- rpm/lib/poptALL.c 16 Jun 2007 22:24:59 -0000 2.30 +++ rpm/lib/poptALL.c 6 Jul 2007 18:22:05 -0000 2.31 @@ -112,9 +112,6 @@ /[EMAIL PROTECTED]@*/ /[EMAIL PROTECTED]@*/ const char * rpmcliPipeOutput = NULL; -/[EMAIL PROTECTED]@*/ /[EMAIL PROTECTED]@*/ -const char * rpmcliRcfile = NULL; - /[EMAIL PROTECTED]@*/ const char * rpmcliRootDir = "/"; @@ -167,7 +164,7 @@ if ((te = strchr(t, ',')) != NULL) *te = '\0'; } - rpmcliInitialized = rpmReadConfigFiles(rpmcliRcfile, t); + rpmcliInitialized = rpmReadConfigFiles(NULL, t); t = _free(t); } if (rpmcliInitialized) @@ -181,7 +178,7 @@ /[EMAIL PROTECTED]@*/ enum poptCallbackReason reason, const struct poptOption * opt, const char * arg, /[EMAIL PROTECTED]@*/ const void * data) - /[EMAIL PROTECTED] rpmRcfiles, rpmcliTargets, rpmcliQueryFlags, rpmCLIMacroContext, + /[EMAIL PROTECTED] rpmcliTargets, rpmcliQueryFlags, rpmCLIMacroContext, rpmGlobalMacroContext, h_errno, fileSystem, internalState @*/ /[EMAIL PROTECTED] con, rpmcliTargets, rpmcliQueryFlags, rpmCLIMacroContext, rpmGlobalMacroContext, fileSystem, internalState @*/ @@ -384,15 +381,6 @@ { "pipe", '\0', POPT_ARG_STRING|POPT_ARGFLAG_DOC_HIDDEN, &rpmcliPipeOutput, 0, N_("send stdout to CMD"), N_("CMD") }, -#if !defined(POPT_RCFILE) - { "rcfile", '\0', POPT_ARG_STRING, &rpmcliRcfile, 0, - N_("read <FILE:...> instead of default file(s)"), - N_("<FILE:...>") }, -#else - { "rcfile", '\0', 0, NULL, POPT_RCFILE, - N_("read <FILE:...> instead of default file(s)"), - N_("<FILE:...>") }, -#endif { "root", 'r', POPT_ARG_STRING|POPT_ARGFLAG_SHOW_DEFAULT, &rpmcliRootDir, 0, N_("use ROOT as top level directory"), N_("ROOT") }, @@ . patch -p0 <<'@@ .' Index: rpm/lib/rpmrc.c ============================================================================ $ cvs diff -u -r2.200 -r2.201 rpmrc.c --- rpm/lib/rpmrc.c 2 Jul 2007 08:53:29 -0000 2.200 +++ rpm/lib/rpmrc.c 6 Jul 2007 18:22:05 -0000 2.201 @@ -24,9 +24,6 @@ #include "misc.h" #include "debug.h" -/[EMAIL PROTECTED]@*/ /[EMAIL PROTECTED]@*/ -const char *rpmRcfiles = RPMRCFILES; - /[EMAIL PROTECTED]@*/ /[EMAIL PROTECTED]@*/ static const char * configTarget = NULL; @@ -1788,16 +1785,6 @@ addMacro(NULL, "_target_cpu", NULL, ca, RMIL_RPMRC); delMacro(NULL, "_target_os"); addMacro(NULL, "_target_os", NULL, co, RMIL_RPMRC); -/* - * XXX Make sure that per-arch optflags is initialized correctly. - */ - if (rpmcliRcfile != NULL) - { const char *optflags = rpmGetVarArch(RPMVAR_OPTFLAGS, ca); - if (optflags != NULL) { - delMacro(NULL, "optflags"); - addMacro(NULL, "optflags", NULL, optflags, RMIL_RPMRC); - } - } /[EMAIL PROTECTED]@*/ if (canontarget) @@ -1883,86 +1870,23 @@ } /** \ingroup rpmrc - * Read rpmrc (and macro) configuration file(s). - * @param rcfiles colon separated files to read (NULL uses default) + * Read macro configuration file(s). * @return 0 on succes */ -static int rpmReadRC(/[EMAIL PROTECTED]@*/ const char * rcfiles) - /[EMAIL PROTECTED] defaultsInitialized, rpmRcfiles, rpmMacrofiles, +static int rpmReadRC(void) + /[EMAIL PROTECTED] defaultsInitialized, rpmMacrofiles, rpmGlobalMacroContext, rpmCLIMacroContext, h_errno, fileSystem, internalState @*/ /[EMAIL PROTECTED] defaultsInitialized, rpmGlobalMacroContext, fileSystem, internalState @*/ { - char *myrcfiles = NULL; - char *r, *re; - int rc; + int rc = 0; if (!defaultsInitialized) { setDefaults(); defaultsInitialized = 1; } - /* Read each file in rcfiles. */ - rc = 0; - if (rcfiles != NULL) - for (r = myrcfiles = xstrdup(rcfiles); r && *r != '\0'; r = re) { - char fn[4096]; - FD_t fd; - - /* Get pointer to rest of files */ - for (re = r; (re = strchr(re, ':')) != NULL; re++) { - if (!(re[1] == '/' && re[2] == '/')) - /[EMAIL PROTECTED]@*/ break; - } - if (re && *re == ':') - *re++ = '\0'; - else - re = r + strlen(r); - - /* Expand ~/ to $HOME/ */ - fn[0] = '\0'; - if (r[0] == '~' && r[1] == '/') { - const char * home = getenv("HOME"); - if (home == NULL) { - /* XXX Only /usr/lib/rpm/rpmrc must exist in default rcfiles list */ - if (rcfiles == rpmRcfiles && myrcfiles != r) - continue; - rpmError(RPMERR_RPMRC, _("Cannot expand %s\n"), r); - rc = 1; - break; - } - if (strlen(home) > (sizeof(fn) - strlen(r))) { - rpmError(RPMERR_RPMRC, _("Cannot read %s, HOME is too large.\n"), - r); - rc = 1; - break; - } - strcpy(fn, home); - r++; - } - strncat(fn, r, sizeof(fn) - (strlen(fn) + 1)); - fn[sizeof(fn)-1] = '\0'; - - /* Read another rcfile */ - fd = Fopen(fn, "r.fpio"); - if (fd == NULL || Ferror(fd)) { - /* XXX Only /usr/lib/rpm/rpmrc must exist in default rcfiles list */ - if (rcfiles == rpmRcfiles && myrcfiles != r) - continue; - rpmError(RPMERR_RPMRC, _("Unable to open %s for reading: %s.\n"), - fn, Fstrerror(fd)); - rc = 1; - break; - } else { - rc = doReadRC(fd, fn); - } - if (rc) break; - } - myrcfiles = _free(myrcfiles); - if (rc) - return rc; - /* Read macro files. */ { const char *mfpath = rpmGetVarArch(RPMVAR_MACROFILES, NULL); @@ -1995,7 +1919,7 @@ /* Read the files */ /[EMAIL PROTECTED]@*/ - if (rpmReadRC(file)) return -1; + if (rpmReadRC()) return -1; /[EMAIL PROTECTED]@*/ /* Reset target macros */ @@ -2022,7 +1946,6 @@ int rpmShowRC(FILE * fp) { rpmds ds = NULL; - struct rpmOption *opt; int i; machEquivTable equivTable; int xx; @@ -2045,11 +1968,6 @@ fprintf(fp," %s", equivTable->list[i].name); fprintf(fp, "\n"); - if (rpmcliRcfile != NULL) { - rpmSetTables(RPM_MACHTABLE_INSTARCH, RPM_MACHTABLE_INSTOS); - rpmSetMachine(NULL, NULL); /* XXX WTFO? Why bother? */ - } - fprintf(fp, "install arch : %s\n", current[ARCH]); fprintf(fp, "install os : %s\n", current[OS]); @@ -2065,21 +1983,7 @@ fprintf(fp," %s", equivTable->list[i].name); fprintf(fp, "\n"); - if (rpmcliRcfile != NULL) { - const char * s = rpmExpand(rpmcliRcfile, NULL); - fprintf(fp, "\nRPMRC VALUES:\n"); - fprintf(fp, "%-21s : %s\n", "rcfiles", ((s && *s) ? s : "(not set)")); - s = _free(s); -/[EMAIL PROTECTED]@*/ - for (i = 0, opt = optionTable; i < optionTableSize; i++, opt++) { - s = rpmGetVarArch(opt->var, NULL); - if (s != NULL || rpmIsVerbose()) - fprintf(fp, "%-21s : %s\n", opt->name, s ? s : "(not set)"); - } -/[EMAIL PROTECTED]@*/ - fprintf(fp, "\nMACRO DEFINITIONS:\n"); - } else { - const char * s = rpmExpand("%{?optflags}", NULL); + { const char * s = rpmExpand("%{?optflags}", NULL); fprintf(fp, "%-21s : %s\n", "optflags", ((s && *s) ? s : "(not set)")); s = _free(s); /[EMAIL PROTECTED]@*/ @@ . patch -p0 <<'@@ .' Index: rpm/rpmqv.c ============================================================================ $ cvs diff -u -r1.115 -r1.116 rpmqv.c --- rpm/rpmqv.c 27 Jun 2007 13:35:52 -0000 1.115 +++ rpm/rpmqv.c 6 Jul 2007 18:22:05 -0000 1.116 @@ -618,7 +618,7 @@ if (ec == 0) { ba->rootdir = rpmcliRootDir; ba->passPhrase = passPhrase; - ec = build(ts, specFile, ba, rpmcliRcfile); + ec = build(ts, specFile, ba, NULL); } ba->cookie = _free(ba->cookie); specFile = _free(specFile); @@ -679,7 +679,7 @@ ba->rootdir = rpmcliRootDir; ba->passPhrase = passPhrase; ba->cookie = NULL; - ec = build(ts, pkg, ba, rpmcliRcfile); + ec = build(ts, pkg, ba, NULL); if (ec) /[EMAIL PROTECTED]@*/ break; } @@ . ______________________________________________________________________ RPM Package Manager http://rpm5.org CVS Sources Repository rpm-cvs@rpm5.org