Blob Blame History Raw
diff -ru rpm-4.14.1.orig/config.h.in rpm-4.14.1/config.h.in
--- rpm-4.14.1.orig/config.h.in	2018-01-16 10:32:04.032937164 +0100
+++ rpm-4.14.1/config.h.in	2018-04-01 01:52:38.186380003 +0200
@@ -6,6 +6,9 @@
 /* Build with dmalloc support? */
 #undef DMALLOC
 
+/* Enable Berkeley DB rpmdb support */
+#undef ENABLE_BDB
+
 /* Enable new rpm database format? */
 #undef ENABLE_NDB
 
diff -ru rpm-4.14.1.orig/configure rpm-4.14.1/configure
--- rpm-4.14.1.orig/configure	2018-04-01 01:53:02.034218083 +0200
+++ rpm-4.14.1/configure	2018-04-01 01:52:38.074380764 +0200
@@ -715,6 +715,8 @@
 LMDB_CFLAGS
 NDB_FALSE
 NDB_TRUE
+BDB_FALSE
+BDB_TRUE
 WITH_DB_LIB
 HAVE_LIBDW_STRTAB_FALSE
 HAVE_LIBDW_STRTAB_TRUE
@@ -960,6 +962,7 @@
 with_beecrypt
 with_internal_beecrypt
 with_archive
+enable_bdb
 with_external_db
 enable_ndb
 enable_lmdb
@@ -1652,6 +1655,8 @@
   --disable-largefile     omit support for large files
   --enable-zstd=[yes/no/auto]
                           build without zstd support (default=auto)
+  --enable-bdb=[yes/no]   build with Berkeley DB rpm database format support
+                          (default=yes)
   --enable-ndb (EXPERIMENTAL)
                           enable the new rpm database format
   --enable-lmdb=[yes/no/auto] (EXPERIMENTAL)
@@ -21980,6 +21985,23 @@
 
 
 #=================
+# Enable Berkeley DB rpmdb backend
+# Check whether --enable-bdb was given.
+if test "${enable_bdb+set}" = set; then :
+  enableval=$enable_bdb; enable_bdb="$enableval"
+else
+  enable_bdb=yes
+fi
+
+
+if test "$enable_bdb" = "yes"; then :
+
+
+
+$as_echo "#define ENABLE_BDB /**/" >>confdefs.h
+
+
+#=================
 # Process --with/without-external-db
 
 # Check whether --with-external_db was given.
@@ -22087,6 +22109,16 @@
 
 
 
+fi
+ if test "$enable_bdb" = yes; then
+  BDB_TRUE=
+  BDB_FALSE='#'
+else
+  BDB_TRUE='#'
+  BDB_FALSE=
+fi
+
+
 #=================
 # Process --enable-ndb
 # Check whether --enable-ndb was given.
@@ -26723,6 +26755,10 @@
   as_fn_error $? "conditional \"HAVE_LIBDW_STRTAB\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
+if test -z "${BDB_TRUE}" && test -z "${BDB_FALSE}"; then
+  as_fn_error $? "conditional \"BDB\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
 if test -z "${NDB_TRUE}" && test -z "${NDB_FALSE}"; then
   as_fn_error $? "conditional \"NDB\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
diff -ru rpm-4.14.1.orig/lib/backend/dbi.c rpm-4.14.1/lib/backend/dbi.c
--- rpm-4.14.1.orig/lib/backend/dbi.c	2017-10-05 12:04:56.946602155 +0200
+++ rpm-4.14.1/lib/backend/dbi.c	2018-04-01 01:52:13.858545262 +0200
@@ -50,11 +50,13 @@
     } 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 @@
     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);
diff -ru rpm-4.14.1.orig/lib/Makefile.in rpm-4.14.1/lib/Makefile.in
--- rpm-4.14.1.orig/lib/Makefile.in	2018-04-01 01:53:02.858212489 +0200
+++ rpm-4.14.1/lib/Makefile.in	2018-04-01 01:52:38.898375168 +0200
@@ -96,9 +96,12 @@
 @WITH_LUA_TRUE@am__append_1 = @LUA_CFLAGS@
 @WITH_LUA_TRUE@am__append_2 = @LUA_LIBS@
 @WITH_LUA_TRUE@am__append_3 = rpmliblua.c rpmliblua.h
