1 diff -Nur rpm-4.1.orig/configure.ac rpm-4.1/configure.ac
2 --- rpm-4.1.orig/configure.ac Sun Oct 20 16:34:30 2002
3 +++ rpm-4.1/configure.ac Sun Oct 20 16:37:39 2002
5 if test $withval = no ; then
6 dnl ------------------ without internal db
8 -AC_CHECK_HEADERS(db3/db.h)
9 +AC_CHECK_HEADERS(db.h)
11 dnl Check for Berkeley db3 API.
12 AC_CHECK_FUNC(db_create, [DBLIBSRCS="$DBLIBSRCS db3.c"],
13 + AC_CHECK_LIB(db-4.1, db_create, [DBLIBSRCS="$DBLIBSRCS db3.c"; libdb3="-ldb-4.1"],
14 + AC_CHECK_LIB(db-4.0, db_create, [DBLIBSRCS="$DBLIBSRCS db3.c"; libdb3="-ldb-4.0"],
15 AC_CHECK_LIB(db-3.2, db_create, [DBLIBSRCS="$DBLIBSRCS db3.c"; libdb3="-ldb-3.2"],
16 AC_CHECK_LIB(db-3.1, db_create, [DBLIBSRCS="$DBLIBSRCS db3.c"; libdb3="-ldb-3.1"],
17 AC_CHECK_LIB(db-3.0, db_create, [DBLIBSRCS="$DBLIBSRCS db3.c"; libdb3="-ldb-3.0"],
26 if test X"$DBLIBSRCS" = X; then
27 diff -Nur rpm-4.1.orig/python/_rpmdb.c rpm-4.1/python/_rpmdb.c
28 --- rpm-4.1.orig/python/_rpmdb.c Fri Jun 7 15:12:34 2002
29 +++ rpm-4.1/python/_rpmdb.c Sun Oct 20 16:36:39 2002
32 case 0: /* successful, no error */ break;
35 -#if INCOMPLETE_IS_WARNING
36 - strcpy(errTxt, db_strerror(err));
37 - if (_db_errmsg[0]) {
38 - strcat(errTxt, " -- ");
39 - strcat(errTxt, _db_errmsg);
42 -#if PYTHON_API_VERSION >= 1010 /* if Python 2.1 or better use warning framework */
43 - exceptionRaised = PyErr_Warn(PyExc_RuntimeWarning, errTxt);
45 - fprintf(stderr, errTxt);
46 - fprintf(stderr, "\n");
49 -#else /* do an exception instead */
50 - errObj = DBIncompleteError;
54 case DB_KEYEMPTY: errObj = DBKeyEmptyError; break;
55 case DB_KEYEXIST: errObj = DBKeyExistError; break;
59 MYDB_BEGIN_ALLOW_THREADS;
60 - err = self->db->associate(self->db,
61 + err = self->db->associate(self->db, NULL,
63 _db_associateCallback,
68 MYDB_BEGIN_ALLOW_THREADS;
69 - err = self->db->open(self->db, filename, dbname, type, flags, mode);
70 + err = self->db->open(self->db, NULL, filename, dbname, type, flags, mode);
71 MYDB_END_ALLOW_THREADS;
72 if (makeDBError(err)) {
75 MAKE_HASH_ENTRY(nkeys);
76 MAKE_HASH_ENTRY(ndata);
77 MAKE_HASH_ENTRY(pagesize);
78 - MAKE_HASH_ENTRY(nelem);
79 MAKE_HASH_ENTRY(ffactor);
80 MAKE_HASH_ENTRY(buckets);
81 MAKE_HASH_ENTRY(free);
84 #define MAKE_ENTRY(name) _addIntToDict(d, #name, sp->st_##name)
91 ADD_INT(d, DB_APPEND);
92 ADD_INT(d, DB_BEFORE);
93 ADD_INT(d, DB_CACHED_COUNTS);
94 - ADD_INT(d, DB_CHECKPOINT);
96 ADD_INT(d, DB_COMMIT);
100 ADD_INT(d, DB_CONSUME_WAIT);
102 - ADD_INT(d, DB_CURLSN);
103 ADD_INT(d, DB_CURRENT);
105 ADD_INT(d, DB_FAST_STAT);
106 @@ -4164,7 +4141,6 @@
107 ADD_INT(d, DB_DONOTINDEX);
110 - ADD_INT(d, DB_INCOMPLETE);
111 ADD_INT(d, DB_KEYEMPTY);
112 ADD_INT(d, DB_KEYEXIST);
113 ADD_INT(d, DB_LOCK_DEADLOCK);
114 diff -Nur rpm-4.1.orig/rpmdb/db3.c rpm-4.1/rpmdb/db3.c
115 --- rpm-4.1.orig/rpmdb/db3.c Tue Aug 13 22:42:39 2002
116 +++ rpm-4.1/rpmdb/db3.c Sun Oct 20 16:36:39 2002
119 rc = db->sync(db, flags);
120 /* XXX DB_INCOMPLETE is returned occaisionally with multiple access. */
121 - _printit = (rc == DB_INCOMPLETE ? 0 : _debug);
123 rc = cvtdberr(dbi, "db->sync", rc, _printit);
126 @@ -599,10 +599,11 @@
128 DB * db = dbi->dbi_db;
129 DB * secondary = dbisecondary->dbi_db;
130 + DB_TXN * txnid = NULL;
133 /*@-moduncon@*/ /* FIX: annotate db3 methods */
134 - rc = db->associate(db, secondary, callback, flags);
135 + rc = db->associate(db, txnid, secondary, callback, flags);
137 rc = cvtdberr(dbi, "db->associate", rc, _debug);
142 DB_ENV * dbenv = NULL;
143 + DB_TXN * txnid = NULL;
147 @@ -1124,7 +1126,7 @@
148 ? dbfullpath : dbfile;
151 - rc = db->open(db, dbpath, dbsubfile,
152 + rc = db->open(db, txnid, dbpath, dbsubfile,
153 dbi->dbi_type, oflags, dbi->dbi_perms);
155 if (rc == 0 && dbi->dbi_type == DB_UNKNOWN) {