[CVS] RPM: rpm/rpmdb/ header.c rpmdb.c rpmdb.h

2009-05-15 Thread Jeff Johnson
  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:   16-May-2009 01:48:48
  Branch: HEAD Handle: 2009051523484800

  Modified files:
rpm/rpmdb   header.c rpmdb.c rpmdb.h

  Log:
- rpmdb: performance tweaks.

  Summary:
RevisionChanges Path
1.179   +2  -2  rpm/rpmdb/header.c
1.298   +50 -72 rpm/rpmdb/rpmdb.c
1.90+0  -2  rpm/rpmdb/rpmdb.h
  

  patch -p0 <<'@@ .'
  Index: rpm/rpmdb/header.c
  
  $ cvs diff -u -r1.178 -r1.179 header.c
  --- rpm/rpmdb/header.c27 Mar 2009 17:42:00 -  1.178
  +++ rpm/rpmdb/header.c15 May 2009 23:48:48 -  1.179
  @@ -30,11 +30,11 @@
   
   /* Compute tag data store size using offsets? */
   /*...@unchecked@*/
  -int _hdr_fastdatalength = 0;
  +int _hdr_fastdatalength = 1;
   
   /* Swab tag data only when accessed through headerGet()? */
   /*...@unchecked@*/
  -int _hdr_lazytagswab = 0;
  +int _hdr_lazytagswab = 1;
   
   /** \ingroup header
*/
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/rpmdb/rpmdb.c
  
  $ cvs diff -u -r1.297 -r1.298 rpmdb.c
  --- rpm/rpmdb/rpmdb.c 15 May 2009 13:40:59 -  1.297
  +++ rpm/rpmdb/rpmdb.c 15 May 2009 23:48:48 -  1.298
  @@ -1432,16 +1432,18 @@
fileSystem, internalState @*/
/*...@requires maxSet(matches) >= 0 @*/
   {
  -HE_t he = memset(alloca(sizeof(*he)), 0, sizeof(*he));
  +HE_t BN = memset(alloca(sizeof(*BN)), 0, sizeof(*BN));
  +HE_t DN = memset(alloca(sizeof(*DN)), 0, sizeof(*DN));
  +HE_t DI = memset(alloca(sizeof(*DI)), 0, sizeof(*DI));
   const char * dirName;
   const char * baseName;
   fingerPrintCache fpc;
   fingerPrint fp1;
   dbiIndex dbi = NULL;
  -DBC * dbcursor;
   dbiIndexSet allMatches = NULL;
  -dbiIndexItem rec = NULL;
  -int i;
  +rpmmi mi = NULL;
  +unsigned int prevoff = 0;
  +Header h;
   int rc;
   int xx;
   
  @@ -1469,7 +1471,9 @@
   
   dbi = dbiOpen(db, RPMTAG_BASENAMES, 0);
   if (dbi != NULL) {
  - dbcursor = NULL;
  + DBC * dbcursor = NULL;
  + int i;
  +
xx = dbiCopen(dbi, dbi->dbi_txnid, &dbcursor, 0);
   
   /*...@-temptrans@*/
  @@ -1496,7 +1500,6 @@
}
   
xx = dbiCclose(dbi, dbcursor, 0);
  - dbcursor = NULL;
   } else
rc = -2;
   
  @@ -1506,80 +1509,55 @@