-@WITH_INTERNAL_DB_TRUE@am__append_4 = $(libdb_la)
-@WITH_INTERNAL_DB_FALSE@am__append_5 = @WITH_DB_LIB@
-@NDB_TRUE@am__append_6 = \
+@BDB_TRUE@am__append_4 = \
+@BDB_TRUE@	backend/db3.c
+
+@BDB_TRUE@@WITH_INTERNAL_DB_TRUE@am__append_5 = $(libdb_la)
+@BDB_TRUE@@WITH_INTERNAL_DB_FALSE@am__append_6 = @WITH_DB_LIB@
+@NDB_TRUE@am__append_7 = \
 @NDB_TRUE@	backend/ndb/glue.c \
 @NDB_TRUE@	backend/ndb/rpmpkg.c \
 @NDB_TRUE@	backend/ndb/rpmpkg.h \
@@ -107,12 +110,12 @@
 @NDB_TRUE@	backend/ndb/rpmxdb.c \
 @NDB_TRUE@	backend/ndb/rpmxdb.h
 
-@LMDB_TRUE@am__append_7 = $(LMDB_CFLAGS)
-@LMDB_TRUE@am__append_8 = $(LMDB_LIBS)
-@LMDB_TRUE@am__append_9 = \
+@LMDB_TRUE@am__append_8 = $(LMDB_CFLAGS)
+@LMDB_TRUE@am__append_9 = $(LMDB_LIBS)
+@LMDB_TRUE@am__append_10 = \
 @LMDB_TRUE@	backend/lmdb.c
 
-@WITH_INTERNAL_DB_TRUE@am__append_10 = $(libdb_la)
+@WITH_INTERNAL_DB_TRUE@am__append_11 = $(libdb_la)
 @WITH_INTERNAL_DB_TRUE@rpmlibexec_PROGRAMS = rpmdb_dump$(EXEEXT) \
 @WITH_INTERNAL_DB_TRUE@	rpmdb_load$(EXEEXT) \
 @WITH_INTERNAL_DB_TRUE@	rpmdb_recover$(EXEEXT) \
@@ -169,9 +172,9 @@
 am__DEPENDENCIES_1 =
 @LMDB_TRUE@am__DEPENDENCIES_2 = $(am__DEPENDENCIES_1)
 librpm_la_DEPENDENCIES = $(top_builddir)/rpmio/librpmio.la \
-	$(am__DEPENDENCIES_1) $(am__append_4) $(am__DEPENDENCIES_1) \
+	$(am__DEPENDENCIES_1) $(am__append_5) $(am__DEPENDENCIES_1) \
 	$(am__DEPENDENCIES_2)
-am__librpm_la_SOURCES_DIST = backend/db3.c backend/dbi.c backend/dbi.h \
+am__librpm_la_SOURCES_DIST = 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 \
 	fprint.c fprint.h tagname.c rpmtd.c cpio.c cpio.h depends.c \
@@ -185,25 +188,27 @@
 	rpmlock.h misc.h relocation.c rpmscript.h rpmscript.c \
 	rpmchroot.c rpmchroot.h rpmplugins.c rpmplugins.h rpmplugin.h \
 	rpmug.c rpmug.h rpmtriggers.h rpmtriggers.c rpmvs.c rpmvs.h \
-	rpmliblua.c rpmliblua.h backend/ndb/glue.c \
+	rpmliblua.c rpmliblua.h backend/db3.c backend/ndb/glue.c \
 	backend/ndb/rpmpkg.c backend/ndb/rpmpkg.h backend/ndb/rpmidx.c \
 	backend/ndb/rpmidx.h backend/ndb/rpmxdb.c backend/ndb/rpmxdb.h \
 	backend/lmdb.c
 am__dirstamp = $(am__leading_dot)dirstamp
 @WITH_LUA_TRUE@am__objects_1 = rpmliblua.lo
