Switch default database to sqlite (#1818910)
Newly created databases will be sqlite unless overridden in configuration. If BDB database is detected at %posttrans of rpm itself, it's flagged for rebuild in the next reboot. This will serve two purposes: the primary objective is obviously to convert to configured (ie sqlite) format, but as a secondary side-effect, any remaining BDB databases will get a much needed maintenance rebuild from time to time.
This commit is contained in:
parent
82d52d2b3a
commit
d451552090
16
rpm.spec
16
rpm.spec
@ -25,7 +25,7 @@
|
||||
|
||||
%global rpmver 4.15.90
|
||||
%global snapver git14971
|
||||
%global rel 10
|
||||
%global rel 11
|
||||
|
||||
%global srcver %{rpmver}%{?snapver:-%{snapver}}
|
||||
%global srcdir %{?snapver:testing}%{!?snapver:rpm-%(echo %{rpmver} | cut -d'.' -f1-2).x}
|
||||
@ -307,6 +307,11 @@ Requires: rpm-libs%{_isa} = %{version}-%{release}
|
||||
ln -s db-%{bdbver} db
|
||||
%endif
|
||||
|
||||
# switch to sqlite db by default, including during build-time tests
|
||||
%if %{with sqlite}
|
||||
sed -i -e "/_db_backend/ s/ bdb/ sqlite/g" macros.in
|
||||
%endif
|
||||
|
||||
%build
|
||||
%set_build_flags
|
||||
|
||||
@ -459,6 +464,11 @@ if [ -x /usr/bin/systemctl ]; then
|
||||
systemctl --no-reload preset rpmdb-rebuild ||:
|
||||
fi
|
||||
|
||||
%posttrans
|
||||
if [ -f /var/lib/rpm/Packages ]; then
|
||||
touch /var/lib/rpm/.rebuilddb
|
||||
fi
|
||||
|
||||
%files libs
|
||||
%{_libdir}/librpmio.so.*
|
||||
%{_libdir}/librpm.so.*
|
||||
@ -541,6 +551,10 @@ fi
|
||||
%doc doc/librpm/html/*
|
||||
|
||||
%changelog
|
||||
* Thu May 7 2020 Panu Matilainen <pmatilai@redhat.com> - 4.15.90-0.git14971.11
|
||||
- Flag BDB databases for rebuild on next reboot whenever rpm is updated
|
||||
- Switch default database to sqlite (#1818910)
|
||||
|
||||
* Mon May 4 2020 Panu Matilainen <pmatilai@redhat.com> - 4.15.90-0.git14971.10
|
||||
- Handle rpmdb-rebuild service enablement for upgrades
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user