Rebase to rpm 4.16.0 alpha

- Add bconds for and enable sqlite, ndb and bdb_ro database backends
- Add bcond for disabling bdb backend
- Drop lmdb bcond, the backend was removed upstream
- Ensure all database backend files are owned
- Fix external environment causing test-suite failures in spec build
- Re-enable hard test-suite failures again
This commit is contained in:
Panu Matilainen 2020-03-31 13:54:46 +03:00
parent 5a0eaf89ad
commit a5c4573419
4 changed files with 73 additions and 33 deletions

1
.gitignore vendored
View File

@ -37,3 +37,4 @@
/rpm-4.15.0-rc1.tar.bz2 /rpm-4.15.0-rc1.tar.bz2
/rpm-4.15.0.tar.bz2 /rpm-4.15.0.tar.bz2
/rpm-4.15.1.tar.bz2 /rpm-4.15.1.tar.bz2
/rpm-4.15.90-git14971.tar.bz2

View File

@ -0,0 +1,30 @@
From 82ae63e2b85073230cc3b6a76499448d01f966ca Mon Sep 17 00:00:00 2001
Message-Id: <82ae63e2b85073230cc3b6a76499448d01f966ca.1585650704.git.pmatilai@redhat.com>
From: Panu Matilainen <pmatilai@redhat.com>
Date: Tue, 31 Mar 2020 13:29:48 +0300
Subject: [PATCH] Unset SOURCE_DATE_EPOCH for the test-suite
Fixes the reproducable build test failing in Fedora rpm builds due to
%source_date_epoch_from_changelog being set on the outside, which
leaks the SOURCE_DATE_EPOCH environment into the test-suite and
changes the expectation.
---
tests/atlocal.in | 2 ++
1 file changed, 2 insertions(+)
diff --git a/tests/atlocal.in b/tests/atlocal.in
index 95baca55f..a41752f5e 100644
--- a/tests/atlocal.in
+++ b/tests/atlocal.in
@@ -27,6 +27,8 @@ export HOME
TZ=UTC
export TZ
+unset SOURCE_DATE_EPOCH
+
TOPDIR="${RPMTEST}/build"
RPM_XFAIL=${RPM_XFAIL-1}
--
2.25.1

View File

