use bdb as backend db

This commit is contained in:
licunlong 2021-11-24 19:22:09 +08:00
parent 823fc706a9
commit 27165b5936

View File

@ -1,6 +1,6 @@
Name: rpm
Version: 4.15.1
Release: 32
Release: 33
Summary: RPM Package Manager
License: GPLv2+
URL: http://www.rpm.org/
@ -91,12 +91,12 @@ Patch77: backport-0001-CVE-2021-3521.patch
Patch78: backport-0002-CVE-2021-3521.patch
Patch79: backport-0003-CVE-2021-3521.patch
BuildRequires: gcc autoconf automake libtool make gawk popt-devel openssl-devel readline-devel
BuildRequires: gcc autoconf automake libtool make gawk popt-devel openssl-devel readline-devel libdb-devel
BuildRequires: zlib-devel libzstd-devel xz-devel bzip2-devel libarchive-devel ima-evm-utils-devel
BuildRequires: dbus-devel fakechroot elfutils-devel elfutils-libelf-devel ima-evm-utils
BuildRequires: lua-devel libcap-devel libacl-devel libselinux-devel file-devel gettext-devel ncurses-devel
BuildRequires: system-rpm-config gdb dwz setup
Requires: coreutils popt curl zstd libcap gnupg2 crontabs logrotate
Requires: coreutils popt curl zstd libcap gnupg2 crontabs logrotate libdb-utils
Obsoletes: %{name}-build-libs %{name}-sign-libs %{name}-sign %{name}-cron
Provides: %{name}-build-libs %{name}-sign-libs %{name}-sign %{name}-cron
Obsoletes: %{name}-plugin-selinux %{name}-plugin-syslog %{name}-plugin-systemd-inhibit < 4.15.1-28 %{name}-plugin-ima %{name}-plugin-prioreset
@ -183,7 +183,6 @@ Obsoletes: apidocs
%autosetup -n %{name}-%{version} -p1
sed -ie 's:^python test:python2 test:g' tests/rpmtests tests/local.at
sed -i -e "/_db_backend/ s/ bdb/ ndb/g" macros.in
%build
CPPFLAGS="$CPPFLAGS -DLUA_COMPAT_APIINTCASTS"
@ -211,9 +210,6 @@ done;
--with-selinux \
--with-cap \
--with-acl \
--enable-ndb \
--enable-bdb-ro \
--enable-bdb=no \
--with-imaevm \
--enable-zstd \
--enable-python \
@ -247,8 +243,14 @@ mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/rpm
mkdir -p $RPM_BUILD_ROOT%{_rpmconfigdir}/macros.d
mkdir -p $RPM_BUILD_ROOT/var/lib/rpm
./rpmdb --define "_db_backend ndb" --dbpath=${PWD}/ndb --initdb
cp -va ndb/. $RPM_BUILD_ROOT/var/lib/rpm/
for dbi in \
Basenames Conflictname Dirnames Group Installtid Name Obsoletename \
Packages Providename Requirename Triggername Sha1header Sigmd5 \
__db.001 __db.002 __db.003 __db.004 __db.005 __db.006 __db.007 \
__db.008 __db.009
do
touch $RPM_BUILD_ROOT/var/lib/rpm/$dbi
done
#./rpmdb --dbpath=$RPM_BUILD_ROOT/var/lib/rpm --initdb
@ -276,19 +278,6 @@ make check || (cat tests/rpmtests.log; exit 0)
%postun libs -p /sbin/ldconfig
%posttrans
{
dbpath=$(rpm -E %{_dbpath})
while [ -e ${dbpath}/Packages ]; do
date >> /var/log/rebuilddb.log 2>&1
rpmdb -vvv --rebuilddb >> /var/log/rebuilddb.log 2>&1
if [ $? -ne 0 ];then
echo "Automatic conversion db failed. Please run 'rpmdb --rebuilddb' manually." >> /var/log/rebuilddb.log
exit 1
fi
done
} &
%files -f %{name}.lang
%defattr(-,root,root)
%license COPYING
@ -298,8 +287,7 @@ make check || (cat tests/rpmtests.log; exit 0)
%config(noreplace) %{_sysconfdir}/logrotate.d/rpm
%dir %{_sysconfdir}/rpm
%dir /var/lib/rpm
%attr(0644, root, root) %ghost %config(missingok,noreplace) /var/lib/rpm/*
%attr(0644, root, root) %ghost /var/lib/rpm/.*.lock
%attr(0644, root, root) %verify(not md5 size mtime) %ghost %config(missingok,noreplace) /var/lib/rpm/*
%lang(fr) %{_mandir}/fr/man[18]/*.[18]*
%lang(ko) %{_mandir}/ko/man[18]/*.[18]*
%lang(ja) %{_mandir}/ja/man[18]/*.[18]*
@ -385,6 +373,12 @@ make check || (cat tests/rpmtests.log; exit 0)
%{_mandir}/man1/gendiff.1*
%changelog
* Wed Nov 24 2021 licunlong <licunlong1@huawei.com> - 4.15.1-33
- Type:bugfix
- ID:NA
- SUG:NA
- DESC:use bdb as backend db.
* Sat Nov 20 2021 renhongxun <renhongxun@huawei.com> - 4.15.1-32
- Type:bugfix
- ID:NA