[CVS] RPM: rpm-5_3: rpm/rpmdb/ db3.c
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: 27-Mar-2011 22:50:06 Branch: rpm-5_3 Handle: 2011032720500600 Modified files: (Branch: rpm-5_3) rpm/rpmdb db3.c Log: fix typo Summary: RevisionChanges Path 1.150.2.12 +1 -1 rpm/rpmdb/db3.c patch -p0 <<'@@ .' Index: rpm/rpmdb/db3.c $ cvs diff -u -r1.150.2.11 -r1.150.2.12 db3.c --- rpm/rpmdb/db3.c 27 Mar 2011 05:15:12 - 1.150.2.11 +++ rpm/rpmdb/db3.c 27 Mar 2011 20:50:06 - 1.150.2.12 @@ -920,7 +920,7 @@ } /* Logging: */ -#if defined(RPM_VENDDOR_MANDRIVA) /* set-default-bdb-log-dir */ +#if defined(RPM_VENDOR_MANDRIVA) /* set-default-bdb-log-dir */ const char *logdir; logdir = rpmGetPath(dbhome, "/", "log", NULL); @@ . __ RPM Package Managerhttp://rpm5.org CVS Sources Repositoryrpm-cvs@rpm5.org
[CVS] RPM: rpm-5_3: rpm/rpmdb/ db3.c
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: 24-Mar-2011 17:46:13 Branch: rpm-5_3 Handle: 2011032416461300 Modified files: (Branch: rpm-5_3) rpm/rpmdb db3.c Log: add set-default-bdb-log-dir patch from cooker under mandriva #ifdef Summary: RevisionChanges Path 1.150.2.10 +14 -0 rpm/rpmdb/db3.c patch -p0 <<'@@ .' Index: rpm/rpmdb/db3.c $ cvs diff -u -r1.150.2.9 -r1.150.2.10 db3.c --- rpm/rpmdb/db3.c 25 Jan 2011 14:53:16 - 1.150.2.9 +++ rpm/rpmdb/db3.c 24 Mar 2011 16:46:13 - 1.150.2.10 @@ -920,6 +920,20 @@ } /* Logging: */ +#if defined(RPM_VENDDOR_MANDRIVA) /* set-default-bdb-log-dir */ +const char *logdir; + +logdir = rpmGetPath(dbhome, "/", "log", NULL); +/* + * Create the /var/lib/rpm/log directory if it doesn't exist (root only). + */ +rpmioMkpath(logdir, 0755, getuid(), getgid()); + +xx = dbenv->set_lg_dir(dbenv, logdir); +xx = cvtdberr(dbi, "dbenv->set_lg_dir", xx, _debug); + +_free(logdir); +#endif /* Memory pool: */ if (eflags & DB_INIT_MPOOL) { @@ . __ RPM Package Managerhttp://rpm5.org CVS Sources Repositoryrpm-cvs@rpm5.org
[CVS] RPM: rpm-5_3: rpm/rpmdb/ db3.c
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: 25-Jan-2011 15:53:16 Branch: rpm-5_3 Handle: 2011012514531600 Modified files: (Branch: rpm-5_3) rpm/rpmdb db3.c Log: sync max number of locks with DB_CONFIG Summary: RevisionChanges Path 1.150.2.9 +1 -1 rpm/rpmdb/db3.c patch -p0 <<'@@ .' Index: rpm/rpmdb/db3.c $ cvs diff -u -r1.150.2.8 -r1.150.2.9 db3.c --- rpm/rpmdb/db3.c 24 Jan 2011 13:32:27 - 1.150.2.8 +++ rpm/rpmdb/db3.c 25 Jan 2011 14:53:16 - 1.150.2.9 @@ -899,7 +899,7 @@ } /* Locking: */ -#define _RPMDB_NLOCKS 8192 +#define _RPMDB_NLOCKS 16384 if (eflags & DB_INIT_LOCK) { uint32_t _lk_max_lockers = _RPMDB_NLOCKS; uint32_t _lk_max_locks = _RPMDB_NLOCKS; @@ . __ RPM Package Managerhttp://rpm5.org CVS Sources Repositoryrpm-cvs@rpm5.org
[CVS] RPM: rpm-5_3: rpm/rpmdb/ db3.c
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: 24-Jan-2011 14:32:28 Branch: rpm-5_3 Handle: 2011012413322700 Modified files: (Branch: rpm-5_3) rpm/rpmdb db3.c Log: - use DB_CONFIG to establish log directory location. Summary: RevisionChanges Path 1.150.2.8 +0 -12 rpm/rpmdb/db3.c patch -p0 <<'@@ .' Index: rpm/rpmdb/db3.c $ cvs diff -u -r1.150.2.7 -r1.150.2.8 db3.c --- rpm/rpmdb/db3.c 17 Jan 2011 23:31:41 - 1.150.2.7 +++ rpm/rpmdb/db3.c 24 Jan 2011 13:32:27 - 1.150.2.8 @@ -920,18 +920,6 @@ } /* Logging: */ -const char *logdir; - -logdir = rpmGetPath(dbhome, "/", "log", NULL); -/* - * Create the /var/lib/rpm/log directory if it doesn't exist (root only). - */ -rpmioMkpath(logdir, 0755, getuid(), getgid()); - -xx = dbenv->set_lg_dir(dbenv, logdir); -xx = cvtdberr(dbi, "dbenv->set_lg_dir", xx, _debug); - -_free(logdir); /* Memory pool: */ if (eflags & DB_INIT_MPOOL) { @@ . __ RPM Package Managerhttp://rpm5.org CVS Sources Repositoryrpm-cvs@rpm5.org
[CVS] RPM: rpm-5_3: rpm/rpmdb/ db3.c
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: 18-Jan-2011 00:31:45 Branch: rpm-5_3 Handle: 2011011723314100 Modified files: (Branch: rpm-5_3) rpm/rpmdb db3.c Log: always set log directory Summary: RevisionChanges Path 1.150.2.7 +56 -14 rpm/rpmdb/db3.c patch -p0 <<'@@ .' Index: rpm/rpmdb/db3.c $ cvs diff -u -r1.150.2.6 -r1.150.2.7 db3.c --- rpm/rpmdb/db3.c 13 Jan 2011 06:41:06 - 1.150.2.6 +++ rpm/rpmdb/db3.c 17 Jan 2011 23:31:41 - 1.150.2.7 @@ -337,6 +337,29 @@ #define _AFFLAGS(_afflags) fmtDBafflags(_afflags) /*@unchecked@*/ /*@observer@*/ +static KEY DBCoflags[] = { +#ifdef NOTYET /* XXX DB->cursor() doco for db-5.1.19 lists, undef'd */ +_ENTRY(BULK), +#endif +_ENTRY(READ_COMMITTED), +_ENTRY(READ_UNCOMMITTED), +_ENTRY(WRITECURSOR), +_ENTRY(TXN_SNAPSHOT), +}; +/*@unchecked@*/ +static size_t nDBCoflags = sizeof(DBCoflags) / sizeof(DBCoflags[0]); +/*@observer@*/ +static const char * fmtDBCoflags(uint32_t flags) + /*@*/ +{ +static char buf[BUFSIZ]; +char * te = buf; +(void) fmtBits(flags, DBCoflags, nDBCoflags, te); +return buf; +} +#define _DBCOFLAGS(_coflags)fmtDBCoflags(_coflags) + +/*@unchecked@*/ /*@observer@*/ static KEY DBCflags[] = { _ENTRY(AFTER), /* Dbc.put */ _ENTRY(APPEND), /* Db.put */ @@ -684,9 +707,28 @@ const char * n; uint32_t v; } _events[] = { + /* XXX numbered from db-5.1.19, older versions are different. */ +#if (DB_VERSION_MAJOR == 5) +_TABLE(PANIC), /* 0 */ +_TABLE(REG_ALIVE), /* 1 */ +_TABLE(REG_PANIC), /* 2 */ +_TABLE(REP_CLIENT), /* 3 */ +_TABLE(REP_DUPMASTER), /* 4 */ +_TABLE(REP_ELECTED), /* 5 */ +_TABLE(REP_ELECTION_FAILED),/* 6 */ +_TABLE(REP_JOIN_FAILURE),/* 7 */ +_TABLE(REP_MASTER), /* 8 */ +_TABLE(REP_MASTER_FAILURE), /* 9 */ +_TABLE(REP_NEWMASTER), /* 10 */ +_TABLE(REP_PERM_FAILED), /* 11 */ +_TABLE(REP_STARTUPDONE), /* 12 */ +_TABLE(WRITE_FAILED),/* 13 */ +_TABLE(NO_SUCH_EVENT), /* 14 */ +_TABLE(NO_SUCH_EVENT), /* 15 */ +#else _TABLE(NO_SUCH_EVENT), /* 0 */ _TABLE(PANIC), /* 1 */ -#if (DB_VERSION_MAJOR == 4 && DB_VERSION_MINOR >= 8) || (DB_VERSION_MAJOR == 5) +#if (DB_VERSION_MAJOR == 4 && DB_VERSION_MINOR >= 8) _TABLE(REG_ALIVE), /* 2 */ _TABLE(REG_PANIC), /* 3 */ #else @@ -705,6 +747,7 @@ _TABLE(NO_SUCH_EVENT), /* 13 */ _TABLE(NO_SUCH_EVENT), /* 14 */ _TABLE(NO_SUCH_EVENT), /* 15 */ +#endif }; #undef _TABLE @@ -877,20 +920,18 @@ } /* Logging: */ -if (eflags & DB_INIT_LOG) { - const char *logdir; +const char *logdir; - logdir = rpmGetPath(dbhome, "/", "log", NULL); - /* - * Create the /var/lib/rpm/log directory if it doesn't exist (root only). - */ - rpmioMkpath(logdir, 0755, getuid(), getgid()); +logdir = rpmGetPath(dbhome, "/", "log", NULL); +/* + * Create the /var/lib/rpm/log directory if it doesn't exist (root only). + */ +rpmioMkpath(logdir, 0755, getuid(), getgid()); - xx = dbenv->set_lg_dir(dbenv, logdir); - xx = cvtdberr(dbi, "dbenv->set_lg_dir", xx, _debug); +xx = dbenv->set_lg_dir(dbenv, logdir); +xx = cvtdberr(dbi, "dbenv->set_lg_dir", xx, _debug); - _free(logdir); -} +_free(logdir); /* Memory pool: */ if (eflags & DB_INIT_MPOOL) { @@ -1223,7 +1264,7 @@ else (void) db3cclose(dbi, dbcursor, 0); -DBIDEBUG(dbi, (stderr, "<-- %s(%p,%p,%p,0x%x) dbc %p rc %d\n", __FUNCTION__, dbi, txnid, dbcp, dbiflags, dbcursor, rc)); +DBIDEBUG(dbi, (stderr, "<-- %s(%p,%p,%p,0x%x) dbc %p %s rc %d\n", __FUNCTION__, dbi, txnid, dbcp, dbiflags, dbcursor, _DBCOFLAGS(flags), rc)); return rc; } @@ -1591,7 +1632,8 @@ } -if (rpmdb->db_dbenv != NULL && dbi->dbi_use_dbenv) { +/* XXX avoid non-root EPERM ACID PANIC with temp Depcache close. */ +if (rpmdb->db_dbenv != NULL && dbi->dbi_use_dbenv && !dbi->dbi_temporary) { if (rpmdb->db_opens == 1) { /*@-nullstate@*/
[CVS] RPM: rpm-5_3: rpm/rpmdb/ db3.c
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: 21-Sep-2010 18:15:14 Branch: rpm-5_3 Handle: 2010092116151200 Modified files: (Branch: rpm-5_3) rpm/rpmdb db3.c Log: - db3: handle DB_RPCCLIENT directly, don't fuss DB_CLIENT 4.2.52 retrofit. Summary: RevisionChanges Path 1.150.2.3 +14 -11 rpm/rpmdb/db3.c patch -p0 <<'@@ .' Index: rpm/rpmdb/db3.c $ cvs diff -u -r1.150.2.2 -r1.150.2.3 db3.c --- rpm/rpmdb/db3.c 30 Apr 2010 15:08:59 - 1.150.2.2 +++ rpm/rpmdb/db3.c 21 Sep 2010 16:15:12 - 1.150.2.3 @@ -32,10 +32,6 @@ extern int logio_dispatch(DB_ENV * dbenv, DBT * dbt, DB_LSN * lsn, db_recops op) /*...@*/; -#if !defined(DB_CLIENT) /* XXX db-4.2.42 retrofit */ -#define DB_CLIENT DB_RPCCLIENT -#endif - #define DBIDEBUG(_dbi, _list) if ((_dbi)->dbi_debug) fprintf _list /*...@access rpmdb @*/ @@ -507,10 +503,10 @@ int rc = error; if (printit && rc) { - /*...@-moduncon@*/ /* FIX: annotate db3 methods */ +/*...@-moduncon@*/ /* FIX: annotate db3 methods */ rpmlog(RPMLOG_ERR, "%s:%s:%u: %s(%d): %s\n", func, fn, ln, msg, rc, db_strerror(error)); - /*...@=moduncon@*/ +/*...@=moduncon@*/ } return rc; @@ -780,8 +776,10 @@ dbhome, dbfile, prDbiOpenFlags(eflags, 1)); /* XXX Can't do RPC w/o host. */ +#if defined(DB_RPCCLIENT) if (dbi->dbi_host == NULL) - dbi->dbi_ecflags &= ~DB_CLIENT; + dbi->dbi_ecflags &= ~DB_RPCCLIENT; +#endif rc = db_env_create(&dbenv, dbi->dbi_ecflags); rc = cvtdberr(dbi, "db_env_create", rc, _debug); @@ -809,7 +807,8 @@ /* dbenv->set_paniccall(???) */ -if ((dbi->dbi_ecflags & DB_CLIENT) && dbi->dbi_host) { +#if defined(DB_RPCCLIENT) +if ((dbi->dbi_ecflags & DB_RPCCLIENT) && dbi->dbi_host) { const char * home; int retry = 0; @@ -825,7 +824,9 @@ break; (void) sleep(15); } -} else { +} else +#endif +{ { size_t _lo = 16 * 1024 * 1024; size_t _hi = 512 * 1024 * 1024; @@ -1720,7 +1721,7 @@ h = headerLoad(data->data); if (h == NULL) { rpmlog(RPMLOG_ERR, - _("rpmdb: header #%u cannot be loaded -- skipping.\n"), + _("db3: header #%u cannot be loaded -- skipping.\n"), (unsigned)hdrNum); goto exit; } @@ -2475,7 +2476,9 @@ * glibc/kernel combinations. */ if (rc == 0 && dbi->dbi_lockdbfd && - !((dbi->dbi_ecflags & DB_CLIENT) && dbi->dbi_host) && +#if defined(DB_RPCCLIENT) + !((dbi->dbi_ecflags & DB_RPCCLIENT) && dbi->dbi_host) && +#endif (!dbi->dbi_use_dbenv || _lockdbfd++ == 0)) { int fdno = -1; @@ . __ RPM Package Managerhttp://rpm5.org CVS Sources Repositoryrpm-cvs@rpm5.org