From: jbj Date: Mon, 27 Mar 2000 15:55:07 +0000 (+0000) Subject: add db3 to the pile, isolate all with incremental link and vectors. X-Git-Tag: rpm-4.4-release~2285 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=353a2811a4173728aae666217dde44880654531d;p=platform%2Fupstream%2Frpm.git add db3 to the pile, isolate all with incremental link and vectors. CVS patchset: 3643 CVS date: 2000/03/27 15:55:07 --- diff --git a/CHANGES b/CHANGES index 9a43285..c10857d 100644 --- a/CHANGES +++ b/CHANGES @@ -4,6 +4,7 @@ - API: change dbi to pass by reference, not value. - cram all of db1, db_185, and db2 interfaces into rpmlib. - convert db1 -> db2 on-disk format using --rebuilddb. + - add db3 to the pile, isolate all with incremental link and vectors. 3.0.3 -> 3.0.4 - use compressed filenames on install side. diff --git a/lib/Makefile.am b/lib/Makefile.am index 15a2c01..2bdecaf 100644 --- a/lib/Makefile.am +++ b/lib/Makefile.am @@ -4,7 +4,7 @@ AUTOMAKE_OPTIONS = 1.4 foreign INCLUDES = -I$(top_srcdir) -I$(top_srcdir)/build -I$(top_srcdir)/popt @INCPATH@ -EXTRA_DIST = db0.[ch] db1.[ch] db2.[ch] db2.[ch] +EXTRA_DIST = db0.c db1.c db2.c db3.c pkgincdir = $(pkgincludedir) pkginc_HEADERS = \ @@ -29,24 +29,46 @@ librpm_la_SOURCES = \ librpm_la_LIBADD = $(subst .c,.lo,$(DBLIBOBJS)) #librpm_la_LIBADD = -lpopt -db3.lo: db3.c $(top_srcdir)/system.h rpmlib.h dbindex.h db3.h +db3.lo: db3.c $(top_srcdir)/system.h rpmlib.h dbindex.h $(LIBTOOL) --mode=compile $(COMPILE) -c $< for F in $*.o $*.lo ; do \ @__LD@ -r -o $${F}.o $${F} -L/usr/lib -ldb-3.0 ; \ @__OBJCOPY@ `\ @__NM@ -g --defined-only $${F}.o | \ - sed -e '/ [TWD] /!d' -e 's/.* [TWD] /-L /' | \ + sed -e '/ [DRTW] /!d' -e 's/.* [DRTW] /-L /' | \ grep -v '^-L $*'` $${F}.o $${F} ; \ rm -f $${F}.o ; \ done -db0.lo: db0.c $(top_srcdir)/system.h rpmlib.h dbindex.h db0.h +db2.lo: db2.c $(top_srcdir)/system.h rpmlib.h dbindex.h + $(LIBTOOL) --mode=compile $(COMPILE) -c $< + for F in $*.o $*.lo ; do \ + @__LD@ -r -o $${F}.o $${F} -L/usr/lib -ldb ; \ + @__OBJCOPY@ `\ + @__NM@ -g --defined-only $${F}.o | \ + sed -e '/ [DRTW] /!d' -e 's/.* [DRTW] /-L /' | \ + grep -v '^-L $*'` $${F}.o $${F} ; \ + rm -f $${F}.o ; \ + done + +db1.lo: db1.c $(top_srcdir)/system.h rpmlib.h dbindex.h + $(LIBTOOL) --mode=compile $(COMPILE) -c $< + for F in $*.o $*.lo ; do \ + @__LD@ -r -o $${F}.o $${F} -L/usr/lib -ldb ; \ + @__OBJCOPY@ `\ + @__NM@ -g --defined-only $${F}.o | \ + sed -e '/ [DRTW] /!d' -e 's/.* [DRTW] /-L /' | \ + grep -v '^-L $*'` $${F}.o $${F} ; \ + rm -f $${F}.o ; \ + done + +db0.lo: db0.c $(top_srcdir)/system.h rpmlib.h dbindex.h $(LIBTOOL) --mode=compile $(COMPILE) -c $< for F in $*.o $*.lo ; do \ @__LD@ -r -o $${F}.o $${F} -L/usr/lib -ldb1 ; \ @__OBJCOPY@ `\ @__NM@ -g --defined-only $${F}.o | \ - sed -e '/ [TWD] /!d' -e 's/.* [TWD] /-L /' | \ + sed -e '/ [DRTW] /!d' -e 's/.* [DRTW] /-L /' | \ grep -v '^-L $*'` $${F}.o $${F} ; \ rm -f $${F}.o ; \ done diff --git a/lib/db0.c b/lib/db0.c index 008967a..fdcbf36 100644 --- a/lib/db0.c +++ b/lib/db0.c @@ -14,8 +14,6 @@ /*@access dbiIndex@*/ /*@access dbiIndexSet@*/ -#include "db0.h" - static inline DBTYPE dbi_to_dbtype(DBI_TYPE dbitype) { switch(dbitype) { @@ -70,46 +68,7 @@ errxit: } #endif -int db0open(dbiIndex dbi) -{ - int rc; - -#if defined(__USE_DB2) - char * dbhome = NULL; - DB_ENV * dbenv = NULL; - DB_INFO * dbinfo = NULL; - u_int32_t dbflags; - - dbflags = ( !(dbi->dbi_flags & O_RDWR) ? DB_RDONLY : - ((dbi->dbi_flags & O_CREAT) ? DB_CREATE : 0)); - - rc = db_init(dbhome, dbflags, &dbenv, &dbinfo); - dbi->dbi_dbenv = dbenv; - dbi->dbi_dbinfo = dbinfo; - - if (rc == 0) - rc = db_open(dbi->dbi_file, dbi_to_dbtype(dbi->dbi_type), dbflags, - dbi->dbi_perms, dbenv, dbinfo, &dbi->dbi_db); - - if (rc) - dbi->dbi_db = NULL; -#else - dbi->dbi_db = dbopen(dbi->dbi_file, dbi->dbi_flags, dbi->dbi_perms, - dbi_to_dbtype(dbi->dbi_type), dbi->dbi_openinfo); -#endif - - if (dbi->dbi_db) { - rc = 0; - dbi->dbi_major = DB_VERSION_MAJOR; - dbi->dbi_minor = DB_VERSION_MINOR; - dbi->dbi_patch = DB_VERSION_PATCH; - } else - rc = 1; - - return rc; -} - -int db0close(dbiIndex dbi, unsigned int flags) { +static int db0close(dbiIndex dbi, unsigned int flags) { DB * db = GetDB(dbi); int rc; @@ -155,7 +114,7 @@ int db0close(dbiIndex dbi, unsigned int flags) { return rc; } -int db0sync(dbiIndex dbi, unsigned int flags) { +static int db0sync(dbiIndex dbi, unsigned int flags) { DB * db = GetDB(dbi); int rc; @@ -181,7 +140,7 @@ int db0sync(dbiIndex dbi, unsigned int flags) { return rc; } -int db0GetFirstKey(dbiIndex dbi, const char ** keyp) { +static int db0GetFirstKey(dbiIndex dbi, const char ** keyp) { DBT key, data; DB * db; int rc; @@ -228,7 +187,7 @@ int db0GetFirstKey(dbiIndex dbi, const char ** keyp) { return rc; } -int db0SearchIndex(dbiIndex dbi, const char * str, dbiIndexSet * set) { +static int db0SearchIndex(dbiIndex dbi, const char * str, dbiIndexSet * set) { DBT key, data; DB * db = GetDB(dbi); int rc; @@ -270,7 +229,7 @@ int db0SearchIndex(dbiIndex dbi, const char * str, dbiIndexSet * set) { } /*@-compmempass@*/ -int db0UpdateIndex(dbiIndex dbi, const char * str, dbiIndexSet set) { +static int db0UpdateIndex(dbiIndex dbi, const char * str, dbiIndexSet set) { DBT key; DB * db = GetDB(dbi); int rc; @@ -325,3 +284,44 @@ int db0UpdateIndex(dbiIndex dbi, const char * str, dbiIndexSet set) { return rc; } /*@=compmempass@*/ + +static int db0open(dbiIndex dbi) +{ + int rc; + +#if defined(__USE_DB2) + char * dbhome = NULL; + DB_ENV * dbenv = NULL; + DB_INFO * dbinfo = NULL; + u_int32_t dbflags; + + dbflags = ( !(dbi->dbi_flags & O_RDWR) ? DB_RDONLY : + ((dbi->dbi_flags & O_CREAT) ? DB_CREATE : 0)); + + rc = db_init(dbhome, dbflags, &dbenv, &dbinfo); + dbi->dbi_dbenv = dbenv; + dbi->dbi_dbinfo = dbinfo; + + if (rc == 0) + rc = db_open(dbi->dbi_file, dbi_to_dbtype(dbi->dbi_type), dbflags, + dbi->dbi_perms, dbenv, dbinfo, &dbi->dbi_db); + + if (rc) + dbi->dbi_db = NULL; +#else + dbi->dbi_db = dbopen(dbi->dbi_file, dbi->dbi_flags, dbi->dbi_perms, + dbi_to_dbtype(dbi->dbi_type), dbi->dbi_openinfo); +#endif + + if (dbi->dbi_db) + rc = 0; + else + rc = 1; + + return rc; +} + +struct _dbiVec db0vec = { + DB_VERSION_MAJOR, DB_VERSION_MINOR, DB_VERSION_PATCH, + db0open, db0close, db0sync, db0GetFirstKey, db0SearchIndex, db0UpdateIndex +}; diff --git a/lib/db0.h b/lib/db0.h deleted file mode 100644 index 08f038d..0000000 --- a/lib/db0.h +++ /dev/null @@ -1,64 +0,0 @@ -#ifndef H_DB1 -#define H_DB1 - -/** \file lib/db0.h - * Access RPM indices using Berkeley db-1.85 format and API. - */ - -#ifdef __cplusplus -extern "C" { -#endif - -/** - * Return handle for an index database. - * @param dbi index database handle - * @return 0 success 1 fail - */ -int db0open(dbiIndex dbi); - -/** - * Close index database. - * @param dbi index database handle - * @param flags - */ -int db0close(dbiIndex dbi, unsigned int flags); - -/** - * Flush pending operations to disk. - * @param dbi index database handle - * @param flags - */ -int db0sync(dbiIndex dbi, unsigned int flags); - -/** - * Return first index database key. - * @param dbi index database handle - * @param key address of first key - * @return 0 success - fails if rec is not found - */ -int db0GetFirstKey(dbiIndex dbi, const char ** keyp); - -/** - * Return items that match criteria. - * @param dbi index database handle - * @param str search key - * @param set items retrieved from index database - * @return -1 error, 0 success, 1 not found - */ -int db0SearchIndex(dbiIndex dbi, const char * str, dbiIndexSet * set); - -/** - * Change/delete items that match criteria. - * @param dbi index database handle - * @param str update key - * @param set items to update in index database - * @return 0 success, 1 not found - */ -int db0UpdateIndex(dbiIndex dbi, const char * str, dbiIndexSet set); - -#ifdef __cplusplus -} -#endif - -#endif /* H_DB1 */ - diff --git a/lib/db1.c b/lib/db1.c index e57b9ec..6127a73 100644 --- a/lib/db1.c +++ b/lib/db1.c @@ -1,8 +1,13 @@ #include "system.h" #ifdef HAVE_DB_185_H + #include +#define DB_VERSION_MAJOR 1 +#define DB_VERSION_MINOR 85 +#define DB_VERSION_PATCH 0 + #define _mymemset(_a, _b, _c) #include @@ -11,8 +16,6 @@ /*@access dbiIndex@*/ /*@access dbiIndexSet@*/ -#include "db1.h" - static inline DBTYPE dbi_to_dbtype(DBI_TYPE dbitype) { switch(dbitype) { @@ -67,46 +70,7 @@ errxit: } #endif -int db1open(dbiIndex dbi) -{ - int rc; - -#if defined(__USE_DB2) - char * dbhome = NULL; - DB_ENV * dbenv = NULL; - DB_INFO * dbinfo = NULL; - u_int32_t dbflags; - - dbflags = ( !(dbi->dbi_flags & O_RDWR) ? DB_RDONLY : - ((dbi->dbi_flags & O_CREAT) ? DB_CREATE : 0)); - - rc = db_init(dbhome, dbflags, &dbenv, &dbinfo); - dbi->dbi_dbenv = dbenv; - dbi->dbi_dbinfo = dbinfo; - - if (rc == 0) - rc = db_open(dbi->dbi_file, dbi_to_dbtype(dbi->dbi_type), dbflags, - dbi->dbi_perms, dbenv, dbinfo, &dbi->dbi_db); - - if (rc) - dbi->dbi_db = NULL; -#else - dbi->dbi_db = dbopen(dbi->dbi_file, dbi->dbi_flags, dbi->dbi_perms, - dbi_to_dbtype(dbi->dbi_type), dbi->dbi_openinfo); -#endif - - if (dbi->dbi_db) { - rc = 0; - dbi->dbi_major = DB_VERSION_MAJOR; - dbi->dbi_minor = DB_VERSION_MINOR; - dbi->dbi_patch = DB_VERSION_PATCH; - } else - rc = 1; - - return rc; -} - -int db1close(dbiIndex dbi, unsigned int flags) { +static int db1close(dbiIndex dbi, unsigned int flags) { DB * db = GetDB(dbi); int rc; @@ -152,7 +116,7 @@ int db1close(dbiIndex dbi, unsigned int flags) { return rc; } -int db1sync(dbiIndex dbi, unsigned int flags) { +static int db1sync(dbiIndex dbi, unsigned int flags) { DB * db = GetDB(dbi); int rc; @@ -178,7 +142,7 @@ int db1sync(dbiIndex dbi, unsigned int flags) { return rc; } -int db1GetFirstKey(dbiIndex dbi, const char ** keyp) { +static int db1GetFirstKey(dbiIndex dbi, const char ** keyp) { DBT key, data; DB * db; int rc; @@ -225,7 +189,7 @@ int db1GetFirstKey(dbiIndex dbi, const char ** keyp) { return rc; } -int db1SearchIndex(dbiIndex dbi, const char * str, dbiIndexSet * set) { +static int db1SearchIndex(dbiIndex dbi, const char * str, dbiIndexSet * set) { DBT key, data; DB * db = GetDB(dbi); int rc; @@ -267,7 +231,7 @@ int db1SearchIndex(dbiIndex dbi, const char * str, dbiIndexSet * set) { } /*@-compmempass@*/ -int db1UpdateIndex(dbiIndex dbi, const char * str, dbiIndexSet set) { +static int db1UpdateIndex(dbiIndex dbi, const char * str, dbiIndexSet set) { DBT key; DB * db = GetDB(dbi); int rc; @@ -323,4 +287,45 @@ int db1UpdateIndex(dbiIndex dbi, const char * str, dbiIndexSet set) { } /*@=compmempass@*/ +static int db1open(dbiIndex dbi) +{ + int rc; + +#if defined(__USE_DB2) + char * dbhome = NULL; + DB_ENV * dbenv = NULL; + DB_INFO * dbinfo = NULL; + u_int32_t dbflags; + + dbflags = ( !(dbi->dbi_flags & O_RDWR) ? DB_RDONLY : + ((dbi->dbi_flags & O_CREAT) ? DB_CREATE : 0)); + + rc = db_init(dbhome, dbflags, &dbenv, &dbinfo); + dbi->dbi_dbenv = dbenv; + dbi->dbi_dbinfo = dbinfo; + + if (rc == 0) + rc = db_open(dbi->dbi_file, dbi_to_dbtype(dbi->dbi_type), dbflags, + dbi->dbi_perms, dbenv, dbinfo, &dbi->dbi_db); + + if (rc) + dbi->dbi_db = NULL; +#else + dbi->dbi_db = dbopen(dbi->dbi_file, dbi->dbi_flags, dbi->dbi_perms, + dbi_to_dbtype(dbi->dbi_type), dbi->dbi_openinfo); +#endif + + if (dbi->dbi_db) + rc = 0; + else + rc = 1; + + return rc; +} + +struct _dbiVec db1vec = { + DB_VERSION_MAJOR, DB_VERSION_MINOR, DB_VERSION_PATCH, + db1open, db1close, db1sync, db1GetFirstKey, db1SearchIndex, db1UpdateIndex +}; + #endif /* HABE_DB_185_H */ diff --git a/lib/db1.h b/lib/db1.h deleted file mode 100644 index 35d9aa7..0000000 --- a/lib/db1.h +++ /dev/null @@ -1,68 +0,0 @@ -#ifndef H_DB185 -#define H_DB185 - -/** \file lib/db1.h - * Access RPM indices using Berkeley db2 with db-1.85 API. - */ - -#define DB_VERSION_MAJOR 1 -#define DB_VERSION_MINOR 85 -#define DB_VERSION_PATCH 0 - -#ifdef __cplusplus -extern "C" { -#endif - -/** - * Return handle for an index database. - * @param dbi index database handle - * @return 0 success 1 fail - */ -int db1open(dbiIndex dbi); - -/** - * Close index database. - * @param dbi index database handle - * @param flags - */ -int db1close(dbiIndex dbi, unsigned int flags); - -/** - * Flush pending operations to disk. - * @param dbi index database handle - * @param flags - */ -int db1sync(dbiIndex dbi, unsigned int flags); - -/** - * Return first index database key. - * @param dbi index database handle - * @param key address of first key - * @return 0 success - fails if rec is not found - */ -int db1GetFirstKey(dbiIndex dbi, const char ** keyp); - -/** - * Return items that match criteria. - * @param dbi index database handle - * @param str search key - * @param set items retrieved from index database - * @return -1 error, 0 success, 1 not found - */ -int db1SearchIndex(dbiIndex dbi, const char * str, dbiIndexSet * set); - -/** - * Change/delete items that match criteria. - * @param dbi index database handle - * @param str update key - * @param set items to update in index database - * @return 0 success, 1 not found - */ -int db1UpdateIndex(dbiIndex dbi, const char * str, dbiIndexSet set); - -#ifdef __cplusplus -} -#endif - -#endif /* H_DB185 */ - diff --git a/lib/db2.c b/lib/db2.c index f64fb11..f7f869d 100644 --- a/lib/db2.c +++ b/lib/db2.c @@ -10,8 +10,6 @@ static int _debug = 1; /*@access dbiIndex@*/ /*@access dbiIndexSet@*/ -#include "db2.h" - #if DB_VERSION_MAJOR == 2 #define __USE_DB2 1 #define _mymemset(_a, _b, _c) memset((_a), (_b), (_c)) @@ -194,59 +192,8 @@ errxit: } #endif /* __USE_DB2 || __USE_DB3 */ -int db2open(dbiIndex dbi) +static int db2close(dbiIndex dbi, unsigned int flags) { - int rc = 0; - -#if defined(__USE_DB2) || defined(__USE_DB3) - char * dbhome = NULL; - DB * db = NULL; - DB_ENV * dbenv = NULL; - void * dbinfo = NULL; - u_int32_t dbflags; - - dbflags = ( !(dbi->dbi_flags & O_RDWR) ? DB_RDONLY : - ((dbi->dbi_flags & O_CREAT) ? DB_CREATE : 0)); - - rc = db_init(dbi, dbhome, dbflags, &dbenv, &dbinfo); - - if (rc == 0) { -#if defined(__USE_DB3) - rc = db_create(&db, dbenv, 0); - rc = cvtdberr(dbi, "db_create", rc, _debug); - if (rc == 0) { - 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); - } -#else - rc = db_open(dbi->dbi_file, dbi_to_dbtype(dbi->dbi_type), dbflags, - dbi->dbi_perms, dbenv, dbinfo, &db); - rc = cvtdberr(dbi, "db_open", rc, _debug); -#endif /* __USE_DB3 */ - } - - dbi->dbi_db = db; - dbi->dbi_dbenv = dbenv; - dbi->dbi_dbinfo = dbinfo; - -#else - dbi->dbi_db = dbopen(dbi->dbi_file, dbi->dbi_flags, dbi->dbi_perms, - dbi_to_dbtype(dbi->dbi_type), dbi->dbi_openinfo); -#endif /* __USE_DB2 || __USE_DB3 */ - - if (rc == 0 && dbi->dbi_db != NULL) { - rc = 0; - dbi->dbi_major = DB_VERSION_MAJOR; - dbi->dbi_minor = DB_VERSION_MINOR; - dbi->dbi_patch = DB_VERSION_PATCH; - } else - rc = 1; - - return rc; -} - -int db2close(dbiIndex dbi, unsigned int flags) { DB * db = GetDB(dbi); int rc = 0, xx; @@ -288,7 +235,8 @@ int db2close(dbiIndex dbi, unsigned int flags) { return rc; } -int db2sync(dbiIndex dbi, unsigned int flags) { +static int db2sync(dbiIndex dbi, unsigned int flags) +{ DB * db = GetDB(dbi); int rc; @@ -302,7 +250,8 @@ int db2sync(dbiIndex dbi, unsigned int flags) { return rc; } -int db2GetFirstKey(dbiIndex dbi, const char ** keyp) { +static int db2GetFirstKey(dbiIndex dbi, const char ** keyp) +{ DBT key, data; DB * db; int rc, xx; @@ -344,7 +293,8 @@ int db2GetFirstKey(dbiIndex dbi, const char ** keyp) { return rc; } -int db2SearchIndex(dbiIndex dbi, const char * str, dbiIndexSet * set) { +static int db2SearchIndex(dbiIndex dbi, const char * str, dbiIndexSet * set) +{ DBT key, data; DB * db = GetDB(dbi); int rc; @@ -375,7 +325,8 @@ int db2SearchIndex(dbiIndex dbi, const char * str, dbiIndexSet * set) { } /*@-compmempass@*/ -int db2UpdateIndex(dbiIndex dbi, const char * str, dbiIndexSet set) { +static int db2UpdateIndex(dbiIndex dbi, const char * str, dbiIndexSet set) +{ DBT key; DB * db = GetDB(dbi); int rc; @@ -412,4 +363,59 @@ int db2UpdateIndex(dbiIndex dbi, const char * str, dbiIndexSet set) { return rc; } /*@=compmempass@*/ + +static int db2open(dbiIndex dbi) +{ + int rc = 0; + +#if defined(__USE_DB2) || defined(__USE_DB3) + char * dbhome = NULL; + DB * db = NULL; + DB_ENV * dbenv = NULL; + void * dbinfo = NULL; + u_int32_t dbflags; + + dbflags = ( !(dbi->dbi_flags & O_RDWR) ? DB_RDONLY : + ((dbi->dbi_flags & O_CREAT) ? DB_CREATE : 0)); + + rc = db_init(dbi, dbhome, dbflags, &dbenv, &dbinfo); + + if (rc == 0) { +#if defined(__USE_DB3) + rc = db_create(&db, dbenv, 0); + rc = cvtdberr(dbi, "db_create", rc, _debug); + if (rc == 0) { + 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); + } +#else + rc = db_open(dbi->dbi_file, dbi_to_dbtype(dbi->dbi_type), dbflags, + dbi->dbi_perms, dbenv, dbinfo, &db); + rc = cvtdberr(dbi, "db_open", rc, _debug); +#endif /* __USE_DB3 */ + } + + dbi->dbi_db = db; + dbi->dbi_dbenv = dbenv; + dbi->dbi_dbinfo = dbinfo; + +#else + dbi->dbi_db = dbopen(dbi->dbi_file, dbi->dbi_flags, dbi->dbi_perms, + dbi_to_dbtype(dbi->dbi_type), dbi->dbi_openinfo); +#endif /* __USE_DB2 || __USE_DB3 */ + + if (rc == 0 && dbi->dbi_db != NULL) + rc = 0; + else + rc = 1; + + return rc; +} + +struct _dbiVec db2vec = { + DB_VERSION_MAJOR, DB_VERSION_MINOR, DB_VERSION_PATCH, + db2open, db2close, db2sync, db2GetFirstKey, db2SearchIndex, db2UpdateIndex +}; + #endif /* DB_VERSION_MAJOR == 2 */ diff --git a/lib/db2.h b/lib/db2.h deleted file mode 100644 index 978371b..0000000 --- a/lib/db2.h +++ /dev/null @@ -1,64 +0,0 @@ -#ifndef H_DB2 -#define H_DB2 - -/** \file lib/db2.h - * Access RPM indices using Berkeley db-2.x API. - */ - -#ifdef __cplusplus -extern "C" { -#endif - -/** - * Return handle for an index database. - * @param dbi index database handle - * @return 0 success 1 fail - */ -int db2open(dbiIndex dbi); - -/** - * Close index database. - * @param dbi index database handle - * @param flags - */ -int db2close(dbiIndex dbi, unsigned int flags); - -/** - * Flush pending operations to disk. - * @param dbi index database handle - * @param flags - */ -int db2sync(dbiIndex dbi, unsigned int flags); - -/** - * Return first index database key. - * @param dbi index database handle - * @param key address of first key - * @return 0 success - fails if rec is not found - */ -int db2GetFirstKey(dbiIndex dbi, const char ** keyp); - -/** - * Return items that match criteria. - * @param dbi index database handle - * @param str search key - * @param set items retrieved from index database - * @return -1 error, 0 success, 1 not found - */ -int db2SearchIndex(dbiIndex dbi, const char * str, dbiIndexSet * set); - -/** - * Change/delete items that match criteria. - * @param dbi index database handle - * @param str update key - * @param set items to update in index database - * @return 0 success, 1 not found - */ -int db2UpdateIndex(dbiIndex dbi, const char * str, dbiIndexSet set); - -#ifdef __cplusplus -} -#endif - -#endif /* H_DB2 */ - diff --git a/lib/db3.c b/lib/db3.c index ffd2f44..acc8f31 100644 --- a/lib/db3.c +++ b/lib/db3.c @@ -10,8 +10,6 @@ static int _debug = 1; /*@access dbiIndex@*/ /*@access dbiIndexSet@*/ -#include "db3.h" - static const char * dberrpfx = "rpmdb"; static int dbcachesize = 1024 * 1024; static int dbpagesize = 32 * 1024; /* 0 - 64K */ @@ -192,62 +190,8 @@ errxit: } #endif /* __USE_DB2 || __USE_DB3 */ -int db3open(dbiIndex dbi) +static int db3close(dbiIndex dbi, unsigned int flags) { - int rc = 0; - -#if defined(__USE_DB2) || defined(__USE_DB3) - char * dbhome = NULL; - DB * db = NULL; - DB_ENV * dbenv = NULL; - void * dbinfo = NULL; - u_int32_t dbflags; - - dbflags = ( !(dbi->dbi_flags & O_RDWR) ? DB_RDONLY : - ((dbi->dbi_flags & O_CREAT) ? DB_CREATE : 0)); - - rc = db_init(dbi, dbhome, dbflags, &dbenv, &dbinfo); - - if (rc == 0) { -#if defined(__USE_DB3) - rc = db_create(&db, dbenv, 0); - rc = cvtdberr(dbi, "db_create", rc, _debug); - if (rc == 0) { - int xx; - 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, - dbi->dbi_perms, dbenv, dbinfo, &db); - rc = cvtdberr(dbi, "db_open", rc, _debug); -#endif /* __USE_DB3 */ - } - - dbi->dbi_db = db; - dbi->dbi_dbenv = dbenv; - dbi->dbi_dbinfo = dbinfo; - -#else - dbi->dbi_db = dbopen(dbi->dbi_file, dbi->dbi_flags, dbi->dbi_perms, - dbi_to_dbtype(dbi->dbi_type), dbi->dbi_openinfo); -#endif /* __USE_DB2 || __USE_DB3 */ - - if (rc == 0 && dbi->dbi_db != NULL) { - rc = 0; - dbi->dbi_major = DB_VERSION_MAJOR; - dbi->dbi_minor = DB_VERSION_MINOR; - dbi->dbi_patch = DB_VERSION_PATCH; - } else - rc = 1; - - return rc; -} - -int db3close(dbiIndex dbi, unsigned int flags) { DB * db = GetDB(dbi); int rc = 0, xx; @@ -289,7 +233,8 @@ int db3close(dbiIndex dbi, unsigned int flags) { return rc; } -int db3sync(dbiIndex dbi, unsigned int flags) { +static int db3sync(dbiIndex dbi, unsigned int flags) +{ DB * db = GetDB(dbi); int rc; @@ -303,7 +248,8 @@ int db3sync(dbiIndex dbi, unsigned int flags) { return rc; } -int db3GetFirstKey(dbiIndex dbi, const char ** keyp) { +static int db3GetFirstKey(dbiIndex dbi, const char ** keyp) +{ DBT key, data; DB * db; int rc, xx; @@ -349,7 +295,8 @@ int db3GetFirstKey(dbiIndex dbi, const char ** keyp) { return rc; } -int db3SearchIndex(dbiIndex dbi, const char * str, dbiIndexSet * set) { +static int db3SearchIndex(dbiIndex dbi, const char * str, dbiIndexSet * set) +{ DBT key, data; DB * db = GetDB(dbi); int rc; @@ -380,7 +327,8 @@ int db3SearchIndex(dbiIndex dbi, const char * str, dbiIndexSet * set) { } /*@-compmempass@*/ -int db3UpdateIndex(dbiIndex dbi, const char * str, dbiIndexSet set) { +static int db3UpdateIndex(dbiIndex dbi, const char * str, dbiIndexSet set) +{ DBT key; DB * db = GetDB(dbi); int rc; @@ -417,4 +365,62 @@ int db3UpdateIndex(dbiIndex dbi, const char * str, dbiIndexSet set) { return rc; } /*@=compmempass@*/ + +static int db3open(dbiIndex dbi) +{ + int rc = 0; + +#if defined(__USE_DB2) || defined(__USE_DB3) + char * dbhome = NULL; + DB * db = NULL; + DB_ENV * dbenv = NULL; + void * dbinfo = NULL; + u_int32_t dbflags; + + dbflags = ( !(dbi->dbi_flags & O_RDWR) ? DB_RDONLY : + ((dbi->dbi_flags & O_CREAT) ? DB_CREATE : 0)); + + rc = db_init(dbi, dbhome, dbflags, &dbenv, &dbinfo); + + if (rc == 0) { +#if defined(__USE_DB3) + rc = db_create(&db, dbenv, 0); + rc = cvtdberr(dbi, "db_create", rc, _debug); + if (rc == 0) { + int xx; + 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, + dbi->dbi_perms, dbenv, dbinfo, &db); + rc = cvtdberr(dbi, "db_open", rc, _debug); +#endif /* __USE_DB3 */ + } + + dbi->dbi_db = db; + dbi->dbi_dbenv = dbenv; + dbi->dbi_dbinfo = dbinfo; + +#else + dbi->dbi_db = dbopen(dbi->dbi_file, dbi->dbi_flags, dbi->dbi_perms, + dbi_to_dbtype(dbi->dbi_type), dbi->dbi_openinfo); +#endif /* __USE_DB2 || __USE_DB3 */ + + if (rc == 0 && dbi->dbi_db != NULL) + rc = 0; + else + rc = 1; + + return rc; +} + +struct _dbiVec db3vec = { + DB_VERSION_MAJOR, DB_VERSION_MINOR, DB_VERSION_PATCH, + db3open, db3close, db3sync, db3GetFirstKey, db3SearchIndex, db3UpdateIndex +}; + #endif /* DB_VERSION_MAJOR == 3 */ diff --git a/lib/db3.h b/lib/db3.h deleted file mode 100644 index f3f725e..0000000 --- a/lib/db3.h +++ /dev/null @@ -1,64 +0,0 @@ -#ifndef H_DB3 -#define H_DB3 - -/** \file lib/db3.h - * Access RPM indices using Berkeley db-3.x API. - */ - -#ifdef __cplusplus -extern "C" { -#endif - -/** - * Return handle for an index database. - * @param dbi index database handle - * @return 0 success 1 fail - */ -int db3open(dbiIndex dbi); - -/** - * Close index database. - * @param dbi index database handle - * @param flags - */ -int db3close(dbiIndex dbi, unsigned int flags); - -/** - * Flush pending operations to disk. - * @param dbi index database handle - * @param flags - */ -int db3sync(dbiIndex dbi, unsigned int flags); - -/** - * Return first index database key. - * @param dbi index database handle - * @param key address of first key - * @return 0 success - fails if rec is not found - */ -int db3GetFirstKey(dbiIndex dbi, const char ** keyp); - -/** - * Return items that match criteria. - * @param dbi index database handle - * @param str search key - * @param set items retrieved from index database - * @return -1 error, 0 success, 1 not found - */ -int db3SearchIndex(dbiIndex dbi, const char * str, dbiIndexSet * set); - -/** - * Change/delete items that match criteria. - * @param dbi index database handle - * @param str update key - * @param set items to update in index database - * @return 0 success, 1 not found - */ -int db3UpdateIndex(dbiIndex dbi, const char * str, dbiIndexSet set); - -#ifdef __cplusplus -} -#endif - -#endif /* H_DB3 */ - diff --git a/lib/dbindex.c b/lib/dbindex.c index 7ade63d..efd51e2 100644 --- a/lib/dbindex.c +++ b/lib/dbindex.c @@ -10,10 +10,29 @@ static int _debug = 0; /*@access dbiIndexSet@*/ /*@access dbiIndexRecord@*/ -#include "db0.h" -#include "db1.h" -#include "db2.h" -#include "db3.h" +#if HAVE_DB1_DB_H +extern struct _dbiVec db0vec; +#define DB0vec &db0vec +#else +#define DB0vec NULL +#endif + +#if HAVE_DB_185_H +extern struct _dbiVec db1vec; +#define DB1vec &db1vec +#else +#define DB1vec NULL +#endif + +extern struct _dbiVec db2vec; +#define DB2vec &db2vec + +#if HAVE_DB3_DB_H +extern struct _dbiVec db3vec; +#define DB3vec &db3vec +#else +#define DB3vec NULL +#endif unsigned int dbiIndexSetCount(dbiIndexSet set) { return set->count; @@ -59,30 +78,8 @@ static void freeDBI( /*@only@*/ /*@null@*/ dbiIndex dbi) { int _preferDbiMajor = 0; /* XXX shared with rebuilddb.c */ int _useDbiMajor = -1; -typedef int (*_dbopen) (dbiIndex dbi); - -static _dbopen mydbopens[] = { - -#if HAVE_DB1_DB_H - db0open, -#else - NULL, -#endif - -#if HAVE_DB_185_H - db1open, -#else - NULL, -#endif - - db2open, - -#if HAVE_DB3_DB_H - db3open, -#else - NULL, -#endif - NULL +static struct _dbiVec *mydbvecs[] = { + DB0vec, DB1vec, DB2vec, DB3vec, NULL }; dbiIndex dbiOpenIndex(const char * urlfn, int flags, int perms, DBI_TYPE type) { @@ -109,22 +106,30 @@ dbiIndex dbiOpenIndex(const char * urlfn, int flags, int perms, DBI_TYPE type) { case 2: case 1: case 0: - errno = 0; - rc = (*(mydbopens[dbi->dbi_major])) (dbi); - if (rc == 0) - break; + if (mydbvecs[dbi->dbi_major] != NULL) { + errno = 0; + rc = (*mydbvecs[dbi->dbi_major]->open) (dbi); + if (rc == 0) { + dbi->dbi_vec = mydbvecs[dbi->dbi_major]; + break; + } + } /*@fallthrough@*/ case -1: dbi->dbi_major = 4; while (dbi->dbi_major-- > 0) { - if (mydbopens[dbi->dbi_major] == NULL) +if (_debug) +fprintf(stderr, "*** loop db%d mydbvecs %p\n", dbi->dbi_major, mydbvecs[dbi->dbi_major]); + if (mydbvecs[dbi->dbi_major] == NULL) continue; errno = 0; - rc = (*(mydbopens[dbi->dbi_major])) (dbi); + rc = (*mydbvecs[dbi->dbi_major]->open) (dbi); if (_debug) fprintf(stderr, "*** loop db%d rc %d errno %d %s\n", dbi->dbi_major, rc, errno, strerror(errno)); - if (rc == 0) + if (rc == 0) { + dbi->dbi_vec = mydbvecs[dbi->dbi_major]; break; + } if (rc == 1 && dbi->dbi_major == 2) { fprintf(stderr, "*** FIXME: \n"); fprintf(stderr, _("\n\ @@ -139,34 +144,19 @@ fprintf(stderr, "*** loop db%d rc %d errno %d %s\n", dbi->dbi_major, rc, errno, break; } - if (rc == 0) - return dbi; - - rpmError(RPMERR_DBOPEN, _("cannot open file %s: %s"), urlfn, - strerror(errno)); + if (rc) { + rpmError(RPMERR_DBOPEN, _("cannot open file %s: %s"), urlfn, strerror(errno)); + freeDBI(dbi); + dbi = NULL; + } - freeDBI(dbi); - return NULL; + return dbi; } int dbiCloseIndex(dbiIndex dbi) { int rc; - switch (dbi->dbi_major) { - case 3: - rc = db3close(dbi, 0); - break; - case 2: - rc = db2close(dbi, 0); - break; - case 1: - rc = db1close(dbi, 0); - break; - default: - case 0: - rc = db0close(dbi, 0); - break; - } + rc = (*dbi->dbi_vec->close) (dbi, 0); freeDBI(dbi); return rc; } @@ -174,21 +164,7 @@ int dbiCloseIndex(dbiIndex dbi) { int dbiSyncIndex(dbiIndex dbi) { int rc; - switch (dbi->dbi_major) { - case 3: - rc = db3sync(dbi, 0); - break; - case 2: - rc = db2sync(dbi, 0); - break; - case 1: - rc = db1sync(dbi, 0); - break; - default: - case 0: - rc = db0sync(dbi, 0); - break; - } + rc = (*dbi->dbi_vec->sync) (dbi, 0); return rc; } @@ -198,42 +174,14 @@ int dbiGetFirstKey(dbiIndex dbi, const char ** keyp) { if (dbi == NULL) return 1; - switch (dbi->dbi_major) { - case 3: - rc = db3GetFirstKey(dbi, keyp); - break; - case 2: - rc = db2GetFirstKey(dbi, keyp); - break; - case 1: - rc = db1GetFirstKey(dbi, keyp); - break; - default: - case 0: - rc = db0GetFirstKey(dbi, keyp); - break; - } + rc = (*dbi->dbi_vec->GetFirstKey) (dbi, keyp); return rc; } int dbiSearchIndex(dbiIndex dbi, const char * str, dbiIndexSet * set) { int rc; - switch (dbi->dbi_major) { - case 3: - rc = db3SearchIndex(dbi, str, set); - break; - case 2: - rc = db2SearchIndex(dbi, str, set); - break; - case 1: - rc = db1SearchIndex(dbi, str, set); - break; - default: - case 0: - rc = db0SearchIndex(dbi, str, set); - break; - } + rc = (*dbi->dbi_vec->SearchIndex) (dbi, str, set); switch (rc) { case -1: @@ -247,21 +195,7 @@ int dbiSearchIndex(dbiIndex dbi, const char * str, dbiIndexSet * set) { int dbiUpdateIndex(dbiIndex dbi, const char * str, dbiIndexSet set) { int rc; - switch (dbi->dbi_major) { - case 3: - rc = db3UpdateIndex(dbi, str, set); - break; - case 2: - rc = db2UpdateIndex(dbi, str, set); - break; - case 1: - rc = db1UpdateIndex(dbi, str, set); - break; - default: - case 0: - rc = db0UpdateIndex(dbi, str, set); - break; - } + rc = (*dbi->dbi_vec->UpdateIndex) (dbi, str, set); if (set->count) { if (rc) { diff --git a/lib/dbindex.h b/lib/dbindex.h index 694d39e..8066ba3 100644 --- a/lib/dbindex.h +++ b/lib/dbindex.h @@ -30,21 +30,78 @@ struct _dbiIndexSet { }; /** + * Private methods for accessing an index database. + */ +struct _dbiVec { + int dbv_major; /*= RPMDBI_MAX) + return 1; + if (dbip == NULL) + return 1; + *dbip = NULL; + + dbi = rpmdbi + dbix; + len = (prefix ? strlen(prefix) : 0) + + strlen(dbpath) + strlen(dbi->dbi_basename) + 1; + fn = filename = alloca(len); + *fn = '\0'; switch (urlIsURL(dbpath)) { case URL_IS_UNKNOWN: - if (prefix && *prefix) strcat(filename, prefix); + if (prefix && *prefix && + !(prefix[0] == '/' && prefix[1] == '\0' && dbpath[0] == '/')) + fn = stpcpy(fn, prefix); break; default: break; } - strcat(filename, dbpath); - strcat(filename, shortName); + fn = stpcpy(fn, dbpath); + if (fn > filename && !(fn[-1] == '/' || dbi->dbi_basename[0] == '/')) + fn = stpcpy(fn, "/"); + fn = stpcpy(fn, dbi->dbi_basename); if (!justCheck || !rpmfileexists(filename)) { - if ((*db = dbiOpenIndex(filename, mode, perms, type)) == NULL) + if ((*dbip = dbiOpenIndex(filename, mode, dbi->dbi_perms, dbi->dbi_type)) == NULL) return 1; } @@ -186,8 +227,8 @@ int openDatabase(const char * prefix, const char * dbpath, rpmdb *rpmdbp, int mo } } - rc = openDbFile(prefix, dbpath, "nameindex.rpm", justcheck, mode, perms, - &db->nameIndex, DBI_HASH); + rc = openDbFile(prefix, dbpath, RPMDBI_NAME, justcheck, mode, + &db->nameIndex); if (minimal) { *rpmdbp = xmalloc(sizeof(struct rpmdb_s)); @@ -199,8 +240,8 @@ int openDatabase(const char * prefix, const char * dbpath, rpmdb *rpmdbp, int mo } if (!rc) - rc = openDbFile(prefix, dbpath, "fileindex.rpm", justcheck, mode, perms, - &db->fileIndex, DBI_HASH); + rc = openDbFile(prefix, dbpath, RPMDBI_FILE, justcheck, mode, + &db->fileIndex); /* We used to store the fileindexes as complete paths, rather then plain basenames. Let's see which version we are... */ @@ -218,20 +259,20 @@ int openDatabase(const char * prefix, const char * dbpath, rpmdb *rpmdbp, int mo } if (!rc) - rc = openDbFile(prefix, dbpath, "providesindex.rpm", justcheck, mode, perms, - &db->providesIndex, DBI_HASH); + rc = openDbFile(prefix, dbpath, RPMDBI_GROUP, justcheck, mode, + &db->groupIndex); if (!rc) - rc = openDbFile(prefix, dbpath, "requiredby.rpm", justcheck, mode, perms, - &db->requiredbyIndex, DBI_HASH); + rc = openDbFile(prefix, dbpath, RPMDBI_REQUIREDBY, justcheck, mode, + &db->requiredbyIndex); if (!rc) - rc = openDbFile(prefix, dbpath, "conflictsindex.rpm", justcheck, mode, perms, - &db->conflictsIndex, DBI_HASH); + rc = openDbFile(prefix, dbpath, RPMDBI_PROVIDES, justcheck, mode, + &db->providesIndex); if (!rc) - rc = openDbFile(prefix, dbpath, "groupindex.rpm", justcheck, mode, perms, - &db->groupIndex, DBI_HASH); + rc = openDbFile(prefix, dbpath, RPMDBI_CONFLICTS, justcheck, mode, + &db->conflictsIndex); if (!rc) - rc = openDbFile(prefix, dbpath, "triggerindex.rpm", justcheck, mode, perms, - &db->triggerIndex, DBI_HASH); + rc = openDbFile(prefix, dbpath, RPMDBI_TRIGGER, justcheck, mode, + &db->triggerIndex); if (rc || justcheck || rpmdbp == NULL) rpmdbClose(db); @@ -615,13 +656,13 @@ int rpmdbRemove(rpmdb db, unsigned int offset, int tolerant) return 0; } -static int addIndexEntry(dbiIndex idx, const char *index, unsigned int offset, +static int addIndexEntry(dbiIndex dbi, const char *index, unsigned int offset, unsigned int fileNumber) { dbiIndexSet set = NULL; int rc; - rc = dbiSearchIndex(idx, index, &set); + rc = dbiSearchIndex(dbi, index, &set); switch (rc) { case -1: /* error */ if (set) { @@ -638,7 +679,7 @@ static int addIndexEntry(dbiIndex idx, const char *index, unsigned int offset, } dbiAppendIndexRecord(set, offset, fileNumber); - if (dbiUpdateIndex(idx, index, set)) + if (dbiUpdateIndex(dbi, index, set)) exit(EXIT_FAILURE); /* XXX W2DO? return 1; */ if (set) { @@ -709,7 +750,6 @@ int rpmdbAdd(rpmdb db, Header dbentry) if (!dboffset) { rc = 1; } else { - /* XXX TODO: set max. no. of bytes to write */ (void)Fseek(db->pkgs, dboffset, SEEK_SET); fdSetContentLength(db->pkgs, newSize); rc = headerWrite(db->pkgs, dbentry, HEADER_MAGIC_NO); @@ -798,9 +838,7 @@ int rpmdbUpdateRecord(rpmdb db, int offset, Header newHeader) } else { blockSignals(); - /* XXX TODO: set max. no. of bytes to write */ (void)Fseek(db->pkgs, offset, SEEK_SET); - fdSetContentLength(db->pkgs, newSize); rc = headerWrite(db->pkgs, newHeader, HEADER_MAGIC_NO); fdSetContentLength(db->pkgs, -1); @@ -814,7 +852,6 @@ int rpmdbUpdateRecord(rpmdb db, int offset, Header newHeader) void rpmdbRemoveDatabase(const char * rootdir, const char * dbpath) { int i; - const char **rpmdbfnp; char * filename; i = strlen(dbpath); @@ -828,9 +865,11 @@ void rpmdbRemoveDatabase(const char * rootdir, const char * dbpath) filename = alloca(strlen(rootdir) + strlen(dbpath) + 40); - for (rpmdbfnp = rpmdb_filenames; *rpmdbfnp; rpmdbfnp++) { - sprintf(filename, "%s/%s/%s", rootdir, dbpath, *rpmdbfnp); - unlink(filename); + { dbiIndex dbi; + for (dbi = rpmdbi; dbi->dbi_basename != NULL; dbi++) { + sprintf(filename, "%s/%s/%s", rootdir, dbpath, dbi->dbi_basename); + unlink(filename); + } } sprintf(filename, "%s/%s", rootdir, dbpath); @@ -841,7 +880,6 @@ void rpmdbRemoveDatabase(const char * rootdir, const char * dbpath) int rpmdbMoveDatabase(const char * rootdir, const char * olddbpath, const char * newdbpath) { int i; - const char **rpmdbfnp; char * ofilename, * nfilename; int rc = 0; @@ -866,10 +904,12 @@ int rpmdbMoveDatabase(const char * rootdir, const char * olddbpath, const char * ofilename = alloca(strlen(rootdir) + strlen(olddbpath) + 40); nfilename = alloca(strlen(rootdir) + strlen(newdbpath) + 40); - for (rpmdbfnp = rpmdb_filenames; *rpmdbfnp; rpmdbfnp++) { - sprintf(ofilename, "%s/%s/%s", rootdir, olddbpath, *rpmdbfnp); - sprintf(nfilename, "%s/%s/%s", rootdir, newdbpath, *rpmdbfnp); - if (Rename(ofilename, nfilename)) rc = 1; + { dbiIndex dbi; + for (dbi = rpmdbi; dbi->dbi_basename != NULL; dbi++) { + sprintf(ofilename, "%s/%s/%s", rootdir, olddbpath, dbi->dbi_basename); + sprintf(nfilename, "%s/%s/%s", rootdir, newdbpath, dbi->dbi_basename); + if (Rename(ofilename, nfilename)) rc = 1; + } } return rc; diff --git a/po/rpm.pot b/po/rpm.pot index 923964e..ed6b00b 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-26 19:57-0500\n" +"POT-Creation-Date: 2000-03-27 10:08-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -1986,12 +1986,12 @@ msgstr "" msgid " failed - " msgstr "" -#: lib/dbindex.c:95 +#: lib/dbindex.c:92 #, c-format msgid "bad db file %s" msgstr "" -#: lib/dbindex.c:130 +#: lib/dbindex.c:135 msgid "" "\n" "--> Please run \"rpm --rebuilddb\" as root to convert your database from\n" @@ -1999,22 +1999,22 @@ msgid "" "\n" msgstr "" -#: lib/dbindex.c:145 +#: lib/dbindex.c:148 #, c-format msgid "cannot open file %s: %s" msgstr "" -#: lib/dbindex.c:240 +#: lib/dbindex.c:188 #, c-format msgid "error getting record %s from %s" msgstr "" -#: lib/dbindex.c:268 +#: lib/dbindex.c:202 #, c-format msgid "error storing record %s into %s" msgstr "" -#: lib/dbindex.c:273 +#: lib/dbindex.c:207 #, c-format msgid "error removing record %s into %s" msgstr "" @@ -2713,7 +2713,7 @@ msgstr "" msgid "display a verbose file listing" msgstr "" -#: lib/rebuilddb.c:29 lib/rpmdb.c:251 +#: lib/rebuilddb.c:29 lib/rpmdb.c:292 msgid "no dbpath has been set" msgstr "" @@ -2868,105 +2868,105 @@ msgstr "" msgid "OK" msgstr "" -#: lib/rpmdb.c:147 +#: lib/rpmdb.c:188 #, c-format msgid "opening database mode 0x%x in %s\n" msgstr "" -#: lib/rpmdb.c:159 lib/url.c:445 +#: lib/rpmdb.c:200 lib/url.c:445 #, c-format msgid "failed to open %s: %s\n" msgstr "" -#: lib/rpmdb.c:173 lib/rpmdb.c:181 +#: lib/rpmdb.c:214 lib/rpmdb.c:222 #, c-format msgid "cannot get %s lock on database" msgstr "" -#: lib/rpmdb.c:174 +#: lib/rpmdb.c:215 msgid "exclusive" msgstr "" -#: lib/rpmdb.c:182 +#: lib/rpmdb.c:223 msgid "shared" msgstr "" -#: lib/rpmdb.c:213 +#: lib/rpmdb.c:254 msgid "" "old format database is present; use --rebuilddb to generate a new format " "database" msgstr "" -#: lib/rpmdb.c:482 +#: lib/rpmdb.c:523 #, c-format msgid "package %s not listed in %s" msgstr "" -#: lib/rpmdb.c:491 +#: lib/rpmdb.c:532 #, c-format msgid "package %s not found in %s" msgstr "" -#: lib/rpmdb.c:517 lib/uninstall.c:91 +#: lib/rpmdb.c:558 lib/uninstall.c:91 #, c-format msgid "cannot read header at %d for uninstall" msgstr "" -#: lib/rpmdb.c:527 +#: lib/rpmdb.c:568 msgid "package has no name" msgstr "" -#: lib/rpmdb.c:529 +#: lib/rpmdb.c:570 msgid "removing name index\n" msgstr "" -#: lib/rpmdb.c:534 +#: lib/rpmdb.c:575 msgid "package has no group\n" msgstr "" -#: lib/rpmdb.c:536 +#: lib/rpmdb.c:577 msgid "removing group index\n" msgstr "" -#: lib/rpmdb.c:543 +#: lib/rpmdb.c:584 #, c-format msgid "removing provides index for %s\n" msgstr "" -#: lib/rpmdb.c:558 +#: lib/rpmdb.c:599 #, c-format msgid "removing requiredby index for %s\n" msgstr "" -#: lib/rpmdb.c:570 +#: lib/rpmdb.c:611 #, c-format msgid "removing trigger index for %s\n" msgstr "" -#: lib/rpmdb.c:581 +#: lib/rpmdb.c:622 #, c-format msgid "removing conflict index for %s\n" msgstr "" -#: lib/rpmdb.c:592 +#: lib/rpmdb.c:633 #, c-format msgid "removing file index for %s\n" msgstr "" -#: lib/rpmdb.c:601 +#: lib/rpmdb.c:642 msgid "package has no files\n" msgstr "" -#: lib/rpmdb.c:720 +#: lib/rpmdb.c:760 msgid "cannot allocate space for database" msgstr "" -#: lib/rpmdb.c:779 +#: lib/rpmdb.c:819 #, c-format msgid "cannot read header at %d for update" msgstr "" -#: lib/rpmdb.c:792 +#: lib/rpmdb.c:832 msgid "header changed size!" msgstr ""