- update to rpm-4.8.0

* updated python bindings
  * new transaction ordering code

OBS-URL: https://build.opensuse.org/package/show/Base:System/rpm?expand=0&rev=40
This commit is contained in:
2010-03-26 10:56:28 +00:00
committed by Git OBS Bridge
parent 3de0fb7483
commit a6846b83ca
30 changed files with 960 additions and 1166 deletions

View File

@@ -2,11 +2,9 @@ The taggedfileindex patch. Speeds up database searches, but breaks
fingerprint semantics.
rh#103204
Index: lib/rpmdb.c
===================================================================
--- lib/rpmdb.c.orig
+++ lib/rpmdb.c
@@ -1107,6 +1107,16 @@ int rpmdbVerify(const char * prefix)
--- ./lib/rpmdb.c.orig 2010-03-25 14:43:41.000000000 +0000
+++ ./lib/rpmdb.c 2010-03-25 15:15:14.000000000 +0000
@@ -1122,6 +1122,16 @@ int rpmdbVerify(const char * prefix)
return rc;
}
@@ -23,7 +21,7 @@ Index: lib/rpmdb.c
/**
* Find file matches in database.
* @param db rpm database
@@ -1169,6 +1179,11 @@ static int rpmdbFindByFile(rpmdb db, con
@@ -1181,6 +1191,11 @@ static int rpmdbFindByFile(rpmdb db, con
if (rc == 0)
(void) dbt2set(dbi, data, &allMatches);
@@ -35,16 +33,16 @@ Index: lib/rpmdb.c
xx = dbiCclose(dbi, dbcursor, 0);
dbcursor = NULL;
} else
@@ -2172,7 +2187,7 @@ void rpmdbSortIterator(rpmdbMatchIterato
@@ -2182,7 +2197,7 @@ void rpmdbSortIterator(rpmdbMatchIterato
}
}
/* LCL: segfault */
-static int rpmdbGrowIterator(rpmdbMatchIterator mi)
+static int rpmdbGrowIterator(rpmdbMatchIterator mi, unsigned int tag)
{
DBC * dbcursor;
DBT * key;
@@ -2222,6 +2237,27 @@ static int rpmdbGrowIterator(rpmdbMatchI
@@ -2232,6 +2247,27 @@ static int rpmdbGrowIterator(rpmdbMatchI
dbcursor = NULL;
#endif
@@ -72,7 +70,7 @@ Index: lib/rpmdb.c
if (mi->mi_set == NULL) {
mi->mi_set = set;
} else {
@@ -2403,7 +2439,15 @@ int rpmdbExtendIterator(rpmdbMatchIterat
@@ -2413,7 +2449,15 @@ int rpmdbExtendIterator(rpmdbMatchIterat
{
mi->mi_key.data = (void *) keyp;
mi->mi_key.size = keylen ? keylen : strlen(keyp);
@@ -89,7 +87,7 @@ Index: lib/rpmdb.c
}
/*
@@ -2798,8 +2842,16 @@ int rpmdbAdd(rpmdb db, int iid, Header h
@@ -2808,8 +2852,16 @@ int rpmdbAdd(rpmdb db, int iid, Header h
if (hdrNum)
{
@@ -106,7 +104,7 @@ Index: lib/rpmdb.c
if (dbiTags.tags != NULL)
for (dbix = 0; dbix < dbiTags.max; dbix++) {
rpmTag rpmtag;
@@ -2891,6 +2943,10 @@ int rpmdbAdd(rpmdb db, int iid, Header h
@@ -2901,6 +2953,10 @@ int rpmdbAdd(rpmdb db, int iid, Header h
*/
i = rec->tagNum = rpmtdGetIndex(&tagdata);
switch (rpmtag) {
@@ -117,7 +115,7 @@ Index: lib/rpmdb.c
case RPMTAG_REQUIRENAME: {
/* Filter out install prerequisites. */
rpm_flag_t *rflag = rpmtdNextUint32(&reqflags);
@@ -2976,6 +3032,9 @@ cont:
@@ -2986,6 +3042,9 @@ cont:
if (ret == 0) {
headerSetInstance(h, hdrNum);
}
@@ -127,11 +125,9 @@ Index: lib/rpmdb.c
}
exit:
Index: lib/rpmdb_internal.h
===================================================================
--- lib/rpmdb_internal.h.orig
+++ lib/rpmdb_internal.h
@@ -540,6 +540,9 @@ unsigned int dbiIndexRecordFileNumber(db
--- ./lib/rpmdb_internal.h.orig 2009-12-07 14:36:49.000000000 +0000
+++ ./lib/rpmdb_internal.h 2010-03-25 15:14:38.000000000 +0000
@@ -542,6 +542,9 @@ const char *rpmdbHome(rpmdb db);
int rpmdbExtendIterator(rpmdbMatchIterator mi,
const void * keyp, size_t keylen);
@@ -141,13 +137,11 @@ Index: lib/rpmdb_internal.h
/** \ingroup rpmdb
* sort the iterator by (recnum, filenum)
* Return database iterator.
Index: lib/transaction.c
===================================================================
--- lib/transaction.c.orig
+++ lib/transaction.c
@@ -609,9 +609,12 @@ rpmdbMatchIterator rpmFindBaseNamesInDB(
--- ./lib/transaction.c.orig 2010-03-25 14:38:27.000000000 +0000
+++ ./lib/transaction.c 2010-03-25 15:14:38.000000000 +0000
@@ -848,9 +848,12 @@ rpmdbMatchIterator rpmFindBaseNamesInDB(
rpmdbMatchIterator mi;
int i, xx;
int xx;
const char * baseName;
+ const char * dirName;
@@ -158,8 +152,8 @@ Index: lib/transaction.c
mi = rpmdbInitIterator(rpmtsGetRdb(ts), RPMTAG_BASENAMES, NULL, 0);
@@ -629,18 +632,25 @@ rpmdbMatchIterator rpmFindBaseNamesInDB(
while ((i = rpmfiNext(fi)) >= 0) {
@@ -868,18 +871,25 @@ rpmdbMatchIterator rpmFindBaseNamesInDB(
while (rpmfiNext(fi) >= 0) {
size_t keylen;
baseName = rpmfiBN(fi);
+ dirName = rpmfiDN(fi);