summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/db0.c6
-rw-r--r--lib/db1.c6
-rw-r--r--lib/db2.c108
-rw-r--r--lib/db3.c101
-rw-r--r--lib/dbindex.c3
-rw-r--r--lib/rebuilddb.c16
-rw-r--r--macros.in12
-rw-r--r--po/rpm.pot586
-rwxr-xr-xrpm.c2
-rw-r--r--rpmpopt.in7
10 files changed, 487 insertions, 360 deletions
diff --git a/lib/db0.c b/lib/db0.c
index fdcbf3659..49db973cb 100644
--- a/lib/db0.c
+++ b/lib/db0.c
@@ -313,10 +313,12 @@ static int db0open(dbiIndex dbi)
dbi_to_dbtype(dbi->dbi_type), dbi->dbi_openinfo);
#endif
- if (dbi->dbi_db)
+ if (dbi->dbi_db) {
rc = 0;
- else
+fprintf(stderr, "*** db%dopen: %s\n", dbi->dbi_major, dbi->dbi_file);
+ } else {
rc = 1;
+ }
return rc;
}
diff --git a/lib/db1.c b/lib/db1.c
index 6127a7353..17248c706 100644
--- a/lib/db1.c
+++ b/lib/db1.c
@@ -315,10 +315,12 @@ static int db1open(dbiIndex dbi)
dbi_to_dbtype(dbi->dbi_type), dbi->dbi_openinfo);
#endif
- if (dbi->dbi_db)
+ if (dbi->dbi_db) {
rc = 0;
- else
+fprintf(stderr, "*** db%dopen: %s\n", dbi->dbi_major, dbi->dbi_file);
+ } else {
rc = 1;
+ }
return rc;
}
diff --git a/lib/db2.c b/lib/db2.c
index f7f869d6c..3adc4c591 100644
--- a/lib/db2.c
+++ b/lib/db2.c
@@ -12,6 +12,33 @@ static int _debug = 1;
#if DB_VERSION_MAJOR == 2
#define __USE_DB2 1
+
+/* XXX dbenv parameters */
+static int db_lorder = 0; /* 0 is native order */
+static void (*db_errcall) (const char *db_errpfx, char *buffer) = NULL;
+static FILE * db_errfile = NULL;
+static const char * db_errpfx = "rpmdb";
+static int db_verbose = 1;
+
+static int dbmp_mmapsize = 16 * 1024 * 1024; /* XXX db2 default: 10 Mb */
+static int dbmp_size = 16 * 1024 * 1024; /* XXX db2 default: 128 Kb */
+
+/* XXX dbinfo parameters */
+static int db_cachesize = 0;
+static int db_pagesize = 16 * 1024; /* 512 - 64K, 0 is fs blksize */
+static void * (*db_malloc) (size_t nbytes) = NULL;
+
+static u_int32_t (*dbh_hash) (const void *, u_int32_t) = NULL;
+static u_int32_t dbh_ffactor = 0; /* db1 default: 8 */
+static u_int32_t dbh_nelem = 0; /* db1 default: 1 */
+static u_int32_t dbh_flags = 0;
+
+#if defined(INIT_CDB)
+static int dbopenflags = DB_INIT_CDB;
+#else
+static int dbopenflags = DB_INIT_MPOOL;
+#endif
+
#define _mymemset(_a, _b, _c) memset((_a), (_b), (_c))
static inline DBTYPE dbi_to_dbtype(DBI_TYPE dbitype)
@@ -97,9 +124,9 @@ static int cvtdberr(dbiIndex dbi, const char * msg, int error, int printit) {
if (error == 0)
rc = 0;
else if (error < 0)
- rc = -1;
- else if (error > 0)
rc = 1;
+ else if (error > 0)
+ rc = -1;
if (printit && rc) {
fprintf(stderr, "*** db%d %s rc %d %s\n", dbi->dbi_major, msg,
@@ -113,14 +140,13 @@ static int db_init(dbiIndex dbi, const char *home, int dbflags,
DB_ENV **dbenvp, void **dbinfop)
{
DB_ENV *dbenv = NULL;
- FILE * dberrfile = stderr;
- const char * dberrpfx = "rpmdb";
- int dbcachesize = 1024 * 1024;
- int dbpagesize = 32 * 1024; /* 0 - 64K */
+ int mydbopenflags;
int rc;
if (dbenvp == NULL || dbinfop == NULL)
return 1;
+ if (db_errfile == NULL)
+ db_errfile = stderr;
rc = db_env_create(&dbenv, 0);
rc = cvtdberr(dbi, "db_env_create", rc, _debug);
@@ -129,47 +155,60 @@ static int db_init(dbiIndex dbi, const char *home, int dbflags,
#if defined(__USE_DB3)
{ int xx;
- /* dbenv->set_errcall(???) */
- xx = dbenv->set_errfile(dberrfile);
- xx = cvtdberr(dbi, "dbenv->set_errfile", xx, _debug);
- xx = dbenv->set_errpfx(dberrpfx);
- xx = cvtdberr(dbi, "dbenv->set_errpfx", xx, _debug);
+ dbenv->set_errcall(dbenv, db_errcall);
+ dbenv->set_errfile(dbenv, db_errfile);
+ dbenv->set_errpfx(dbenv, db_errpfx);
/* dbenv->set_paniccall(???) */
- /* dbenv->set_verbose(???) */
+ dbenv->set_verbose(dbenv, DB_VERB_CHKPOINT, db_verbose);
+ dbenv->set_verbose(dbenv, DB_VERB_DEADLOCK, db_verbose);
+ dbenv->set_verbose(dbenv, DB_VERB_RECOVERY, db_verbose);
+ dbenv->set_verbose(dbenv, DB_VERB_WAITSFOR, db_verbose);
/* dbenv->set_lg_max(???) */
/* dbenv->set_lk_conflicts(???) */
/* dbenv->set_lk_detect(???) */
/* dbenv->set_lk_max(???) */
- /* dbenv->set_mp_mmapsize(???) */
- xx = dbenv->set_cachesize(dbcachesize);
+ xx = dbenv->set_mp_mmapsize(dbenv, dbmp_mmapsize);
+ xx = cvtdberr(dbi, "dbenv->set_mp_mmapsize", xx, _debug);
+ xx = dbenv->set_cachesize(dbenv, 0, dbmp_size, 0);
xx = cvtdberr(dbi, "dbenv->set_cachesize", xx, _debug);
/* dbenv->set_tx_max(???) */
/* dbenv->set_tx_recover(???) */
}
#else
- dbenv->db_errfile = dberrfile;
- dbenv->db_errpfx = dberrpfx;
- dbenv->mp_size = dbcachesize;
+ dbenv->db_errcall = db_errcall;
+ dbenv->db_errfile = db_errfile;
+ dbenv->db_errpfx = db_errpfx;
+ dbenv->db_verbose = db_verbose;
+ dbenv->mp_mmapsize = dbmp_mmapsize; /* XXX default is 10 Mb */
+ dbenv->mp_size = dbmp_size; /* XXX default is 128 Kb */
#endif
#define _DBFMASK (DB_CREATE|DB_NOMMAP|DB_THREAD)
+ mydbopenflags = (dbflags & _DBFMASK) | dbopenflags;
#if defined(__USE_DB3)
- rc = dbenv->open(dbenv, home, NULL, (dbflags & _DBFMASK), 0);
+ rc = dbenv->open(dbenv, home, NULL, mydbopenflags, 0);
rc = cvtdberr(dbi, "dbenv->open", rc, _debug);
if (rc)
goto errxit;
- xx = db->set_pagesize(db, dbpagesize)
- xx = cvtdberr(dbi, "db->set_pagesize", xx, _debug);
*dbinfop = NULL;
#else
- rc = db_appinit(home, NULL, dbenv, (dbflags & _DBFMASK));
+ rc = db_appinit(home, NULL, dbenv, mydbopenflags);
rc = cvtdberr(dbi, "db_appinit", rc, _debug);
if (rc)
goto errxit;
{ DB_INFO * dbinfo = xcalloc(1, sizeof(*dbinfo));
/* XXX W2DO? */
- dbinfo->db_pagesize = dbpagesize;
+ dbinfo->db_cachesize = db_cachesize;
+ dbinfo->db_lorder = db_lorder;
+ dbinfo->db_pagesize = db_pagesize;
+ dbinfo->db_malloc = db_malloc;
+ if (dbflags & DB_CREATE) {
+ dbinfo->h_ffactor = dbh_ffactor;
+ dbinfo->h_hash = dbh_hash;
+ dbinfo->h_nelem = dbh_nelem;
+ dbinfo->flags = dbh_flags;
+ }
*dbinfop = dbinfo;
}
#endif
@@ -182,7 +221,8 @@ errxit:
#if defined(__USE_DB3)
if (dbenv) {
- xx = dbenv->close(dbenv);
+ int xx;
+ xx = dbenv->close(dbenv, 0);
xx = cvtdberr(dbi, "dbenv->close", xx, _debug);
}
#else
@@ -219,7 +259,7 @@ static int db2close(dbiIndex dbi, unsigned int flags)
if (dbi->dbi_dbenv) {
DB_ENV * dbenv = (DB_ENV *)dbi->dbi_dbenv;
#if defined(__USE_DB3)
- xx = dbenv->close(dbenv);
+ xx = dbenv->close(dbenv, 0);
xx = cvtdberr(dbi, "dbenv->close", xx, _debug);
#else
xx = db_appexit(dbenv);
@@ -254,6 +294,7 @@ static int db2GetFirstKey(dbiIndex dbi, const char ** keyp)
{
DBT key, data;
DB * db;
+ int _printit;
int rc, xx;
if (dbi == NULL || dbi->dbi_db == NULL)
@@ -268,11 +309,16 @@ static int db2GetFirstKey(dbiIndex dbi, const char ** keyp)
#if defined(__USE_DB2) || defined(__USE_DB3)
{ DBC * dbcursor = NULL;
+#if defined(__USE_DB3)
+ rc = db->cursor(db, NULL, &dbcursor, 0);
+#else
rc = db->cursor(db, NULL, &dbcursor);
+#endif
rc = cvtdberr(dbi, "db->cursor", rc, _debug);
if (rc == 0) {
rc = dbcursor->c_get(dbcursor, &key, &data, DB_FIRST);
- rc = cvtdberr(dbi, "dbcursor->c_get", rc, _debug);
+ _printit = (rc == DB_NOTFOUND ? 0 : _debug);
+ rc = cvtdberr(dbi, "dbcursor->c_get", rc, _printit);
}
if (dbcursor) {
xx = dbcursor->c_close(dbcursor);
@@ -297,6 +343,7 @@ static int db2SearchIndex(dbiIndex dbi, const char * str, dbiIndexSet * set)
{
DBT key, data;
DB * db = GetDB(dbi);
+ int _printit;
int rc;
if (set) *set = NULL;
@@ -310,7 +357,8 @@ static int db2SearchIndex(dbiIndex dbi, const char * str, dbiIndexSet * set)
#if defined(__USE_DB2) || defined(__USE_DB3)
rc = db->get(db, NULL, &key, &data, 0);
- rc = cvtdberr(dbi, "db->get", rc, _debug);
+ _printit = (rc == DB_NOTFOUND ? 0 : _debug);
+ rc = cvtdberr(dbi, "db->get", rc, _printit);
#else
rc = db->get(db, &key, &data, 0);
#endif
@@ -385,6 +433,8 @@ static int db2open(dbiIndex dbi)
rc = db_create(&db, dbenv, 0);
rc = cvtdberr(dbi, "db_create", rc, _debug);
if (rc == 0) {
+ rc = db->set_pagesize(db, db_pagesize);
+ rc = cvtdberr(dbi, "db->set_pagesize", rc, _debug);
rc = db->open(db, dbi->dbi_file, NULL, dbi_to_dbtype(dbi->dbi_type),
dbflags, dbi->dbi_perms);
rc = cvtdberr(dbi, "db->open", rc, _debug);
@@ -405,10 +455,12 @@ static int db2open(dbiIndex dbi)
dbi_to_dbtype(dbi->dbi_type), dbi->dbi_openinfo);
#endif /* __USE_DB2 || __USE_DB3 */
- if (rc == 0 && dbi->dbi_db != NULL)
+ if (rc == 0 && dbi->dbi_db != NULL) {
rc = 0;
- else
+fprintf(stderr, "*** db%dopen: %s\n", dbi->dbi_major, dbi->dbi_file);
+ } else {
rc = 1;
+ }
return rc;
}
diff --git a/lib/db3.c b/lib/db3.c
index acc8f318d..26c84825a 100644
--- a/lib/db3.c
+++ b/lib/db3.c
@@ -10,12 +10,35 @@ static int _debug = 1;
/*@access dbiIndex@*/
/*@access dbiIndexSet@*/
-static const char * dberrpfx = "rpmdb";
-static int dbcachesize = 1024 * 1024;
-static int dbpagesize = 32 * 1024; /* 0 - 64K */
-
#if DB_VERSION_MAJOR == 3
#define __USE_DB3 1
+
+/* XXX dbenv parameters */
+static int db_lorder = 0; /* 0 is native order */
+static void (*db_errcall) (const char *db_errpfx, char *buffer) = NULL;
+static FILE * db_errfile = NULL;
+static const char * db_errpfx = "rpmdb";
+static int db_verbose = 1;
+
+static int dbmp_mmapsize = 16 * 1024 * 1024; /* XXX db2 default: 10 Mb */
+static int dbmp_size = 16 * 1024 * 1024; /* XXX db2 default: 128 Kb */
+
+/* XXX dbinfo parameters */
+static int db_cachesize = 0;
+static int db_pagesize = 0; /* 512 - 64K, 0 is fs blksize */
+static void * (*db_malloc) (size_t nbytes) = NULL;
+
+static u_int32_t (*dbh_hash) (const void *, u_int32_t) = NULL;
+static u_int32_t dbh_ffactor = 0; /* db1 default: 8 */
+static u_int32_t dbh_nelem = 0; /* db1 default: 1 */
+static u_int32_t dbh_flags = 0;
+
+#if defined(__ISE_DB3)
+static int dbopenflags = 0;
+#else
+static int dbopenflags = DB_INIT_MPOOL;
+#endif
+
#define _mymemset(_a, _b, _c) memset((_a), (_b), (_c))
static inline DBTYPE dbi_to_dbtype(DBI_TYPE dbitype)
@@ -101,9 +124,9 @@ static int cvtdberr(dbiIndex dbi, const char * msg, int error, int printit) {
if (error == 0)
rc = 0;
else if (error < 0)
- rc = -1;
- else if (error > 0)
rc = 1;
+ else if (error > 0)
+ rc = -1;
if (printit && rc) {
fprintf(stderr, "*** db%d %s rc %d %s\n", dbi->dbi_major, msg,
@@ -117,11 +140,13 @@ static int db_init(dbiIndex dbi, const char *home, int dbflags,
DB_ENV **dbenvp, void **dbinfop)
{
DB_ENV *dbenv = NULL;
- FILE * dberrfile = stderr;
+ int mydbopenflags;
int rc;
if (dbenvp == NULL || dbinfop == NULL)
return 1;
+ if (db_errfile == NULL)
+ db_errfile = stderr;
rc = db_env_create(&dbenv, 0);
rc = cvtdberr(dbi, "db_env_create", rc, _debug);
@@ -130,43 +155,60 @@ static int db_init(dbiIndex dbi, const char *home, int dbflags,
#if defined(__USE_DB3)
{ int xx;
- /* dbenv->set_errcall(???) */
- dbenv->set_errfile(dbenv, dberrfile);
- dbenv->set_errpfx(dbenv, dberrpfx);
+ dbenv->set_errcall(dbenv, db_errcall);
+ dbenv->set_errfile(dbenv, db_errfile);
+ dbenv->set_errpfx(dbenv, db_errpfx);
/* dbenv->set_paniccall(???) */
- /* dbenv->set_verbose(???) */
+ dbenv->set_verbose(dbenv, DB_VERB_CHKPOINT, db_verbose);
+ dbenv->set_verbose(dbenv, DB_VERB_DEADLOCK, db_verbose);
+ dbenv->set_verbose(dbenv, DB_VERB_RECOVERY, db_verbose);
+ dbenv->set_verbose(dbenv, DB_VERB_WAITSFOR, db_verbose);
/* dbenv->set_lg_max(???) */
/* dbenv->set_lk_conflicts(???) */
/* dbenv->set_lk_detect(???) */
/* dbenv->set_lk_max(???) */
- /* dbenv->set_mp_mmapsize(???) */
- xx = dbenv->set_cachesize(dbenv, 0, dbcachesize, 0);
+ xx = dbenv->set_mp_mmapsize(dbenv, dbmp_mmapsize);
+ xx = cvtdberr(dbi, "dbenv->set_mp_mmapsize", xx, _debug);
+ xx = dbenv->set_cachesize(dbenv, 0, dbmp_size, 0);
xx = cvtdberr(dbi, "dbenv->set_cachesize", xx, _debug);
/* dbenv->set_tx_max(???) */
/* dbenv->set_tx_recover(???) */
}
#else
- dbenv->db_errfile = dberrfile;
- dbenv->db_errpfx = dberrpfx;
- dbenv->mp_size = dbcachesize;
+ dbenv->db_errcall = db_errcall;
+ dbenv->db_errfile = db_errfile;
+ dbenv->db_errpfx = db_errpfx;
+ dbenv->db_verbose = db_verbose;
+ dbenv->mp_mmapsize = dbmp_mmapsize; /* XXX default is 10 Mb */
+ dbenv->mp_size = dbmp_size; /* XXX default is 128 Kb */
#endif
#define _DBFMASK (DB_CREATE|DB_NOMMAP|DB_THREAD)
+ mydbopenflags = (dbflags & _DBFMASK) | dbopenflags;
#if defined(__USE_DB3)
- rc = dbenv->open(dbenv, home, NULL, (dbflags & _DBFMASK), 0);
+ rc = dbenv->open(dbenv, home, NULL, mydbopenflags, 0);
rc = cvtdberr(dbi, "dbenv->open", rc, _debug);
if (rc)
goto errxit;
*dbinfop = NULL;
#else
- rc = db_appinit(home, NULL, dbenv, (dbflags & _DBFMASK));
+ rc = db_appinit(home, NULL, dbenv, mydbopenflags);
rc = cvtdberr(dbi, "db_appinit", rc, _debug);
if (rc)
goto errxit;
{ DB_INFO * dbinfo = xcalloc(1, sizeof(*dbinfo));
/* XXX W2DO? */
- dbinfo->db_pagesize = dbpagesize;
+ dbinfo->db_cachesize = db_cachesize;
+ dbinfo->db_lorder = db_lorder;
+ dbinfo->db_pagesize = db_pagesize;
+ dbinfo->db_malloc = db_malloc;
+ if (dbflags & DB_CREATE) {
+ dbinfo->h_ffactor = dbh_ffactor;
+ dbinfo->h_hash = dbh_hash;
+ dbinfo->h_nelem = dbh_nelem;
+ dbinfo->flags = dbh_flags;
+ }
*dbinfop = dbinfo;
}
#endif
@@ -252,6 +294,7 @@ static int db3GetFirstKey(dbiIndex dbi, const char ** keyp)
{
DBT key, data;
DB * db;
+ int _printit;
int rc, xx;
if (dbi == NULL || dbi->dbi_db == NULL)
@@ -274,7 +317,8 @@ static int db3GetFirstKey(dbiIndex dbi, const char ** keyp)
rc = cvtdberr(dbi, "db->cursor", rc, _debug);
if (rc == 0) {
rc = dbcursor->c_get(dbcursor, &key, &data, DB_FIRST);
- rc = cvtdberr(dbi, "dbcursor->c_get", rc, _debug);
+ _printit = (rc == DB_NOTFOUND ? 0 : _debug);
+ rc = cvtdberr(dbi, "dbcursor->c_get", rc, _printit);
}
if (dbcursor) {
xx = dbcursor->c_close(dbcursor);
@@ -299,6 +343,7 @@ static int db3SearchIndex(dbiIndex dbi, const char * str, dbiIndexSet * set)
{
DBT key, data;
DB * db = GetDB(dbi);
+ int _printit;
int rc;
if (set) *set = NULL;
@@ -312,7 +357,8 @@ static int db3SearchIndex(dbiIndex dbi, const char * str, dbiIndexSet * set)
#if defined(__USE_DB2) || defined(__USE_DB3)
rc = db->get(db, NULL, &key, &data, 0);
- rc = cvtdberr(dbi, "db->get", rc, _debug);
+ _printit = (rc == DB_NOTFOUND ? 0 : _debug);
+ rc = cvtdberr(dbi, "db->get", rc, _printit);
#else
rc = db->get(db, &key, &data, 0);
#endif
@@ -387,12 +433,13 @@ static int db3open(dbiIndex dbi)
rc = db_create(&db, dbenv, 0);
rc = cvtdberr(dbi, "db_create", rc, _debug);
if (rc == 0) {
- int xx;
+ if (db_pagesize) {
+ rc = db->set_pagesize(db, db_pagesize);
+ rc = cvtdberr(dbi, "db->set_pagesize", rc, _debug);
+ }
rc = db->open(db, dbi->dbi_file, NULL, dbi_to_dbtype(dbi->dbi_type),
dbflags, dbi->dbi_perms);
rc = cvtdberr(dbi, "db->open", rc, _debug);
- xx = db->set_pagesize(db, dbpagesize);
- xx = cvtdberr(dbi, "db->set_pagesize", xx, _debug);
}
#else
rc = db_open(dbi->dbi_file, dbi_to_dbtype(dbi->dbi_type), dbflags,
@@ -410,10 +457,12 @@ static int db3open(dbiIndex dbi)
dbi_to_dbtype(dbi->dbi_type), dbi->dbi_openinfo);
#endif /* __USE_DB2 || __USE_DB3 */
- if (rc == 0 && dbi->dbi_db != NULL)
+ if (rc == 0 && dbi->dbi_db != NULL) {
rc = 0;
- else
+fprintf(stderr, "*** db%dopen: %s\n", dbi->dbi_major, dbi->dbi_file);
+ } else {
rc = 1;
+ }
return rc;
}
diff --git a/lib/dbindex.c b/lib/dbindex.c
index efd51e2fe..2387f8fa2 100644
--- a/lib/dbindex.c
+++ b/lib/dbindex.c
@@ -75,8 +75,7 @@ static void freeDBI( /*@only@*/ /*@null@*/ dbiIndex dbi) {
}
}
-int _preferDbiMajor = 0; /* XXX shared with rebuilddb.c */
-int _useDbiMajor = -1;
+int _useDbiMajor = -1; /* XXX shared with rebuilddb.c */
static struct _dbiVec *mydbvecs[] = {
DB0vec, DB1vec, DB2vec, DB3vec, NULL
diff --git a/lib/rebuilddb.c b/lib/rebuilddb.c
index 89479e9f5..45b0c09b8 100644
--- a/lib/rebuilddb.c
+++ b/lib/rebuilddb.c
@@ -5,8 +5,7 @@
#include "rpmdb.h"
-extern int _preferDbiMajor; /* XXX shared with rebuilddb.c */
-extern int _useDbiMajor;
+extern int _useDbiMajor; /* XXX shared with dbindex.c */
/** */
int rpmdbRebuild(const char * rootdir)
@@ -22,7 +21,12 @@ int rpmdbRebuild(const char * rootdir)
int nocleanup = 1;
int failed = 0;
int rc = 0;
- int unique = 1; /* XXX always eliminate duplicate entries */
+ int _filterDbDups; /* XXX always eliminate duplicate entries */
+ int _preferDbiMajor;
+
+ _filterDbDups = rpmExpandNumeric("%{_filterdbdups}");
+ _preferDbiMajor = rpmExpandNumeric("%{_preferdb}");
+fprintf(stderr, "*** rpmdbRebuild: filterdbdups %d preferdb %d\n", _filterDbDups, _preferDbiMajor);
tfn = rpmGetPath("%{_dbpath}", NULL);
if (!(tfn && tfn[0] != '%')) {
@@ -69,7 +73,11 @@ int rpmdbRebuild(const char * rootdir)
goto exit;
}
+#if 0
_useDbiMajor = ((_preferDbiMajor >= 0) ? (_preferDbiMajor & 0x03) : -1);
+#else
+ _useDbiMajor = -1;
+#endif
rpmMessage(RPMMESS_DEBUG, _("opening old database with dbi_major %d\n"),
_useDbiMajor);
if (openDatabase(rootdir, dbpath, &olddb, O_RDONLY, 0644,
@@ -103,7 +111,7 @@ int rpmdbRebuild(const char * rootdir)
int skip;
/* XXX always eliminate duplicate entries */
- if (unique && !rpmdbFindByHeader(newdb, h, &matches)) {
+ if (_filterDbDups && !rpmdbFindByHeader(newdb, h, &matches)) {
const char * name, * version, * release;
headerNVR(h, &name, &version, &release);
diff --git a/macros.in b/macros.in
index be5dbd668..9e5f8457c 100644
--- a/macros.in
+++ b/macros.in
@@ -1,4 +1,4 @@
-# $Id: macros.in,v 1.47 2000/03/09 18:13:03 jbj Exp $
+# $Id: macros.in,v 1.48 2000/03/30 19:22:46 jbj Exp $
#==============================================================================
# Macro naming conventions (preliminary):
#
@@ -200,6 +200,16 @@
#
#%vendor
+# Preferred db interface:
+# 0 linux glibc libdb1 routines.
+# 1 db_185.h interface in db2/db3 libdb.a.
+# 2 native db2 interface.
+# 3 native db3 interface.
+%_preferdb 2
+
+# Filter duplicate entries in db (needed only to correct bug pre rpm-3.0.4)
+%_filterdbdups no
+
#==============================================================================
# ---- per-platform macros.
# Macros that are specific to an individual platform. The values here
diff --git a/po/rpm.pot b/po/rpm.pot
index ed6b00b82..63222fb47 100644
--- a/po/rpm.pot
+++ b/po/rpm.pot
@@ -6,7 +6,7 @@
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
-"POT-Creation-Date: 2000-03-27 10:08-0500\n"
+"POT-Creation-Date: 2000-03-28 15:31-0500\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -39,85 +39,85 @@ msgstr ""
msgid "Failed to read spec file from %s\n"
msgstr ""
-#: build.c:177
+#: build.c:176
#, c-format
msgid "Failed to rename %s to %s: %s\n"
msgstr ""
-#: build.c:215
+#: build.c:216
#, c-format
msgid "File is not a regular file: %s\n"
msgstr ""
-#: build.c:222
+#: build.c:223
#, c-format
msgid "File %s does not appear to be a specfile.\n"
msgstr ""
#. parse up the build operators
-#: build.c:283
+#: build.c:284
#, c-format
msgid "Building target platforms: %s\n"
msgstr ""
-#: build.c:298
+#: build.c:299
#, c-format
msgid "Building for target %s\n"
msgstr ""
-#: build.c:348
+#: build.c:349
msgid "buildroot already specified"
msgstr ""
-#: build.c:355
+#: build.c:356
msgid "--buildarch has been obsoleted. Use the --target option instead.\n"
msgstr ""
-#: build.c:359
+#: build.c:360
msgid "--buildos has been obsoleted. Use the --target option instead.\n"
msgstr ""
-#: build.c:381
+#: build.c:382
msgid "override build architecture"
msgstr ""
-#: build.c:383
+#: build.c:384
msgid "override build operating system"
msgstr ""
-#: build.c:385
+#: build.c:386
msgid "override build root"
msgstr ""
-#: build.c:387 rpm.c:500
+#: build.c:388 rpm.c:498
msgid "remove build tree when done"
msgstr ""
-#: build.c:389
+#: build.c:390
msgid "do not execute any stages of the build"
msgstr ""
-#: build.c:391
+#: build.c:392
msgid "do not accept I18N msgstr's from specfile"
msgstr ""
-#: build.c:393
+#: build.c:394
msgid "remove sources when done"
msgstr ""
-#: build.c:395
+#: build.c:396
msgid "remove specfile when done"
msgstr ""
-#: build.c:397 rpm.c:498
+#: build.c:398 rpm.c:496
msgid "skip straight to specified stage (only for c,i)"
msgstr ""
-#: build.c:399
+#: build.c:400
msgid "override target platform"
msgstr ""
-#: build.c:401
+#: build.c:402
msgid "lookup I18N strings in specfile catalog"
msgstr ""
@@ -163,1056 +163,1056 @@ msgstr ""
msgid "no copyright!\n"
msgstr ""
-#: rpm.c:202
+#: rpm.c:200
#, c-format
msgid "rpm: %s\n"
msgstr ""
-#: rpm.c:213
+#: rpm.c:211
#, c-format
msgid "RPM version %s\n"
msgstr ""
-#: rpm.c:217
+#: rpm.c:215
msgid "Copyright (C) 1998 - Red Hat Software"
msgstr ""
-#: rpm.c:218
+#: rpm.c:216
msgid "This may be freely redistributed under the terms of the GNU GPL"
msgstr ""
-#: rpm.c:226
+#: rpm.c:224
msgid "usage: rpm {--help}"
msgstr ""
-#: rpm.c:227
+#: rpm.c:225
msgid " rpm {--version}"
msgstr ""
-#: rpm.c:228
+#: rpm.c:226
msgid " rpm {--initdb} [--dbpath <dir>]"
msgstr ""
-#: rpm.c:229
+#: rpm.c:227
msgid ""
" rpm {--install -i} [-v] [--hash -h] [--percent] [--force] [--test]"
msgstr ""
-#: rpm.c:230
+#: rpm.c:228
msgid " [--replacepkgs] [--replacefiles] [--root <dir>]"
msgstr ""
-#: rpm.c:231
+#: rpm.c:229
msgid " [--excludedocs] [--includedocs] [--noscripts]"
msgstr ""
-#: rpm.c:232
+#: rpm.c:230
msgid ""
" [--rcfile <file>] [--ignorearch] [--dbpath <dir>]"
msgstr ""
-#: rpm.c:233
+#: rpm.c:231
msgid ""
" [--prefix <dir>] [--ignoreos] [--nodeps] [--allfiles]"
msgstr ""
-#: rpm.c:234
+#: rpm.c:232
msgid ""
" [--ftpproxy <host>] [--ftpport <port>] [--justdb]"
msgstr ""
-#: rpm.c:235 rpm.c:244 rpm.c:253
+#: rpm.c:233 rpm.c:242 rpm.c:251
msgid " [--httpproxy <host>] [--httpport <port>] "
msgstr ""
-#: rpm.c:236 rpm.c:246
+#: rpm.c:234 rpm.c:244
msgid " [--noorder] [--relocate oldpath=newpath]"
msgstr ""
-#: rpm.c:237
+#: rpm.c:235
msgid ""
" [--badreloc] [--notriggers] [--excludepath <path>]"
msgstr ""
-#: rpm.c:238
+#: rpm.c:236
msgid " [--ignoresize] file1.rpm ... fileN.rpm"
msgstr ""
-#: rpm.c:239
+#: rpm.c:237
msgid ""
" rpm {--upgrade -U} [-v] [--hash -h] [--percent] [--force] [--test]"
msgstr ""
-#: rpm.c:240
+#: rpm.c:238
msgid " [--oldpackage] [--root <dir>] [--noscripts]"
msgstr ""
-#: rpm.c:241
+#: rpm.c:239
msgid ""
" [--excludedocs] [--includedocs] [--rcfile <file>]"
msgstr ""
-#: rpm.c:242
+#: rpm.c:240
msgid ""
" [--ignorearch] [--dbpath <dir>] [--prefix <dir>] "
msgstr ""
-#: rpm.c:243
+#: rpm.c:241
msgid " [--ftpproxy <host>] [--ftpport <port>]"
msgstr ""
-#: rpm.c:245
+#: rpm.c:243
msgid " [--ignoreos] [--nodeps] [--allfiles] [--justdb]"
msgstr ""
-#: rpm.c:247
+#: rpm.c:245
msgid ""
" [--badreloc] [--excludepath <path>] [--ignoresize]"
msgstr ""
-#: rpm.c:248
+#: rpm.c:246
msgid " file1.rpm ... fileN.rpm"
msgstr ""
-#: rpm.c:249
+#: rpm.c:247
msgid " rpm {--query -q} [-afpg] [-i] [-l] [-s] [-d] [-c] [-v] [-R]"
msgstr ""
-#: rpm.c:250
+#: rpm.c:248
msgid " [--scripts] [--root <dir>] [--rcfile <file>]"
msgstr ""
-#: rpm.c:251
+#: rpm.c:249
msgid " [--whatprovides] [--whatrequires] [--requires]"
msgstr ""
-#: rpm.c:252
+#: rpm.c:250
msgid ""
" [--triggeredby] [--ftpuseport] [--ftpproxy <host>]"
msgstr ""
-#: rpm.c:254
+#: rpm.c:252
msgid ""
" [--ftpport <port>] [--provides] [--triggers] [--dump]"
msgstr ""
-#: rpm.c:255
+#: rpm.c:253
msgid " [--changelog] [--dbpath <dir>] [targets]"
msgstr ""
-#: rpm.c:256
+#: rpm.c:254
msgid " rpm {--verify -V -y} [-afpg] [--root <dir>] [--rcfile <file>]"
msgstr ""
-#: rpm.c:257
+#: rpm.c:255
msgid ""
" [--dbpath <dir>] [--nodeps] [--nofiles] [--noscripts]"
msgstr ""
-#: rpm.c:258
+#: rpm.c:256
msgid " [--nomd5] [targets]"
msgstr ""
-#: rpm.c:259
+#: rpm.c:257
msgid " rpm {--setperms} [-afpg] [target]"
msgstr ""
-#: rpm.c:260
+#: rpm.c:258
msgid " rpm {--setugids} [-afpg] [target]"
msgstr ""
-#: rpm.c:261
+#: rpm.c:259
msgid " rpm {--freshen -F} file1.rpm ... fileN.rpm"
msgstr ""
-#: rpm.c:262
+#: rpm.c:260
msgid " rpm {--erase -e} [--root <dir>] [--noscripts] [--rcfile <file>]"
msgstr ""
-#: rpm.c:263
+#: rpm.c:261
msgid " [--dbpath <dir>] [--nodeps] [--allmatches]"
msgstr ""
-#: rpm.c:264
+#: rpm.c:262
msgid ""
" [--justdb] [--notriggers] rpackage1 ... packageN"
msgstr ""
-#: rpm.c:265
+#: rpm.c:263
msgid ""
" rpm {-b|t}[plciba] [-v] [--short-circuit] [--clean] [--rcfile <file>]"
msgstr ""
-#: rpm.c:266
+#: rpm.c:264
msgid " [--sign] [--nobuild] [--timecheck <s>] ]"
msgstr ""
-#: rpm.c:267
+#: rpm.c:265
msgid " [--target=platform1[,platform2...]]"
msgstr ""
-#: rpm.c:268
+#: rpm.c:266
msgid " [--rmsource] [--rmspec] specfile"
msgstr ""
-#: rpm.c:269
+#: rpm.c:267
msgid " rpm {--rmsource} [--rcfile <file>] [-v] specfile"
msgstr ""
-#: rpm.c:270
+#: rpm.c:268
msgid ""
" rpm {--rebuild} [--rcfile <file>] [-v] source1.rpm ... sourceN.rpm"
msgstr ""
-#: rpm.c:271
+#: rpm.c:269
msgid ""
" rpm {--recompile} [--rcfile <file>] [-v] source1.rpm ... sourceN.rpm"
msgstr ""
-#: rpm.c:272
+#: rpm.c:270
msgid " rpm {--resign} [--rcfile <file>] package1 package2 ... packageN"
msgstr ""
-#: rpm.c:273
+#: rpm.c:271
msgid " rpm {--addsign} [--rcfile <file>] package1 package2 ... packageN"
msgstr ""
-#: rpm.c:274
+#: rpm.c:272
msgid ""
" rpm {--checksig -K} [--nopgp] [--nogpg] [--nomd5] [--rcfile <file>]"
msgstr ""
-#: rpm.c:275
+#: rpm.c:273
msgid " package1 ... packageN"
msgstr ""
-#: rpm.c:276
+#: rpm.c:274
msgid " rpm {--rebuilddb} [--rcfile <file>] [--dbpath <dir>]"
msgstr ""
-#: rpm.c:277
+#: rpm.c:275
msgid " rpm {--querytags}"
msgstr ""
-#: rpm.c:311
+#: rpm.c:309
msgid "usage:"
msgstr ""
-#: rpm.c:313
+#: rpm.c:311
msgid "print this message"
msgstr ""
-#: rpm.c:315
+#: rpm.c:313
msgid "print the version of rpm being used"
msgstr ""
-#: rpm.c:316
+#: rpm.c:314
msgid " all modes support the following arguments:"
msgstr ""
-#: rpm.c:317
+#: rpm.c:315
msgid " --rcfile <file> "
msgstr ""
-#: rpm.c:318
+#: rpm.c:316
msgid "use <file> instead of /etc/rpmrc and $HOME/.rpmrc"
msgstr ""
-#: rpm.c:320
+#: rpm.c:318
msgid "be a little more verbose"
msgstr ""
-#: rpm.c:322
+#: rpm.c:320
msgid "be incredibly verbose (for debugging)"
msgstr ""
-#: rpm.c:324
+#: rpm.c:322
msgid "query mode"
msgstr ""
-#: rpm.c:325 rpm.c:387 rpm.c:451 rpm.c:479
+#: rpm.c:323 rpm.c:385 rpm.c:449 rpm.c:477
msgid " --root <dir> "
msgstr ""
-#: rpm.c:326 rpm.c:388 rpm.c:452 rpm.c:480 rpm.c:542
+#: rpm.c:324 rpm.c:386 rpm.c:450 rpm.c:478 rpm.c:540
msgid "use <dir> as the top level directory"
msgstr ""
-#: rpm.c:327 rpm.c:385 rpm.c:415 rpm.c:467 rpm.c:539
+#: rpm.c:325 rpm.c:383 rpm.c:413 rpm.c:465 rpm.c:537
msgid " --dbpath <dir> "
msgstr ""
-#: rpm.c:328 rpm.c:386 rpm.c:416 rpm.c:468 rpm.c:540
+#: rpm.c:326 rpm.c:384 rpm.c:414 rpm.c:466 rpm.c:538
msgid "use <dir> as the directory for the database"
msgstr ""
-#: rpm.c:329
+#: rpm.c:327
msgid " --queryformat <qfmt>"
msgstr ""
-#: rpm.c:330
+#: rpm.c:328
msgid "use <qfmt> as the header format (implies -i)"
msgstr ""
-#: rpm.c:331
+#: rpm.c:329
msgid ""
" install, upgrade and query (with -p) allow ftp URL's to be used in place"
msgstr ""
-#: rpm.c:332
+#: rpm.c:330
msgid " of file names as well as the following options:"
msgstr ""
-#: rpm.c:333
+#: rpm.c:331
msgid " --ftpproxy <host> "
msgstr ""
-#: rpm.c:334
+#: rpm.c:332
msgid "hostname or IP of ftp proxy"
msgstr ""
-#: rpm.c:335
+#: rpm.c:333
msgid " --ftpport <port> "
msgstr ""
-#: rpm.c:336
+#: rpm.c:334
msgid "port number of ftp server (or proxy)"
msgstr ""
-#: rpm.c:337
+#: rpm.c:335
msgid " --httpproxy <host> "
msgstr ""
-#: rpm.c:338
+#: rpm.c:336
msgid "hostname or IP of http proxy"
msgstr ""
-#: rpm.c:339
+#: rpm.c:337
msgid " --httpport <port> "
msgstr ""
-#: rpm.c:340
+#: rpm.c:338
msgid "port number of http server (or proxy)"
msgstr ""
-#: rpm.c:341
+#: rpm.c:339
msgid " Package specification options:"
msgstr ""
-#: rpm.c:343
+#: rpm.c:341
msgid "query all packages"
msgstr ""
-#: rpm.c:344
+#: rpm.c:342
msgid " -f <file>+ "
msgstr ""
-#: rpm.c:345
+#: rpm.c:343
msgid "query package owning <file>"
msgstr ""
-#: rpm.c:346
+#: rpm.c:344
msgid " -p <packagefile>+ "
msgstr ""
-#: rpm.c:347
+#: rpm.c:345
msgid "query (uninstalled) package <packagefile>"
msgstr ""
-#: rpm.c:348
+#: rpm.c:346
msgid " --triggeredby <pkg>"
msgstr ""
-#: rpm.c:349
+#: rpm.c:347
msgid "query packages triggered by <pkg>"
msgstr ""
-#: rpm.c:350
+#: rpm.c:348
msgid " --whatprovides <cap>"
msgstr ""
-#: rpm.c:351
+#: rpm.c:349
msgid "query packages which provide <cap> capability"
msgstr ""
-#: rpm.c:352
+#: rpm.c:350
msgid " --whatrequires <cap>"
msgstr ""
-#: rpm.c:353
+#: rpm.c:351
msgid "query packages which require <cap> capability"
msgstr ""
-#: rpm.c:354
+#: rpm.c:352
msgid " Information selection options:"
msgstr ""
-#: rpm.c:356
+#: rpm.c:354
msgid "display package information"
msgstr ""
-#: rpm.c:358
+#: rpm.c:356
msgid "display the package's change log"
msgstr ""
-#: rpm.c:360
+#: rpm.c:358
msgid "display package file list"
msgstr ""
-#: rpm.c:362
+#: rpm.c:360
msgid "show file states (implies -l)"
msgstr ""
-#: rpm.c:364
+#: rpm.c:362
msgid "list only documentation files (implies -l)"
msgstr ""
-#: rpm.c:366
+#: rpm.c:364
msgid "list only configuration files (implies -l)"
msgstr ""
-#: rpm.c:368
+#: rpm.c:366
msgid ""
"show all verifiable information for each file (must be used with -l, -c, or "
"-d)"
msgstr ""
-#: rpm.c:370
+#: rpm.c:368
msgid "list capabilities package provides"
msgstr ""
-#: rpm.c:371
+#: rpm.c:369
msgid " --requires"
msgstr ""
-#: rpm.c:373
+#: rpm.c:371
msgid "list package dependencies"
msgstr ""
-#: rpm.c:375
+#: rpm.c:373
msgid "print the various [un]install scripts"
msgstr ""
-#: rpm.c:377
+#: rpm.c:375
msgid "show the trigger scripts contained in the package"
msgstr ""
-#: rpm.c:381
+#: rpm.c:379
msgid " --pipe <cmd> "
msgstr ""
-#: rpm.c:382
+#: rpm.c:380
msgid "send stdout to <cmd>"
msgstr ""
-#: rpm.c:384
+#: rpm.c:382
msgid ""
"verify a package installation using the same same package specification "
"options as -q"
msgstr ""
-#: rpm.c:390 rpm.c:438 rpm.c:472
+#: rpm.c:388 rpm.c:436 rpm.c:470
msgid "do not verify package dependencies"
msgstr ""
-#: rpm.c:392
+#: rpm.c:390
msgid "do not verify file md5 checksums"
msgstr ""
-#: rpm.c:394
+#: rpm.c:392
msgid "do not verify file attributes"
msgstr ""
-#: rpm.c:397
+#: rpm.c:395
msgid ""
"set the file permissions to those in the package database using the same "
"package specification options as -q"
msgstr ""
-#: rpm.c:400
+#: rpm.c:398
msgid ""
"set the file owner and group to those in the package database using the same "
"package specification options as -q"
msgstr ""
-#: rpm.c:404
+#: rpm.c:402
msgid " --install <packagefile>"
msgstr ""
-#: rpm.c:405
+#: rpm.c:403
msgid " -i <packagefile> "
msgstr ""
-#: rpm.c:406
+#: rpm.c:404
msgid "install package"
msgstr ""
-#: rpm.c:407
+#: rpm.c:405
msgid " --excludepath <path>"
msgstr ""
-#: rpm.c:408
+#: rpm.c:406
msgid "skip files in path <path>"
msgstr ""
-#: rpm.c:409
+#: rpm.c:407
msgid " --relocate <oldpath>=<newpath>"
msgstr ""
-#: rpm.c:410
+#: rpm.c:408
msgid "relocate files from <oldpath> to <newpath>"
msgstr ""
-#: rpm.c:412
+#: rpm.c:410
msgid "relocate files even though the package doesn't allow it"
msgstr ""
-#: rpm.c:413
+#: rpm.c:411
msgid " --prefix <dir> "
msgstr ""
-#: rpm.c:414
+#: rpm.c:412
msgid "relocate the package to <dir>, if relocatable"
msgstr ""
-#: rpm.c:418
+#: rpm.c:416
msgid "do not install documentation"
msgstr ""
-#: rpm.c:420
+#: rpm.c:418
msgid "short hand for --replacepkgs --replacefiles"
msgstr ""
-#: rpm.c:423
+#: rpm.c:421
msgid "print hash marks as package installs (good with -v)"
msgstr ""
-#: rpm.c:425
+#: rpm.c:423
msgid "install all files, even configurations which might otherwise be skipped"
msgstr ""
-#: rpm.c:428
+#: rpm.c:426
msgid "don't verify package architecture"
msgstr ""
-#: rpm.c:430
+#: rpm.c:428
msgid "don't check disk space before installing"
msgstr ""
-#: rpm.c:432
+#: rpm.c:430
msgid "don't verify package operating system"
msgstr ""
-#: rpm.c:434
+#: rpm.c:432
msgid "install documentation"
msgstr ""
-#: rpm.c:436 rpm.c:470
+#: rpm.c:434 rpm.c:468
msgid "update the database, but do not modify the filesystem"
msgstr ""
-#: rpm.c:440 rpm.c:474
+#: rpm.c:438 rpm.c:472
msgid "do not reorder package installation to satisfy dependencies"
msgstr ""
-#: rpm.c:442
+#: rpm.c:440
msgid "don't execute any installation scripts"
msgstr ""
-#: rpm.c:444 rpm.c:478
+#: rpm.c:442 rpm.c:476
msgid "don't execute any scripts triggered by this package"
msgstr ""
-#: rpm.c:446
+#: rpm.c:444
msgid "print percentages as package installs"
msgstr ""
-#: rpm.c:448
+#: rpm.c:446
msgid "install even if the package replaces installed files"
msgstr ""
-#: rpm.c:450
+#: rpm.c:448
msgid "reinstall if the package is already present"
msgstr ""
-#: rpm.c:454
+#: rpm.c:452
msgid "don't install, but tell if it would work or not"
msgstr ""
-#: rpm.c:456
+#: rpm.c:454
msgid " --upgrade <packagefile>"
msgstr ""
-#: rpm.c:457
+#: rpm.c:455
msgid " -U <packagefile> "
msgstr ""
-#: rpm.c:458
+#: rpm.c:456
msgid "upgrade package (same options as --install, plus)"
msgstr ""
-#: rpm.c:460
+#: rpm.c:458
msgid ""
"upgrade to an old version of the package (--force on upgrades does this "
"automatically)"
msgstr ""
-#: rpm.c:462
+#: rpm.c:460
msgid " --erase <package>"
msgstr ""
-#: rpm.c:464
+#: rpm.c:462
msgid "erase (uninstall) package"
msgstr ""
-#: rpm.c:466
+#: rpm.c:464
msgid ""
"remove all packages which match <package> (normally an error is generated if "
"<package> specified multiple packages)"
msgstr ""
-#: rpm.c:476
+#: rpm.c:474
msgid "do not execute any package specific scripts"
msgstr ""
-#: rpm.c:482
+#: rpm.c:480
msgid " -b<stage> <spec> "
msgstr ""
-#: rpm.c:483
+#: rpm.c:481
msgid " -t<stage> <tarball> "
msgstr ""
-#: rpm.c:484
+#: rpm.c:482
msgid "build package, where <stage> is one of:"
msgstr ""
-#: rpm.c:486
+#: rpm.c:484
msgid "prep (unpack sources and apply patches)"
msgstr ""
-#: rpm.c:488
+#: rpm.c:486
#, c-format
msgid "list check (do some cursory checks on %files)"
msgstr ""
-#: rpm.c:490
+#: rpm.c:488
msgid "compile (prep and compile)"
msgstr ""
-#: rpm.c:492
+#: rpm.c:490
msgid "install (prep, compile, install)"
msgstr ""
-#: rpm.c:494
+#: rpm.c:492
msgid "binary package (prep, compile, install, package)"
msgstr ""
-#: rpm.c:496
+#: rpm.c:494
msgid "bin/src package (prep, compile, install, package)"
msgstr ""
-#: rpm.c:502
+#: rpm.c:500
msgid "remove sources and spec file when done"
msgstr ""
-#: rpm.c:504
+#: rpm.c:502
msgid "generate PGP/GPG signature"
msgstr ""
-#: rpm.c:505
+#: rpm.c:503
msgid " --buildroot <dir> "
msgstr ""
-#: rpm.c:506
+#: rpm.c:504
msgid "use <dir> as the build root"
msgstr ""
-#: rpm.c:507
+#: rpm.c:505
msgid " --target=<platform>+"
msgstr ""
-#: rpm.c:508
+#: rpm.c:506
msgid "build the packages for the build targets platform1...platformN."
msgstr ""
-#: rpm.c:510
+#: rpm.c:508
msgid "do not execute any stages"
msgstr ""
-#: rpm.c:511
+#: rpm.c:509
msgid " --timecheck <secs> "
msgstr ""
-#: rpm.c:512
+#: rpm.c:510
msgid "set the time check to <secs> seconds (0 disables)"
msgstr ""
-#: rpm.c:514
+#: rpm.c:512
msgid " --rebuild <src_pkg> "
msgstr ""
-#: rpm.c:515
+#: rpm.c:513
msgid ""
"install source package, build binary package and remove spec file, sources, "
"patches, and icons."
msgstr ""
-#: rpm.c:516
+#: rpm.c:514
msgid " --rmsource <spec> "
msgstr ""
-#: rpm.c:517
+#: rpm.c:515
msgid "remove sources and spec file"
msgstr ""
-#: rpm.c:518
+#: rpm.c:516
msgid " --recompile <src_pkg> "
msgstr ""
-#: rpm.c:519
+#: rpm.c:517
msgid "like --rebuild, but don't build any package"
msgstr ""
-#: rpm.c:520
+#: rpm.c:518
msgid " --resign <pkg>+ "
msgstr ""
-#: rpm.c:521
+#: rpm.c:519
msgid "sign a package (discard current signature)"
msgstr ""
-#: rpm.c:522
+#: rpm.c:520
msgid " --addsign <pkg>+ "
msgstr ""
-#: rpm.c:523
+#: rpm.c:521
msgid "add a signature to a package"
msgstr ""
-#: rpm.c:525
+#: rpm.c:523
msgid " --checksig <pkg>+ "
msgstr ""
-#: rpm.c:526
+#: rpm.c:524
msgid "verify package signature"
msgstr ""
-#: rpm.c:528
+#: rpm.c:526
msgid "skip any PGP signatures"
msgstr ""
-#: rpm.c:530
+#: rpm.c:528
msgid "skip any GPG signatures"
msgstr ""
-#: rpm.c:532
+#: rpm.c:530
msgid "skip any MD5 signatures"
msgstr ""
-#: rpm.c:534
+#: rpm.c:532
msgid "list the tags that can be used in a query format"
msgstr ""
-#: rpm.c:536
+#: rpm.c:534
msgid "make sure a valid database exists"
msgstr ""
-#: rpm.c:538
+#: rpm.c:536
msgid "rebuild database from existing database"
msgstr ""
-#: rpm.c:691 rpm.c:697 rpm.c:704 rpm.c:710 rpm.c:719 rpm.c:726 rpm.c:773
-#: rpm.c:779 rpm.c:813 rpm.c:819 rpm.c:825 rpm.c:833 rpm.c:877 rpm.c:932
-#: rpm.c:939
+#: rpm.c:689 rpm.c:695 rpm.c:702 rpm.c:708 rpm.c:717 rpm.c:724 rpm.c:771
+#: rpm.c:777 rpm.c:811 rpm.c:817 rpm.c:823 rpm.c:831 rpm.c:875 rpm.c:930
+#: rpm.c:937
msgid "only one major mode may be specified"
msgstr ""
-#: rpm.c:712
+#: rpm.c:710
msgid "-u and --uninstall are deprecated and no longer work.\n"
msgstr ""
-#: rpm.c:714
+#: rpm.c:712
msgid "Use -e or --erase instead.\n"
msgstr ""
-#: rpm.c:730
+#: rpm.c:728
msgid "--build (-b) requires one of a,b,i,c,p,l as its sole argument"
msgstr ""
-#: rpm.c:734
+#: rpm.c:732
msgid "--tarbuild (-t) requires one of a,b,i,c,p,l as its sole argument"
msgstr ""
-#: rpm.c:786 rpm.c:792 rpm.c:799 rpm.c:806 rpm.c:946
+#: rpm.c:784 rpm.c:790 rpm.c:797 rpm.c:804 rpm.c:944
msgid "one type of query/verify may be performed at a time"
msgstr ""
-#: rpm.c:843
+#: rpm.c:841
msgid "arguments to --dbpath must begin with a /"
msgstr ""
-#: rpm.c:883
+#: rpm.c:881
msgid "relocations must begin with a /"
msgstr ""
-#: rpm.c:885
+#: rpm.c:883
msgid "relocations must contain a ="
msgstr ""
-#: rpm.c:888
+#: rpm.c:886
msgid "relocations must have a / following the ="
msgstr ""
-#: rpm.c:897
+#: rpm.c:895
msgid "exclude paths must begin with a /"
msgstr ""
-#: rpm.c:906
+#: rpm.c:904
#, c-format
msgid "Internal error in argument processing (%d) :-(\n"
msgstr ""
-#: rpm.c:957
+#: rpm.c:955
msgid "--dbpath given for operation that does not use a database"
msgstr ""
-#: rpm.c:961
+#: rpm.c:959
msgid "--timecheck may only be used during package builds"
msgstr ""
-#: rpm.c:964
+#: rpm.c:962
msgid "unexpected query flags"
msgstr ""
-#: rpm.c:967
+#: rpm.c:965
msgid "unexpected query format"
msgstr ""
-#: rpm.c:970
+#: rpm.c:968
msgid "unexpected query source"
msgstr ""
-#: rpm.c:976
+#: rpm.c:974
msgid "only installation, upgrading, rmsource and rmspec may be forced"
msgstr ""
-#: rpm.c:979
+#: rpm.c:977
msgid "files may only be relocated during package installation"
msgstr ""
-#: rpm.c:982
+#: rpm.c:980
msgid "only one of --prefix or --relocate may be used"
msgstr ""
-#: rpm.c:985
+#: rpm.c:983
msgid ""
"--relocate and --excludepath may only be used when installing new packages"
msgstr ""
-#: rpm.c:988
+#: rpm.c:986
msgid "--prefix may only be used when installing new packages"
msgstr ""
-#: rpm.c:991
+#: rpm.c:989
msgid "arguments to --prefix must begin with a /"
msgstr ""
-#: rpm.c:994
+#: rpm.c:992
msgid "--hash (-h) may only be specified during package installation"
msgstr ""
-#: rpm.c:998
+#: rpm.c:996
msgid "--percent may only be specified during package installation"
msgstr ""
-#: rpm.c:1002
+#: rpm.c:1000
msgid "--replacefiles may only be specified during package installation"
msgstr ""
-#: rpm.c:1006
+#: rpm.c:1004
msgid "--replacepkgs may only be specified during package installation"
msgstr ""
-#: rpm.c:1010
+#: rpm.c:1008
msgid "--excludedocs may only be specified during package installation"
msgstr ""
-#: rpm.c:1014
+#: rpm.c:1012
msgid "--includedocs may only be specified during package installation"
msgstr ""
-#: rpm.c:1018
+#: rpm.c:1016
msgid "only one of --excludedocs and --includedocs may be specified"
msgstr ""
-#: rpm.c:1022
+#: rpm.c:1020
msgid "--ignorearch may only be specified during package installation"
msgstr ""
-#: rpm.c:1026
+#: rpm.c:1024
msgid "--ignoreos may only be specified during package installation"
msgstr ""
-#: rpm.c:1030
+#: rpm.c:1028
msgid "--ignoresize may only be specified during package installation"
msgstr ""
-#: rpm.c:1034
+#: rpm.c:1032
msgid "--allmatches may only be specified during package erasure"
msgstr ""
-#: rpm.c:1038
+#: rpm.c:1036
msgid "--allfiles may only be specified during package installation"
msgstr ""
-#: rpm.c:1042
+#: rpm.c:1040
msgid "--justdb may only be specified during package installation and erasure"
msgstr ""
-#: rpm.c:1047
+#: rpm.c:1045
msgid ""
"--noscripts may only be specified during package installation, erasure, and "
"verification"
msgstr ""
-#: rpm.c:1051
+#: rpm.c:1049
msgid ""
"--notriggers may only be specified during package installation, erasure, and "
"verification"
msgstr ""
-#: rpm.c:1055
+#: rpm.c:1053
msgid ""
"--nodeps may only be specified during package building, rebuilding, "
"recompilation, installation,erasure, and verification"
msgstr ""
-#: rpm.c:1060
+#: rpm.c:1058
msgid ""
"--test may only be specified during package installation, erasure, and "
"building"
msgstr ""
-#: rpm.c:1064
+#: rpm.c:1062
msgid ""
"--root (-r) may only be specified during installation, erasure, querying, "
"and database rebuilds"
msgstr ""
-#: rpm.c:1076
+#: rpm.c:1074
msgid "arguments to --root (-r) must begin with a /"
msgstr ""
-#: rpm.c:1082
+#: rpm.c:1080
msgid "--oldpackage may only be used during upgrades"
msgstr ""
-#: rpm.c:1087
+#: rpm.c:1085
msgid ""
"ftp options can only be used during package queries, installs, and upgrades"
msgstr ""
-#: rpm.c:1093
+#: rpm.c:1091
msgid ""
"http options can only be used during package queries, installs, and upgrades"
msgstr ""
-#: rpm.c:1097
+#: rpm.c:1095
msgid "--nopgp may only be used during signature checking"
msgstr ""
-#: rpm.c:1100
+#: rpm.c:1098
msgid "--nogpg may only be used during signature checking"
msgstr ""
-#: rpm.c:1103
+#: rpm.c:1101
msgid ""
"--nomd5 may only be used during signature checking and package verification"
msgstr ""
-#: rpm.c:1131
+#: rpm.c:1129
msgid "no files to sign\n"
msgstr ""
-#: rpm.c:1136
+#: rpm.c:1134
#, c-format
msgid "cannot access file %s\n"
msgstr ""
-#: rpm.c:1151
+#: rpm.c:1149
msgid "pgp not found: "
msgstr ""
-#: rpm.c:1155
+#: rpm.c:1153
msgid "Enter pass phrase: "
msgstr ""
-#: rpm.c:1157
+#: rpm.c:1155
msgid "Pass phrase check failed\n"
msgstr ""
-#: rpm.c:1160
+#: rpm.c:1158
msgid "Pass phrase is good.\n"
msgstr ""
-#: rpm.c:1165
+#: rpm.c:1163
msgid "Invalid %%_signature spec in macro file.\n"
msgstr ""
-#: rpm.c:1171
+#: rpm.c:1169
msgid "--sign may only be used during package building"
msgstr ""
-#: rpm.c:1186
+#: rpm.c:1184
msgid "exec failed\n"
msgstr ""
-#: rpm.c:1205
+#: rpm.c:1203
msgid "unexpected arguments to --querytags "
msgstr ""
-#: rpm.c:1216
+#: rpm.c:1214
msgid "no packages given for signature check"
msgstr ""
-#: rpm.c:1227
+#: rpm.c:1225
msgid "no packages given for signing"
msgstr ""
-#: rpm.c:1239
+#: rpm.c:1237
msgid "no packages files given for rebuild"
msgstr ""
-#: rpm.c:1302
+#: rpm.c:1300
msgid "no spec files given for build"
msgstr ""
-#: rpm.c:1304
+#: rpm.c:1302
msgid "no tar files given for build"
msgstr ""
-#: rpm.c:1320
+#: rpm.c:1318
msgid "no packages given for uninstall"
msgstr ""
-#: rpm.c:1370
+#: rpm.c:1368
msgid "no packages given for install"
msgstr ""
-#: rpm.c:1393
+#: rpm.c:1391
msgid "extra arguments given for query of all packages"
msgstr ""
-#: rpm.c:1398
+#: rpm.c:1396
msgid "no arguments given for query"
msgstr ""
-#: rpm.c:1415
+#: rpm.c:1413
msgid "extra arguments given for verify of all packages"
msgstr ""
-#: rpm.c:1419
+#: rpm.c:1417
msgid "no arguments given for verify"
msgstr ""
@@ -1986,12 +1986,12 @@ msgstr ""
msgid " failed - "
msgstr ""
-#: lib/dbindex.c:92
+#: lib/dbindex.c:91
#, c-format
msgid "bad db file %s"
msgstr ""
-#: lib/dbindex.c:135
+#: lib/dbindex.c:134
msgid ""
"\n"
"--> Please run \"rpm --rebuilddb\" as root to convert your database from\n"
@@ -1999,22 +1999,22 @@ msgid ""
"\n"
msgstr ""
-#: lib/dbindex.c:148
+#: lib/dbindex.c:147
#, c-format
msgid "cannot open file %s: %s"
msgstr ""
-#: lib/dbindex.c:188
+#: lib/dbindex.c:187
#, c-format
msgid "error getting record %s from %s"
msgstr ""
-#: lib/dbindex.c:202
+#: lib/dbindex.c:201
#, c-format
msgid "error storing record %s into %s"
msgstr ""
-#: lib/dbindex.c:207
+#: lib/dbindex.c:206
#, c-format
msgid "error removing record %s into %s"
msgstr ""
@@ -2713,74 +2713,74 @@ msgstr ""
msgid "display a verbose file listing"
msgstr ""
-#: lib/rebuilddb.c:29 lib/rpmdb.c:292
+#: lib/rebuilddb.c:33 lib/rpmdb.c:292
msgid "no dbpath has been set"
msgstr ""
-#: lib/rebuilddb.c:54
+#: lib/rebuilddb.c:58
#, c-format
msgid "rebuilding database %s into %s\n"
msgstr ""
-#: lib/rebuilddb.c:58
+#: lib/rebuilddb.c:62
#, c-format
msgid "temporary database %s already exists"
msgstr ""
-#: lib/rebuilddb.c:64
+#: lib/rebuilddb.c:68
#, c-format
msgid "creating directory: %s\n"
msgstr ""
-#: lib/rebuilddb.c:66
+#: lib/rebuilddb.c:70
#, c-format
msgid "error creating directory %s: %s"
msgstr ""
-#: lib/rebuilddb.c:73
+#: lib/rebuilddb.c:81
#, c-format
msgid "opening old database with dbi_major %d\n"
msgstr ""
-#: lib/rebuilddb.c:82
+#: lib/rebuilddb.c:90
#, c-format
msgid "opening new database with dbi_major %d\n"
msgstr ""
-#: lib/rebuilddb.c:93
+#: lib/rebuilddb.c:101
#, c-format
msgid "record number %d in database is bad -- skipping it"
msgstr ""
-#: lib/rebuilddb.c:111
+#: lib/rebuilddb.c:119
#, c-format
msgid "duplicated database entry: %s-%s-%s -- skipping."
msgstr ""
-#: lib/rebuilddb.c:123
+#: lib/rebuilddb.c:131
#, c-format
msgid "cannot add record originally at %d"
msgstr ""
-#: lib/rebuilddb.c:129
+#: lib/rebuilddb.c:137
#, c-format
msgid "record number %d in database is bad -- skipping."
msgstr ""
-#: lib/rebuilddb.c:142
+#: lib/rebuilddb.c:150
msgid "failed to rebuild database; original database remains in place\n"
msgstr ""
-#: lib/rebuilddb.c:150
+#: lib/rebuilddb.c:158
msgid "failed to replace old database with new database!\n"
msgstr ""
-#: lib/rebuilddb.c:152
+#: lib/rebuilddb.c:160
#, c-format
msgid "replaces files in %s with files from %s to recover"
msgstr ""
-#: lib/rebuilddb.c:158
+#: lib/rebuilddb.c:166
#, c-format
msgid "failed to remove directory %s: %s\n"
msgstr ""
diff --git a/rpm.c b/rpm.c
index 30eb48659..fbc7fddc1 100755
--- a/rpm.c
+++ b/rpm.c
@@ -94,7 +94,6 @@ static int signIt;
static int test;
extern int _url_debug;
extern int _noDirTokens;
-extern int _preferDbiMajor;
extern int _useDbiMajor;
static int showVersion;
@@ -155,7 +154,6 @@ static struct poptOption optionsTable[] = {
{ "oldpackage", '\0', 0, &oldPackage, 0, NULL, NULL},
{ "percent", '\0', 0, &showPercents, 0, NULL, NULL},
{ "pipe", '\0', POPT_ARG_STRING, &pipeOutput, 0, NULL, NULL},
- { "preferdb", '\0', POPT_ARG_INT, &_preferDbiMajor, 0, NULL, NULL},
{ "prefix", '\0', POPT_ARG_STRING, &prefix, 0, NULL, NULL},
{ "query", 'q', 0, NULL, 'q', NULL, NULL},
{ "querytags", '\0', 0, &queryTags, 0, NULL, NULL},
diff --git a/rpmpopt.in b/rpmpopt.in
index 4eeca9e27..531fb242a 100644
--- a/rpmpopt.in
+++ b/rpmpopt.in
@@ -81,3 +81,10 @@ rpm alias --i18ndomains --define '_i18ndomains !#:+'
# Build policies enabled from command line. Last policy applies.
rpm alias --buildpolicy --define '__spec_install_post @RPMCONFIGDIR@/brp-!#:+'
+
+# Preferred db interface:
+# 0 linux glibc libdb1 routines.
+# 1 db_185.h interface in db2/db3 libdb.a.
+# 2 native db2 interface.
+# 3 native db3 interface.
+rpm alias --preferdb --define '_preferdb !#:+'