- 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:
@@ -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);
|
||||
|
Reference in New Issue
Block a user