diff --git a/autogen.sh b/autogen.sh.1 index f7ea2cf..efabeef 100755 --- a/autogen.sh +++ b/autogen.sh.1 @@ -4,7 +4,7 @@ export CPPFLAGS export CFLAGS export LDFLAGS -autoreconf -i +autoreconf -mif case "$1" in "--noconfigure") diff --git a/configure.ac b/configure.ac.1 index 373d694..b562e94 100644 --- a/configure.ac +++ b/configure.ac.1 @@ -509,6 +509,19 @@ AM_CONDITIONAL(LIBDW,[test "$WITH_LIBDW" = yes]) AM_CONDITIONAL(HAVE_LIBDW_STRTAB,[test "$HAVE_LIBDW_STRTAB" = yes]) #================= +# control bdb defaulting +AC_ARG_ENABLE([bdb], + [AS_HELP_STRING([--enable-bdb=@<:@yes/no@:>@] +, + [build with default bdb rpm database format support (default=yes)])], + [enable_bdb="$enableval"], + [enable_bdb=yes]) + +AS_IF([test "$enable_bdb" = "yes"], [ + + AC_DEFINE([ENABLE_BDB], [], [engage bdb code paths]) + +#================= # Process --with/without-external-db AC_ARG_WITH(external_db, [AS_HELP_STRING([--with-external-db],[build against an external Berkeley db])], [case "$with_external_db" in @@ -566,6 +579,8 @@ no|maybe ) esac AC_SUBST([WITH_DB_LIB]) +]) +AM_CONDITIONAL([BDB], [test "$enable_bdb" = yes]) #================= # Process --enable-ndb diff --git a/lib/Makefile.am b/lib/Makefile.am.1 index baf3238..8ab4f1e 100644 --- a/lib/Makefile.am +++ b/lib/Makefile.am.1 @@ -24,7 +24,7 @@ EXTRA_PROGRAMS = usrlib_LTLIBRARIES = librpm.la librpm_la_SOURCES = \ - backend/db3.c backend/dbi.c backend/dbi.h \ + backend/dbi.c backend/dbi.h \ backend/dbiset.c backend/dbiset.h \ headerutil.c header.c headerfmt.c header_internal.h \ rpmdb.c rpmdb_internal.h \ @@ -59,11 +59,15 @@ librpm_la_LIBADD += @LUA_LIBS@ librpm_la_SOURCES += rpmliblua.c rpmliblua.h endif +if BDB +librpm_la_SOURCES += \ + backend/db3.c if WITH_INTERNAL_DB librpm_la_LIBADD += $(libdb_la) else librpm_la_LIBADD += @WITH_DB_LIB@ endif +endif if NDB librpm_la_SOURCES += \ diff --git a/lib/backend/dbi.c b/lib/backend/dbi.c.1 index e99a5f2..d212881 100644 --- a/lib/backend/dbi.c +++ b/lib/backend/dbi.c.1 @@ -50,11 +50,13 @@ dbDetectBackend(rpmdb rdb) } else #endif { +#ifdef ENABLE_BDB rdb->db_ops = &db3_dbops; if (*db_backend == '\0') { free(db_backend); db_backend = xstrdup("bdb"); } +#endif } #if defined(WITH_LMDB) @@ -75,12 +77,14 @@ dbDetectBackend(rpmdb rdb) free(path); #endif +#ifdef ENABLE_BDB path = rstrscat(NULL, dbhome, "/Packages", NULL); if (access(path, F_OK) == 0 && rdb->db_ops != &db3_dbops) { rdb->db_ops = &db3_dbops; rpmlog(RPMLOG_WARNING, _("Found BDB Packages database while attempting %s backend: using bdb backend.\n"), db_backend); } free(path); +#endif if (db_backend) free(db_backend);