return rc;
   }
   
  -*matches = xcalloc(1, sizeof(**matches));
  -rec = dbiIndexNewItem(0, 0);
  -i = 0;
  -if (allMatches != NULL)
  -while (i < allMatches->count) {
  - const char ** baseNames;
  - const char ** dirNames;
  - rpmuint32_t * dirIndexes;
  - unsigned int offset = dbiIndexRecordOffset(allMatches, i);
  - unsigned int prevoff;
  - Header h;
  +/* Create an iterator for the matches. */
  +mi = rpmmiInit(db, RPMDBI_PACKAGES, NULL, 0);
  +assert(allMatches != NULL);
  +mi->mi_set = allMatches;
  +
  +prevoff = 0;
  +BN->tag = RPMTAG_BASENAMES;
  +DN->tag = RPMTAG_DIRNAMES;
  +DI->tag = RPMTAG_DIRINDEXES;
   
  - {   rpmmi mi;
  - mi = rpmmiInit(db, RPMDBI_PACKAGES, &offset, sizeof(offset));
  - h = rpmmiNext(mi);
  - if (h)
  - h = headerLink(h);
  - mi = rpmmiFree(mi);
  - }
  -
  - if (h == NULL) {
  - i++;
  - continue;
  - }
  -
  - he->tag = RPMTAG_BASENAMES;
  - xx = headerGet(h, he, 0);
  - baseNames = he->p.argv;
  - he->tag = RPMTAG_DIRNAMES;
  - xx = headerGet(h, he, 0);
  - dirNames = he->p.argv;
  - he->tag = RPMTAG_DIRINDEXES;
  - xx = headerGet(h, he, 0);
  - dirIndexes = he->p.ui32p;
  -
  - do {
  - fingerPrint fp2;
  - int num = dbiIndexRecordFileNumber(allMatches, i);
  -
  - fp2 = fpLookup(fpc, dirNames[dirIndexes[num]], baseNames[num], 1);
  - /*...@-nullpass@*/
  - if (FP_EQUAL(fp1, fp2)) {
  - /*...@=nullpass@*/
  - rec->hdrNum = dbiIndexRecordOffset(allMatches, i);
  - rec->tagNum = dbiIndexRecordFileNumber(allMatches, i);
  - xx = dbiAppendSet(*matches, rec, 1, sizeof(*rec), 0);
  - }
  +/* Find the file(s) with the same fingerprint. */
  +while ((h = rpmmiNext(mi)) != NULL) {
  + fingerPrint fp2;
  + int num;
   
  - prevoff = offset;
  - i++;
  - if (i < allMatches->count)
  - offset = dbiInde

[CVS] RPM: rpm/ CHANGES rpm/js/ rpmmi-js.c rpmts-js.c rpm/lib/ depends...

2009-05-15 Thread Jeff Johnson
  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:   15-May-2009 15:41:00
  Branch: HEAD Handle: 2009051513405802

  Modified files:
rpm CHANGES
rpm/js  rpmmi-js.c rpmts-js.c
rpm/lib depends.c psm.c rpmgi.c rpminstall.c rpmrollback.c
rpmts.c tgi.c transaction.c
rpm/python  rpmmi-py.c rpmts-py.c
rpm/rpmdb   hdrfmt.c librpmdb.vers pkgio.c rpmdb.c rpmdb.h
rpm/rubyrpmmi-rb.c
rpm/tools   rpmcache.c

  Log:
- rpmmi: rename the other methods for the match iterator object.

  Summary:
RevisionChanges Path
1.2989  +1  -0  rpm/CHANGES
1.20+3  -3  rpm/js/rpmmi-js.c
1.23+1  -1  rpm/js/rpmts-js.c
1.445   +8  -9  rpm/lib/depends.c
2.369   +16 -17 rpm/lib/psm.c
2.68+3  -3  rpm/lib/rpmgi.c
1.220   +3  -3  rpm/lib/rpminstall.c
1.44+2  -2  rpm/lib/rpmrollback.c
2.170   +2  -2  rpm/lib/rpmts.c
2.26+1  -1  rpm/lib/tgi.c
1.403   +6  -6  rpm/lib/transaction.c
1.25+3  -3  rpm/python/rpmmi-py.c
1.104   +3  -3  rpm/python/rpmts-py.c
1.138   +4  -4  rpm/rpmdb/hdrfmt.c
1.65+14 -14 rpm/rpmdb/librpmdb.vers
1.99+2  -2  rpm/rpmdb/pkgio.c
1.297   +17 -18 rpm/rpmdb/rpmdb.c
1.89+9  -9  rpm/rpmdb/rpmdb.h
1.7 +3  -3  rpm/ruby/rpmmi-rb.c
2.40+1  -1  rpm/tools/rpmcache.c
  

  patch -p0 <<'@@ .'
  Index: rpm/CHANGES
  
  $ cvs diff -u -r1.2988 -r1.2989 CHANGES
  --- rpm/CHANGES   15 May 2009 12:28:44 -  1.2988
  +++ rpm/CHANGES   15 May 2009 13:40:58 -  1.2989
  @@ -1,5 +1,6 @@
   
   5.2b1 -> 5.3a1
  +- jbj: rpmmi: rename the other methods for the match iterator object.
   - 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.
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/js/rpmmi-js.c
  
  $ cvs diff -u -r1.19 -r1.20 rpmmi-js.c
  --- rpm/js/rpmmi-js.c 14 May 2009 16:58:23 -  1.19
  +++ rpm/js/rpmmi-js.c 15 May 2009 13:40:58 -  1.20
  @@ -40,7 +40,7 @@
   if (!(ok = JS_ConvertArguments(cx, argc, argv, "is", &tag, &pattern)))
goto exit;
   
  -rpmdbSetIteratorRE(mi, tag, type, pattern);
  +rpmmiAddPattern(mi, tag, type, pattern);
   
   ok = JS_TRUE;
   *rval = BOOLEAN_TO_JSVAL(ok);
  @@ -89,10 +89,10 @@
break;
   case _LENGTH:
   case _COUNT: /* XXX is _LENGTH enuf? */
  - *vp = INT_TO_JSVAL(rpmdbGetIteratorCount(mi));
  + *vp = INT_TO_JSVAL(rpmmiCount(mi));
   break;
   case _INSTANCE:
  - *vp = INT_TO_JSVAL(rpmdbGetIteratorOffset(mi));
  + *vp = INT_TO_JSVAL(rpmmiInstance(mi));
   break;
   default:
 {  JSObject *o = (JSVAL_IS_OBJECT(id) ? JSVAL_TO_OBJECT(id) : 
NULL);
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/js/rpmts-js.c
  
  $ cvs diff -u -r1.22 -r1.23 rpmts-js.c
  --- rpm/js/rpmts-js.c 14 May 2009 16:58:23 -  1.22
  +++ rpm/js/rpmts-js.c 15 May 2009 13:40:58 -  1.23
  @@ -108,7 +108,7 @@
while ((h = rpmmiNext(mi)) != NULL) {
xx = (upgrade >= 0)
? rpmtsAddInstallElement(ts, h, (fnpyKey)pkgN, upgrade, NULL)
  - : rpmtsAddEraseElement(ts, h, rpmdbGetIteratorOffset(mi));
  + : rpmtsAddEraseElement(ts, h, rpmmiInstance(mi));
break;
}
mi = rpmmiFree(mi);
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/lib/depends.c
  
  $ cvs diff -u -r1.444 -r1.445 depends.c
  --- rpm/lib/depends.c 14 May 2009 16:58:24 -  1.444
  +++ rpm/lib/depends.c 15 May 2009 13:40:58 -  1.445
  @@ -285,7 +285,7 @@
   
/* Create an erasure element. */
lastx = -1;
  - xx = removePackage(ts, oh, rpmdbGetIteratorOffset(mi), &lastx, pkgKey);
  + xx = removePackage(ts, oh, rpmmiInstance(mi), &lastx, pkgKey);
   assert(lastx >= 0 && lastx < ts->orderCount);
q = ts->order[lastx];
   
  @@ -357,7 +357,7 @@
   
   /* Count remaining members

[CVS] RPM: rpm/ CHANGES rpm/lib/ rpmrc.c

2009-05-15 Thread Per �yvind Karlsen
  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:
RevisionChanges 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 -  1.2987
  +++ rpm/CHANGES   15 May 2009 12:28:44 -  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 -  2.286
  +++ rpm/lib/rpmrc.c   15 May 2009 12:28:44 -  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 Managerhttp://rpm5.org
CVS Sources Repositoryrpm-cvs@rpm5.org


[CVS] RPM: rpm-5_2: rpm/ Makefile.am

2009-05-15 Thread Per �yvind Karlsen
  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 12:54:17
  Branch: rpm-5_2  Handle: 2009051510541700

  Modified files:   (Branch: rpm-5_2)
rpm Makefile.am

  Log:
d'oh, also forgot js/src/*.msg

  Summary:
RevisionChanges Path
2.236.2.3   +1  -1  rpm/Makefile.am
  

  patch -p0 <<'@@ .'
  Index: rpm/Makefile.am
  
  $ cvs diff -u -r2.236.2.2 -r2.236.2.3 Makefile.am
  --- rpm/Makefile.am   15 May 2009 10:52:50 -  2.236.2.2
  +++ rpm/Makefile.am   15 May 2009 10:54:17 -  2.236.2.3
  @@ -11,7 +11,7 @@
file/src/[A-Z]* file/src/*.[ch] file/python file/magic file/doc 
file/[A-Z]* file/acinclude.m4 file/aclocal.m4 \
file/autogen.sh file/config* file/depcomp file/install-sh 
file/ltmain.sh file/missing file/mkinstalldirs \
js/*.[ch] js/Makefile.in js/Makefile.am \
  - js/src/*.[ch] js/src/*.mk js/src/*.js js/src/*.sed js/src/*.tbl 
js/src/Makefile.in js/src/Makefile.am \
  + js/src/*.[ch] js/src/*.mk js/src/*.js js/src/*.sed js/src/*.tbl 
js/src/*.msg js/src/Makefile.in js/src/Makefile.am \
js/src/editline/*.[ch3] js/src/editline/Makefile.ref 
js/src/editline/README \
js/src/fdlibm/*.[ch] js/src/fdlibm/Makefile.in 
js/src/fdlibm/Makefile.ref \
js/src/fdlibm/*mak js/src/fdlibm/*mdp \
  @@ .
__
RPM Package Managerhttp://rpm5.org
CVS Sources Repositoryrpm-cvs@rpm5.org


[CVS] RPM: rpm-5_2: rpm/ Makefile.am

2009-05-15 Thread Per �yvind Karlsen
  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 12:52:50
  Branch: rpm-5_2  Handle: 2009051510525000

  Modified files:   (Branch: rpm-5_2)
rpm Makefile.am

  Log:
oops, forgot to include js/src/*.tbl when creating tarball

  Summary:
RevisionChanges Path
2.236.2.2   +1  -1  rpm/Makefile.am
  

  patch -p0 <<'@@ .'
  Index: rpm/Makefile.am
  
  $ cvs diff -u -r2.236.2.1 -r2.236.2.2 Makefile.am
  --- rpm/Makefile.am   14 May 2009 15:34:27 -  2.236.2.1
  +++ rpm/Makefile.am   15 May 2009 10:52:50 -  2.236.2.2
  @@ -11,7 +11,7 @@
file/src/[A-Z]* file/src/*.[ch] file/python file/magic file/doc 
file/[A-Z]* file/acinclude.m4 file/aclocal.m4 \
file/autogen.sh file/config* file/depcomp file/install-sh 
file/ltmain.sh file/missing file/mkinstalldirs \
js/*.[ch] js/Makefile.in js/Makefile.am \
  - js/src/*.[ch] js/src/*.mk js/src/*.js js/src/*.sed js/src/Makefile.in 
js/src/Makefile.am \
  + js/src/*.[ch] js/src/*.mk js/src/*.js js/src/*.sed js/src/*.tbl 
js/src/Makefile.in js/src/Makefile.am \
js/src/editline/*.[ch3] js/src/editline/Makefile.ref 
js/src/editline/README \
js/src/fdlibm/*.[ch] js/src/fdlibm/Makefile.in 
js/src/fdlibm/Makefile.ref \
js/src/fdlibm/*mak js/src/fdlibm/*mdp \
  @@ .
__
RPM Package Managerhttp://rpm5.org
CVS Sources Repositoryrpm-cvs@rpm5.org