-@NDB_TRUE@am__objects_2 = backend/ndb/glue.lo backend/ndb/rpmpkg.lo \
+@BDB_TRUE@am__objects_2 = backend/db3.lo
+@NDB_TRUE@am__objects_3 = backend/ndb/glue.lo backend/ndb/rpmpkg.lo \
 @NDB_TRUE@	backend/ndb/rpmidx.lo backend/ndb/rpmxdb.lo
-@LMDB_TRUE@am__objects_3 = backend/lmdb.lo
-am_librpm_la_OBJECTS = backend/db3.lo backend/dbi.lo backend/dbiset.lo \
-	headerutil.lo header.lo headerfmt.lo rpmdb.lo fprint.lo \
-	tagname.lo rpmtd.lo cpio.lo depends.lo order.lo formats.lo \
-	tagexts.lo fsm.lo manifest.lo package.lo poptALL.lo poptI.lo \
-	poptQV.lo psm.lo query.lo rpmal.lo rpmchecksig.lo rpmds.lo \
-	rpmfi.lo rpmgi.lo rpminstall.lo rpmlead.lo rpmps.lo rpmprob.lo \
-	rpmrc.lo rpmte.lo rpmts.lo rpmfs.lo rpmvercmp.lo signature.lo \
-	transaction.lo verify.lo rpmlock.lo relocation.lo rpmscript.lo \
-	rpmchroot.lo rpmplugins.lo rpmug.lo rpmtriggers.lo rpmvs.lo \
-	$(am__objects_1) $(am__objects_2) $(am__objects_3)
+@LMDB_TRUE@am__objects_4 = backend/lmdb.lo
+am_librpm_la_OBJECTS = backend/dbi.lo backend/dbiset.lo headerutil.lo \
+	header.lo headerfmt.lo rpmdb.lo fprint.lo tagname.lo rpmtd.lo \
+	cpio.lo depends.lo order.lo formats.lo tagexts.lo fsm.lo \
+	manifest.lo package.lo poptALL.lo poptI.lo poptQV.lo psm.lo \
+	query.lo rpmal.lo rpmchecksig.lo rpmds.lo rpmfi.lo rpmgi.lo \
+	rpminstall.lo rpmlead.lo rpmps.lo rpmprob.lo rpmrc.lo rpmte.lo \
+	rpmts.lo rpmfs.lo rpmvercmp.lo signature.lo transaction.lo \
+	verify.lo rpmlock.lo relocation.lo rpmscript.lo rpmchroot.lo \
+	rpmplugins.lo rpmug.lo rpmtriggers.lo rpmvs.lo \
+	$(am__objects_1) $(am__objects_2) $(am__objects_3) \
+	$(am__objects_4)
 librpm_la_OBJECTS = $(am_librpm_la_OBJECTS)
 AM_V_lt = $(am__v_lt_@AM_V@)
 am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
@@ -597,18 +602,18 @@
 	-DLOCALSTATEDIR="\"$(localstatedir)\"" \
 	-DLIBRPMALIAS_FILENAME="\"rpmpopt-${VERSION}\"" \
 	-DLIBRPMALIAS_EXECPATH="\"$(bindir)\"" $(am__append_1) \
-	$(am__append_7)
+	$(am__append_8)
 usrlibdir = $(libdir)
-CLEANFILES = $(am__append_10) $(BUILT_SOURCES)
+CLEANFILES = $(am__append_11) $(BUILT_SOURCES)
 EXTRA_DIST = gentagtbl.sh tagtbl.C rpmhash.C rpmhash.H
 usrlib_LTLIBRARIES = librpm.la
