Add db_converter tool into -util subpackage it provides ability to convert libdb database to GDBM Resolves: RHEL-35607

This commit is contained in:
Filip Janus 2024-05-07 13:21:14 +02:00 committed by root
parent 27038c5d3e
commit cda6cb247e
4 changed files with 32 additions and 5 deletions

1
.gitignore vendored Normal file → Executable file
View File

@ -2,3 +2,4 @@
/db-5.3.21.tar.gz /db-5.3.21.tar.gz
/db-5.3.28.tar.gz /db-5.3.28.tar.gz
/libdb-5.3.28-manpages.tar.gz /libdb-5.3.28-manpages.tar.gz
/v1.0.2.tar.gz

4
.libdb.metadata Normal file
View File

@ -0,0 +1,4 @@
fa3f8a41ad5101f43d08bc0efb6241c9b6fc1ae9 db-5.3.28.tar.gz
ccb057b07761d1b2b34626e748c7392c749d5e6d db.1.85.tar.gz
c90635ffef230707c87f1353495972f8041882bd libdb-5.3.28-manpages.tar.gz
7c3a0c5b472adc56dbac3202c6b32651d85e3acc v1.0.2.tar.gz

View File

@ -1,17 +1,19 @@
%define __soversion_major 5 %define __soversion_major 5
%define __soversion %{__soversion_major}.3 %define __soversion %{__soversion_major}.3
%define __tclversion 8.6 %define __tclversion 8.6
%define __converter_version 1.0.2
Summary: The Berkeley DB database library for C Summary: The Berkeley DB database library for C
Name: libdb Name: libdb
Version: 5.3.28 Version: 5.3.28
Release: 53%{?dist} Release: 54%{?dist}
Source0: http://download.oracle.com/berkeley-db/db-%{version}.tar.gz Source0: http://download.oracle.com/berkeley-db/db-%{version}.tar.gz
Source1: http://download.oracle.com/berkeley-db/db.1.85.tar.gz Source1: http://download.oracle.com/berkeley-db/db.1.85.tar.gz
# For mt19937db.c # For mt19937db.c
Source2: http://www.gnu.org/licenses/lgpl-2.1.txt Source2: http://www.gnu.org/licenses/lgpl-2.1.txt
# libdb man pages generated from the 5.3.28 documentation # libdb man pages generated from the 5.3.28 documentation
Source3: libdb-5.3.28-manpages.tar.gz Source3: libdb-5.3.28-manpages.tar.gz
Source4: https://github.com/fila43/db_converter/archive/refs/tags/v%{__converter_version}.tar.gz
Patch0: libdb-multiarch.patch Patch0: libdb-multiarch.patch
# db-1.85 upstream patches # db-1.85 upstream patches
Patch10: http://www.oracle.com/technology/products/berkeley-db/db/update/1.85/patch.1.1 Patch10: http://www.oracle.com/technology/products/berkeley-db/db/update/1.85/patch.1.1
@ -61,7 +63,7 @@ Patch41: db-5.3.28-fix-CWE-686-398.patch
Patch42: db-5.3.28-mmap-high-cpu-usage.patch Patch42: db-5.3.28-mmap-high-cpu-usage.patch
URL: http://www.oracle.com/database/berkeley-db/ URL: http://www.oracle.com/database/berkeley-db/
License: BSD and LGPLv2 and Sleepycat License: BSD and LGPLv2 and Sleepycat and MIT
BuildRequires: gcc gcc-c++ BuildRequires: gcc gcc-c++
BuildRequires: perl-interpreter libtool BuildRequires: perl-interpreter libtool
BuildRequires: tcl-devel >= %{__tclversion} BuildRequires: tcl-devel >= %{__tclversion}
@ -82,7 +84,11 @@ be installed on all systems.
%package utils %package utils
Summary: Command line tools for managing Berkeley DB databases Summary: Command line tools for managing Berkeley DB databases
Buildrequires: libdb-devel
BuildRequires: gdbm-devel lmdb-devel
Requires: %{name}%{?_isa} = %{version}-%{release} Requires: %{name}%{?_isa} = %{version}-%{release}
Requires: gdbm-libs lmdb-libs
%description utils %description utils
The Berkeley Database (Berkeley DB) is a programmatic toolkit that The Berkeley Database (Berkeley DB) is a programmatic toolkit that
@ -196,10 +202,13 @@ provides embedded database support for both traditional and
client/server applications. This package contains the libraries client/server applications. This package contains the libraries
for building programs which use the Berkeley DB in SQL. for building programs which use the Berkeley DB in SQL.
%prep %prep
%setup -q -n db-%{version} -a 1 %setup -q -n db-%{version} -a 1
cp %{SOURCE2} . cp %{SOURCE2} .
tar -xf %{SOURCE3} tar -xf %{SOURCE3}
#db_converter
tar -xf %{SOURCE4}
%patch0 -p1 %patch0 -p1
pushd db.1.85/PORT/linux pushd db.1.85/PORT/linux
@ -280,6 +289,10 @@ perl -pi -e 's/-shared -nostdlib/-shared/' libtool
echo "source ../../test/tcl/test.tcl; r env; r mut; r memp" | tclsh echo "source ../../test/tcl/test.tcl; r env; r mut; r memp" | tclsh
popd popd
pushd db_converter-%{__converter_version}
%make_build
popd
%install %install
rm -rf ${RPM_BUILD_ROOT} rm -rf ${RPM_BUILD_ROOT}
mkdir -p ${RPM_BUILD_ROOT}%{_includedir} mkdir -p ${RPM_BUILD_ROOT}%{_includedir}
@ -327,6 +340,8 @@ mv man/* ${RPM_BUILD_ROOT}%{_mandir}/man1
%ldconfig_scriptlets sql %ldconfig_scriptlets sql
%ldconfig_scriptlets tcl %ldconfig_scriptlets tcl
install -m 0755 db_converter-%{__converter_version}/db_converter %{buildroot}/%{_bindir}/db_converter
%files %files
%license LICENSE lgpl-2.1.txt %license LICENSE lgpl-2.1.txt
%doc README %doc README
@ -364,6 +379,7 @@ mv man/* ${RPM_BUILD_ROOT}%{_mandir}/man1
%{_bindir}/db*_upgrade %{_bindir}/db*_upgrade
%{_bindir}/db*_verify %{_bindir}/db*_verify
%{_bindir}/db*_tuner %{_bindir}/db*_tuner
%{_bindir}/db_converter
%{_mandir}/man1/db_* %{_mandir}/man1/db_*
%files cxx %files cxx
@ -392,6 +408,11 @@ mv man/* ${RPM_BUILD_ROOT}%{_mandir}/man1
%{_includedir}/%{name}/dbsql.h %{_includedir}/%{name}/dbsql.h
%changelog %changelog
* Mon May 06 2024 Filip Januš <fjanus@redhat.com> - 5.3.28-54
- Add db_converter into -utils subpackage
- It allowes to convert BerkeleyDB database format to GDBM/LMDB format
- Resolves: RHEL-35607
* Wed Nov 24 2021 Filip Januš <fjanus@redhat.com> - 5.3.28-53 * Wed Nov 24 2021 Filip Januš <fjanus@redhat.com> - 5.3.28-53
- Add missing RPM_LD_FLAGS for db_dump185 - Add missing RPM_LD_FLAGS for db_dump185
- Resolves: #2026417 - Resolves: #2026417

7
sources Normal file → Executable file
View File

@ -1,3 +1,4 @@
b99454564d5b4479750567031d66fe24 db-5.3.28.tar.gz SHA512 (db-5.3.28.tar.gz) = e91bbe550fc147a8be7e69ade86fdb7066453814971b2b0223f7d17712bd029a8eff5b2b6b238042ff6ec1ffa6879d44cb95c5645a922fee305c26c3eeaee090
42cc6c1e1e25818bd3e3f91328edb0f1 db.1.85.tar.gz SHA512 (db.1.85.tar.gz) = 03bf3a2b0947efdca4e38719542e96378b5eeb57da64d5030dd23ab710773c1826f1c867032d0bea658b7fdd8272db253e97bbc490d198b9437025ffdf9e880e
541c8b55eb210d05bc31d67436a9db10 libdb-5.3.28-manpages.tar.gz SHA512 (libdb-5.3.28-manpages.tar.gz) = b3744e8ea8973b91084dc2f4351eedd189a07df8eb32b236f0b5ae23e7182129ab8b882898a1cfaa68f761ad18c27478c52b3032ae1b4db906504765cc2582c1
SHA512 (v1.0.2.tar.gz) = b7bde73dfbba9fa2c03748dc261a20e01998906d769594d748ca30b00ee1f22275b19fbdf6977ac8c2c44f28139290d4c1af044957e3716f691283bfcbbf7018