From a824203df8f6fee5345b1f8cae2a2141171a9f82 Mon Sep 17 00:00:00 2001 From: Filip Janus Date: Tue, 7 May 2024 13:21:14 +0200 Subject: [PATCH] Add db_converter tool into -util subpackage it provides ability to convert libdb database to GDBM Resolves: RHEL-35607 --- .gitignore | 1 + libdb.spec | 25 +++++++++++++++++++++++-- sources | 7 ++++--- 3 files changed, 28 insertions(+), 5 deletions(-) mode change 100644 => 100755 .gitignore mode change 100644 => 100755 sources diff --git a/.gitignore b/.gitignore old mode 100644 new mode 100755 index e9c62d1..449da71 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,4 @@ /db-5.3.21.tar.gz /db-5.3.28.tar.gz /libdb-5.3.28-manpages.tar.gz +/v1.0.2.tar.gz diff --git a/libdb.spec b/libdb.spec index c81f443..4d3f086 100644 --- a/libdb.spec +++ b/libdb.spec @@ -1,17 +1,19 @@ %define __soversion_major 5 %define __soversion %{__soversion_major}.3 %define __tclversion 8.6 +%define __converter_version 1.0.2 Summary: The Berkeley DB database library for C Name: libdb Version: 5.3.28 -Release: 53%{?dist} +Release: 54%{?dist} Source0: http://download.oracle.com/berkeley-db/db-%{version}.tar.gz Source1: http://download.oracle.com/berkeley-db/db.1.85.tar.gz # For mt19937db.c Source2: http://www.gnu.org/licenses/lgpl-2.1.txt # libdb man pages generated from the 5.3.28 documentation 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 # db-1.85 upstream patches 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 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: perl-interpreter libtool BuildRequires: tcl-devel >= %{__tclversion} @@ -82,7 +84,11 @@ be installed on all systems. %package utils Summary: Command line tools for managing Berkeley DB databases +Buildrequires: libdb-devel +BuildRequires: gdbm-devel lmdb-devel + Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: gdbm-libs lmdb-libs %description utils 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 for building programs which use the Berkeley DB in SQL. + %prep %setup -q -n db-%{version} -a 1 cp %{SOURCE2} . tar -xf %{SOURCE3} +#db_converter +tar -xf %{SOURCE4} %patch0 -p1 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 popd +pushd db_converter-%{__converter_version} +%make_build +popd + %install rm -rf ${RPM_BUILD_ROOT} mkdir -p ${RPM_BUILD_ROOT}%{_includedir} @@ -327,6 +340,8 @@ mv man/* ${RPM_BUILD_ROOT}%{_mandir}/man1 %ldconfig_scriptlets sql %ldconfig_scriptlets tcl +install -m 0755 db_converter-%{__converter_version}/db_converter %{buildroot}/%{_bindir}/db_converter + %files %license LICENSE lgpl-2.1.txt %doc README @@ -364,6 +379,7 @@ mv man/* ${RPM_BUILD_ROOT}%{_mandir}/man1 %{_bindir}/db*_upgrade %{_bindir}/db*_verify %{_bindir}/db*_tuner +%{_bindir}/db_converter %{_mandir}/man1/db_* %files cxx @@ -392,6 +408,11 @@ mv man/* ${RPM_BUILD_ROOT}%{_mandir}/man1 %{_includedir}/%{name}/dbsql.h %changelog +* Mon May 06 2024 Filip Januš - 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š - 5.3.28-53 - Add missing RPM_LD_FLAGS for db_dump185 - Resolves: #2026417 diff --git a/sources b/sources old mode 100644 new mode 100755 index 5699f8b..d1be6bd --- a/sources +++ b/sources @@ -1,3 +1,4 @@ -b99454564d5b4479750567031d66fe24 db-5.3.28.tar.gz -42cc6c1e1e25818bd3e3f91328edb0f1 db.1.85.tar.gz -541c8b55eb210d05bc31d67436a9db10 libdb-5.3.28-manpages.tar.gz +SHA512 (db-5.3.28.tar.gz) = e91bbe550fc147a8be7e69ade86fdb7066453814971b2b0223f7d17712bd029a8eff5b2b6b238042ff6ec1ffa6879d44cb95c5645a922fee305c26c3eeaee090 +SHA512 (db.1.85.tar.gz) = 03bf3a2b0947efdca4e38719542e96378b5eeb57da64d5030dd23ab710773c1826f1c867032d0bea658b7fdd8272db253e97bbc490d198b9437025ffdf9e880e +SHA512 (libdb-5.3.28-manpages.tar.gz) = b3744e8ea8973b91084dc2f4351eedd189a07df8eb32b236f0b5ae23e7182129ab8b882898a1cfaa68f761ad18c27478c52b3032ae1b4db906504765cc2582c1 +SHA512 (v1.0.2.tar.gz) = b7bde73dfbba9fa2c03748dc261a20e01998906d769594d748ca30b00ee1f22275b19fbdf6977ac8c2c44f28139290d4c1af044957e3716f691283bfcbbf7018