RPM Package Manager, CVS Repository http://rpm5.org/cvs/ ____________________________________________________________________________
Server: rpm5.org Name: Per Øyvind Karlsen Root: /v/rpm/cvs Email: pkarl...@rpm5.org Module: rpm Date: 15-May-2009 14:28:45 Branch: HEAD Handle: 2009051512284400 Modified files: rpm CHANGES rpm/lib rpmrc.c Log: * make it possible to set macro files to load predefines from by defining PREMACROFILES at build time. * ditch rpmRereadMacros() Summary: Revision Changes Path 1.2988 +2 -0 rpm/CHANGES 2.287 +9 -35 rpm/lib/rpmrc.c ____________________________________________________________________________ patch -p0 <<'@@ .' Index: rpm/CHANGES ============================================================================ $ cvs diff -u -r1.2987 -r1.2988 CHANGES --- rpm/CHANGES 14 May 2009 16:58:23 -0000 1.2987 +++ rpm/CHANGES 15 May 2009 12:28:44 -0000 1.2988 @@ -1,5 +1,7 @@ 5.2b1 -> 5.3a1 + - proyvind: make it possible to set macro files to load predefines from by + defining PREMACROFILES at build time. - jbj: rpmmi: rename the typedef and rpmmi{Init,Next,Free} methods. - jbj: rpmmi: split out a pool destructor (prior to using). - jbj: mire: handle items from _mirePool like all other pools. @@ . patch -p0 <<'@@ .' Index: rpm/lib/rpmrc.c ============================================================================ $ cvs diff -u -r2.286 -r2.287 rpmrc.c --- rpm/lib/rpmrc.c 13 May 2009 15:32:54 -0000 2.286 +++ rpm/lib/rpmrc.c 15 May 2009 12:28:44 -0000 2.287 @@ -1062,8 +1062,8 @@ * Read macro configuration file(s). * @return 0 on success */ -static int rpmReadRC(void) - /*...@globals defaultsInitialized, rpmMacrofiles, +static int rpmReadRC(const char *macrofiles) + /*...@globals defaultsInitialized, rpmGlobalMacroContext, rpmCLIMacroContext, h_errno, fileSystem, internalState @*/ /*...@modifies defaultsInitialized, rpmGlobalMacroContext, @@ -1077,7 +1077,7 @@ } /* Read macro files. */ - { const char *mfpath = rpmExpand(rpmMacrofiles, NULL); + { const char *mfpath = rpmExpand(macrofiles, NULL); if (mfpath != NULL) { rpmInitMacros(NULL, mfpath); @@ -1088,40 +1088,17 @@ return rc; } -#if defined(WITH_CPUINFO) -/* Since %{_prefer_target_cpu} hasn't been read before rpmReadRC(), we need to - * reread platform specific macros again to be sure to get the right ones.. */ -static inline void rpmRereadTargetMacros(const char *cpu) { - if(strcmp(current[ARCH], cpu) != 0) { - ARGV_t macroArgv = NULL; - int i, n; - const char delim[] = ":"; - char *macrofiles = xcalloc(strlen(rpmMacrofiles), 1); - - (void) argvSplit(¯oArgv, rpmMacrofiles, delim); - for(i = 0, n = argvCount(macroArgv); i < n; i++) { - const char *macrofile = rpmExpand(macroArgv[i], NULL); - if(strcmp(macroArgv[i], macrofile) != 0 && strstr(macrofile, cpu) != NULL) { - if(strlen(macrofiles) > 0) - strncat(macrofiles, delim, strlen(delim)); - strncat(macrofiles, macrofile, strlen(macrofile)); - } - macrofile = _free(macrofile); - } - if(strlen(macrofiles) > 0) - rpmInitMacros(NULL, macrofiles); - macroArgv = argvFree(macroArgv); - } -} -#endif - int rpmReadConfigFiles(/*...@unused@*/ const char * file, const char * target) - /*...@globals configTarget @*/ + /*...@globals configTarget, rpmMacrofiles @*/ /*...@modifies configTarget @*/ { mode_t mode = 0022; +#ifdef PREMACROFILES + if (rpmReadRC(PREMACROFILES)) return -1; +#endif + /* Reset umask to its default umask(2) value. */ mode = umask(mode); @@ -1133,7 +1110,7 @@ /* Read the files */ /*...@-globs@*/ - if (rpmReadRC()) return -1; + if (rpmReadRC(rpmMacrofiles)) return -1; /*...@=globs@*/ /* Reset target macros */ @@ -1142,9 +1119,6 @@ /* Finally set target platform */ { const char *cpu = rpmExpand("%{_target_cpu}", NULL); -#if defined(WITH_CPUINFO) - rpmRereadTargetMacros(cpu); -#endif const char *os = rpmExpand("%{_target_os}", NULL); rpmSetMachine(cpu, os); @@ . ______________________________________________________________________ RPM Package Manager http://rpm5.org CVS Sources Repository rpm-cvs@rpm5.org