-librpm_la_SOURCES = backend/db3.c 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 \
-	fprint.c fprint.h tagname.c rpmtd.c cpio.c cpio.h depends.c \
-	order.c formats.c tagexts.c fsm.c fsm.h manifest.c manifest.h \
-	package.c poptALL.c poptI.c poptQV.c psm.c query.c rpmal.c \
-	rpmal.h rpmchecksig.c rpmds.c rpmds_internal.h rpmfi.c \
+librpm_la_SOURCES = 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 fprint.c fprint.h \
+	tagname.c rpmtd.c cpio.c cpio.h depends.c order.c formats.c \
+	tagexts.c fsm.c fsm.h manifest.c manifest.h package.c \
+	poptALL.c poptI.c poptQV.c psm.c query.c rpmal.c rpmal.h \
+	rpmchecksig.c rpmds.c rpmds_internal.h rpmfi.c \
 	rpmfi_internal.h rpmgi.h rpmgi.c rpminstall.c rpmts_internal.h \
 	rpmlead.c rpmlead.h rpmps.c rpmprob.c rpmrc.c rpmte.c \
 	rpmte_internal.h rpmts.c rpmfs.h rpmfs.c rpmvercmp.c \
@@ -616,11 +621,12 @@
 	rpmlock.h misc.h relocation.c rpmscript.h rpmscript.c \
 	rpmchroot.c rpmchroot.h rpmplugins.c rpmplugins.h rpmplugin.h \
 	rpmug.c rpmug.h rpmtriggers.h rpmtriggers.c rpmvs.c rpmvs.h \
-	$(am__append_3) $(am__append_6) $(am__append_9)
+	$(am__append_3) $(am__append_4) $(am__append_7) \
+	$(am__append_10)
 librpm_la_LDFLAGS = -version-info $(rpm_version_info)
 librpm_la_LIBADD = $(top_builddir)/rpmio/librpmio.la @WITH_POPT_LIB@ \
 	@WITH_CAP_LIB@ @WITH_ACL_LIB@ @LIBINTL@ $(am__append_2) \
-	$(am__append_4) $(am__append_5) $(am__append_8)
+	$(am__append_5) $(am__append_6) $(am__append_9)
 BUILT_SOURCES = tagtbl.C
 
 # XXX watchout, $(top_builddir)/db3/libdb.la created by this Makefile may surprise
@@ -748,12 +754,12 @@
 backend/$(DEPDIR)/$(am__dirstamp):
 	@$(MKDIR_P) backend/$(DEPDIR)
 	@: > backend/$(DEPDIR)/$(am__dirstamp)
-backend/db3.lo: backend/$(am__dirstamp) \
-	backend/$(DEPDIR)/$(am__dirstamp)
 backend/dbi.lo: backend/$(am__dirstamp) \
 	backend/$(DEPDIR)/$(am__dirstamp)
 backend/dbiset.lo: backend/$(am__dirstamp) \
 	backend/$(DEPDIR)/$(am__dirstamp)
+backend/db3.lo: backend/$(am__dirstamp) \
+	backend/$(DEPDIR)/$(am__dirstamp)
 backend/ndb/$(am__dirstamp):
 	@$(MKDIR_P) backend/ndb
 	@: > backend/ndb/$(am__dirstamp)
diff -ru rpm-4.14.1.orig/macros.in rpm-4.14.1/macros.in
--- rpm-4.14.1.orig/macros.in	2018-01-16 10:02:32.740236142 +0100
+++ rpm-4.14.1/macros.in	2018-04-01 01:51:55.766668212 +0200
@@ -613,7 +613,7 @@
 # lmdb Lightning Memory-mapped Database
 # ndb new data base format
 #
-%_db_backend	      bdb
+%_db_backend	      lmdb
 
 #
 #	Macros used to configure Berkley db parameters.
Only in rpm-4.14.1: macros.in.orig
diff -ru rpm-4.14.1.orig/rpmio/digest_openssl.c rpm-4.14.1/rpmio/digest_openssl.c
--- rpm-4.14.1.orig/rpmio/digest_openssl.c	2017-10-05 12:04:57.554602041 +0200
+++ rpm-4.14.1/rpmio/digest_openssl.c	2018-04-01 02:39:06.081268659 +0200
@@ -175,8 +175,10 @@
     case PGPHASHALGO_RIPEMD160:
         return EVP_ripemd160();
 
+#ifndef LIBRESSL_VERSION_NUMBER
     case PGPHASHALGO_MD2:
         return EVP_md2();
+#endif
 
     case PGPHASHALGO_SHA256:
         return EVP_sha256();