@ -1,7 +1,5 @@
# build against xz? # build against xz?
%bcond_without xz %bcond_without xz
# just for giggles, option to build with internal Berkeley DB
%bcond_with int_bdb
# run internal testsuite? # run internal testsuite?
%bcond_without check %bcond_without check
# build with plugins? # build with plugins?
@ -10,23 +8,31 @@
%bcond_without libarchive %bcond_without libarchive
# build with libimaevm.so # build with libimaevm.so
%bcond_without libimaevm %bcond_without libimaevm
# build with new db format
%bcond_with ndb
# build with zstd support? # build with zstd support?
%bcond_without zstd %bcond_without zstd
# build with lmdb support? # build with ndb backend?
%bcond_with lmdb %bcond_without ndb
# build with sqlite support?
%bcond_without sqlite
# build with bdb support?
%bcond_without bdb
# build with internal Berkeley DB?
%bcond_with int_bdb
# build with bdb_ro support?
%bcond_without bdb_ro
%define rpmhome /usr/lib/rpm %define rpmhome /usr/lib/rpm
%global rpmver 4.15.1 %global rpmver 4.15.90
#global snapver rc1 %global snapver git14971
%global rel 2 %global rel 1
%global srcver %{version}%{?snapver:-%{snapver}} %global srcver %{version}%{?snapver:-%{snapver}}
%global srcdir %{?snapver:testing}%{!?snapver:%{name}-%(echo %{version} | cut -d'.' -f1-2).x} %global srcdir %{?snapver:testing}%{!?snapver:%{name}-%(echo %{version} | cut -d'.' -f1-2).x}
%if %{with bdb}
%define bdbver 5.3.15 %define bdbver 5.3.15
%endif
# Build-dependency on systemd for the sake of one macro would be a bit much... # Build-dependency on systemd for the sake of one macro would be a bit much...
%{!?_tmpfilesdir:%global _tmpfilesdir /usr/lib/tmpfiles.d} %{!?_tmpfilesdir:%global _tmpfilesdir /usr/lib/tmpfiles.d}
@ -34,10 +40,10 @@
Summary: The RPM package management system Summary: The RPM package management system
Name: rpm Name: rpm
Version: %{rpmver} Version: %{rpmver}
Release: %{?snapver:0.%{snapver}.}%{rel}%{?dist}.1 Release: %{?snapver:0.%{snapver}.}%{rel}%{?dist}
Url: http://www.rpm.org/ Url: http://www.rpm.org/
Source0: http://ftp.rpm.org/releases/%{srcdir}/%{name}-%{srcver}.tar.bz2 Source0: http://ftp.rpm.org/releases/%{srcdir}/%{name}-%{srcver}.tar.bz2
%if %{with int_bdb} %if %{with bdb} && %{with int_bdb}
Source1: db-%{bdbver}.tar.gz Source1: db-%{bdbver}.tar.gz
%endif %endif
@ -51,6 +57,7 @@ Patch5: rpm-4.12.0-rpm2cpio-hack.patch
Patch6: 0001-find-debuginfo.sh-decompress-DWARF-compressed-ELF-se.patch Patch6: 0001-find-debuginfo.sh-decompress-DWARF-compressed-ELF-se.patch
# Patches already upstream: # Patches already upstream:
Patch100: 0001-Unset-SOURCE_DATE_EPOCH-for-the-test-suite.patch
# These are not yet upstream # These are not yet upstream
Patch906: rpm-4.7.1-geode-i686.patch Patch906: rpm-4.7.1-geode-i686.patch
@ -64,15 +71,11 @@ Patch912: 0001-Revert-Improve-ARM-detection.patch
License: GPLv2+ License: GPLv2+
Requires: coreutils Requires: coreutils
%if %{without int_bdb}
# db recovery tools, rpmdb_util symlinks
Requires: %{_bindir}/db_stat
%endif
Requires: popt%{_isa} >= 1.10.2.1 Requires: popt%{_isa} >= 1.10.2.1
Requires: curl Requires: curl
Obsoletes: python2-rpm < %{version}-%{release} Obsoletes: python2-rpm < %{version}-%{release}
%if %{without int_bdb} %if %{with bdb} && %{without int_bdb}
BuildRequires: libdb-devel BuildRequires: libdb-devel
%endif %endif
@ -107,8 +110,8 @@ BuildRequires: libarchive-devel
%if %{with zstd} %if %{with zstd}
BuildRequires: libzstd-devel BuildRequires: libzstd-devel
%endif %endif
%if %{with lmdb} %if %{with sqlite}
BuildRequires: lmdb-devel BuildRequires: sqlite-devel
%endif %endif
# Couple of patches change makefiles so, require for now... # Couple of patches change makefiles so, require for now...
BuildRequires: automake libtool BuildRequires: automake libtool
@ -293,7 +296,7 @@ Requires: rpm-libs%{_isa} = %{version}-%{release}
%prep %prep
%autosetup -n %{name}-%{srcver} %{?with_int_bdb:-a 1} -p1 %autosetup -n %{name}-%{srcver} %{?with_int_bdb:-a 1} -p1
%if %{with int_bdb} %if %{with bdb} && %{with int_bdb}
ln -s db-%{bdbver} db ln -s db-%{bdbver} db
%endif %endif
@ -318,16 +321,18 @@ done;
--build=%{_target_platform} \ --build=%{_target_platform} \
--host=%{_target_platform} \ --host=%{_target_platform} \
--with-vendor=redhat \ --with-vendor=redhat \
%{?with_bdb: --enable-bdb} \
%{!?with_int_bdb: --with-external-db} \ %{!?with_int_bdb: --with-external-db} \
%{!?with_plugins: --disable-plugins} \ %{!?with_plugins: --disable-plugins} \
--with-lua \ --with-lua \
--with-selinux \ --with-selinux \
--with-cap \ --with-cap \
--with-acl \ --with-acl \
%{?with_ndb: --with-ndb} \ %{?with_ndb: --enable-ndb} \
%{?with_libimaevm: --with-imaevm} \ %{?with_libimaevm: --with-imaevm} \
%{?with_zstd: --enable-zstd} \ %{?with_zstd: --enable-zstd} \
%{?with_lmdb: --enable-lmdb} \ %{?with_sqlite: --enable-sqlite} \
%{?with_bdb_ro: --enable-bdb-ro} \
--enable-python \ --enable-python \
--with-crypto=openssl --with-crypto=openssl
@ -359,17 +364,13 @@ echo "r /var/lib/rpm/__db.*" > ${RPM_BUILD_ROOT}%{_tmpfilesdir}/rpm.conf
mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/rpm mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/rpm
mkdir -p $RPM_BUILD_ROOT%{rpmhome}/macros.d mkdir -p $RPM_BUILD_ROOT%{rpmhome}/macros.d
mkdir -p $RPM_BUILD_ROOT/var/lib/rpm
# init an empty database for %ghost'ing # init an empty database for %ghost'ing for all supported backends
./rpmdb --dbpath=$RPM_BUILD_ROOT/var/lib/rpm --initdb for be in %{?with_ndb:ndb} %{?with_sqlite:sqlite} %{?with_bdb:bdb}; do
./rpmdb --define "_db_backend ${be}" --dbpath=${PWD}/${be} --initdb
# plant links to relevant db utils as rpmdb_foo for documention compatibility cp -vp ${be}/* $RPM_BUILD_ROOT/var/lib/rpm/
%if %{without int_bdb}
for dbutil in dump load recover stat upgrade verify
do
ln -s ../../bin/db_${dbutil} $RPM_BUILD_ROOT/%{rpmhome}/rpmdb_${dbutil}
done done
%endif
%find_lang %{name} %find_lang %{name}
@ -381,8 +382,7 @@ rm -f $RPM_BUILD_ROOT/%{_fileattrsdir}/{perl*,python*}
%if %{with check} %if %{with check}
%check %check
# https://github.com/rpm-software-management/rpm/issues/741 make check || (cat tests/rpmtests.log; exit 1)
make check || (cat tests/rpmtests.log; exit 0)
%endif %endif
%files -f %{name}.lang %files -f %{name}.lang
@ -518,6 +518,15 @@ make check || (cat tests/rpmtests.log; exit 0)
%doc doc/librpm/html/* %doc doc/librpm/html/*
%changelog %changelog
* Tue Mar 31 2020 Panu Matilainen <pmatilai@redhat.com> - 4.15.90-0.git14971.1
- Rebase to rpm 4.16 alpha (https://rpm.org/wiki/Releases/4.16.0)
- Add bconds for and enable sqlite, ndb and bdb_ro database backends
- Add bcond for disabling bdb backend
- Drop lmdb bcond, the backend was removed upstream
- Ensure all database backend files are owned
- Fix external environment causing test-suite failures in spec build
- Re-enable hard test-suite failures again
* Thu Jan 30 2020 Fedora Release Engineering <releng@fedoraproject.org> - 4.15.1-2.1 * Thu Jan 30 2020 Fedora Release Engineering <releng@fedoraproject.org> - 4.15.1-2.1
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild

View File

@ -1 +1 @@
SHA512 (rpm-4.15.1.tar.bz2) = 6c66835da5a54349bcfba5cc69831c8c57568aabd53c5c2820ec78c361be5116fecd41777b097e9c49458f984a7beb054fa8ed453ff7263cad4a29a11f780767 SHA512 (rpm-4.15.90-git14971.tar.bz2) = aed1945f17860b6458dccffa35ba48e0823d9173d6c9009338e2e6ea8a21187a4fb7c222f38a86a02b4ba1a9ca645c7cbad82b45c736e346ddaea89e16fd8a04