diff --git a/patches/rpm-4.14.1.local.patch b/patches/rpm-4.14.1.local.patch new file mode 100644 index 0000000..94b74f2 --- /dev/null +++ b/patches/rpm-4.14.1.local.patch @@ -0,0 +1,360 @@ +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/configure.ac rpm-4.14.1/configure.ac +--- rpm-4.14.1.orig/configure.ac 2018-01-16 10:30:14.074141024 +0100 ++++ rpm-4.14.1/configure.ac 2018-04-01 01:52:13.858545262 +0200 +@@ -509,6 +509,18 @@ + AM_CONDITIONAL(HAVE_LIBDW_STRTAB,[test "$HAVE_LIBDW_STRTAB" = yes]) + + #================= ++# Enable Berkeley DB rpmdb backend ++AC_ARG_ENABLE([bdb], ++ [AS_HELP_STRING([--enable-bdb=@<:@yes/no@:>@], ++ [build with Berkeley DB rpm database format support (default=yes)])], ++ [enable_bdb="$enableval"], ++ [enable_bdb=yes]) ++ ++AS_IF([test "$enable_bdb" = "yes"], [ ++ ++ AC_DEFINE([ENABLE_BDB], [], [Enable Berkeley DB rpmdb support]) ++ ++#================= + # 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 +578,8 @@ + esac + + AC_SUBST([WITH_DB_LIB]) ++]) ++AM_CONDITIONAL([BDB], [test "$enable_bdb" = yes]) + + #================= + # Process --enable-ndb +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.am rpm-4.14.1/lib/Makefile.am +--- rpm-4.14.1.orig/lib/Makefile.am 2017-10-05 12:04:56.944602155 +0200 ++++ rpm-4.14.1/lib/Makefile.am 2018-04-01 01:52:13.858545262 +0200 +@@ -24,7 +24,7 @@ + + 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_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 -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,11 @@ + case PGPHASHALGO_RIPEMD160: + return EVP_ripemd160(); + ++/* This should be a ifndef libressl... */ ++#ifndef __midipix__ + case PGPHASHALGO_MD2: + return EVP_md2(); ++#endif + + case PGPHASHALGO_SHA256: + return EVP_sha256(); diff --git a/vars/build.vars b/vars/build.vars index f1ecd6a..e691c26 100644 --- a/vars/build.vars +++ b/vars/build.vars @@ -347,7 +347,7 @@ expat libxml2 alsa_lib apr apr_util bzip2 libdmtx libressl curl libz lmdb libpng libjpeg_turbo tiff giflib libffi gdbm geoip pcre glib gzip libarchive libatomic_ops musl_compat libbsd libpipeline libevent libfetch libogg libvorbis libgpg_error libassuan libfirm libgcrypt libksba libudns lua ncurses ncursestw ncursesw libnettle gnutls libreadline npth -popt shared_mime_info sqlite3 w32api w32lib xz cmake qrencode util_linux"; +popt rpm shared_mime_info sqlite3 w32api w32lib xz cmake qrencode util_linux"; NATIVE_PACKAGES_DEPS_PREFIX="${PREFIX_NATIVE}"; NATIVE_PACKAGES_DEPS_PYTHON="${PREFIX}/bin/python"; : ${PKG_EXPAT_SHA256SUM:=d9e50ff2d19b3538bd2127902a89987474e1a4db8e43a66a4d1a712ab9a504ff}; @@ -520,6 +520,10 @@ NATIVE_PACKAGES_DEPS_PYTHON="${PREFIX}/bin/python"; : ${PKG_POPT_SHA256SUM:=e728ed296fe9f069a0e005003c3d6b2dde3d9cad453422a10d6558616d304cc8}; : ${PKG_POPT_VERSION:=1.16}; : ${PKG_POPT_URL:=http://rpm5.org/files/popt/popt-${PKG_POPT_VERSION}.tar.gz}; +: ${PKG_RPM_SHA256SUM:=43f40e2ccc3ca65bd3238f8c9f8399d4957be0878c2e83cba2746d2d0d96793b}; +: ${PKG_RPM_VERSION:=4.14.1}; +: ${PKG_RPM_URL:=http://ftp.rpm.org/releases/rpm-${PKG_RPM_VERSION%.*}.x/rpm-${PKG_RPM_VERSION}.tar.bz2}; +: ${PKG_RPM_CONFIGURE_ARGS_EXTRA:="--without-lua --enable-ndb --enable-lmdb --enable-bdb=no --with-crypto=openssl --with-vendor=Midipix"}; : ${PKG_SHARED_MIME_INFO_SHA256SUM:=2af55ef1a0319805b74ab40d331a3962c905477d76c086f49e34dc96363589e9}; : ${PKG_SHARED_MIME_INFO_VERSION:=1.8}; : ${PKG_SHARED_MIME_INFO_URL:=http://freedesktop.org/~hadess/shared-mime-info-${PKG_SHARED_MIME_INFO_VERSION}.tar.xz};