Compare commits

...

1 Commits
c8 ... c10-beta

Author SHA1 Message Date
b00047f395 import RHEL 10 Beta lmdb-0.9.32-2.el10 2024-11-20 13:43:18 +00:00
9 changed files with 328 additions and 194 deletions

2
.gitignore vendored
View File

@ -1 +1 @@
SOURCES/lmdb-LMDB_0.9.24.tar.gz
openldap-LMDB_0.9.32.tar.gz

View File

@ -1 +0,0 @@
76f4bc1827474403a78e5f8eb225233d67144286 SOURCES/lmdb-LMDB_0.9.24.tar.gz

View File

@ -1,37 +0,0 @@
diff -up ./libraries/liblmdb/midl.c.fix ./libraries/liblmdb/midl.c
--- ./libraries/liblmdb/midl.c.fix 2019-06-19 11:10:07.791337785 +0200
+++ ./libraries/liblmdb/midl.c 2019-06-19 11:16:04.005166705 +0200
@@ -120,9 +120,15 @@ void mdb_midl_free(MDB_IDL ids)
void mdb_midl_shrink( MDB_IDL *idp )
{
MDB_IDL ids = *idp;
- if (*(--ids) > MDB_IDL_UM_MAX &&
- (ids = realloc(ids, (MDB_IDL_UM_MAX+2) * sizeof(MDB_ID))))
+ MDB_IDL res = NULL;
+ if (*(--ids) > MDB_IDL_UM_MAX)
{
+ res = realloc(ids, (MDB_IDL_UM_MAX+2) * sizeof(MDB_ID));
+ if (res)
+ ids = res;
+ else
+ return;
+
*ids++ = MDB_IDL_UM_MAX;
*idp = ids;
}
@@ -131,10 +137,13 @@ void mdb_midl_shrink( MDB_IDL *idp )
static int mdb_midl_grow( MDB_IDL *idp, int num )
{
MDB_IDL idn = *idp-1;
+ MDB_IDL res = NULL;
/* grow it */
- idn = realloc(idn, (*idn + num + 2) * sizeof(MDB_ID));
- if (!idn)
+ res = realloc(idn, (*idn + num + 2) * sizeof(MDB_ID));
+ if (!res)
return ENOMEM;
+ else
+ idn = res;
*idn++ += num;
*idp = idn;
return 0;

View File

@ -1,149 +0,0 @@
# The files themselves are in several subdirectories and need to be prefixed wit this.
%global archive_path libraries/lib%{name}
Name: lmdb
Version: 0.9.24
Release: 2%{?dist}
Summary: Memory-mapped key-value database
License: OpenLDAP
URL: http://symas.com/mdb/
Source0: https://github.com/LMDB/lmdb/archive/LMDB_%{version}.tar.gz#/%{name}-LMDB_%{version}.tar.gz
Source1: lmdb.pc.in
BuildRequires: make
BuildRequires: gcc
BuildRequires: doxygen
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
# Patch description in the corresponding file
Patch0: lmdb-make.patch
Patch1: lmdb-s390-check.patch
Patch2: lmdb-covscan.patch
%description
LMDB is an ultra-fast, ultra-compact key-value embedded data
store developed by Symas for the OpenLDAP Project. By using memory-mapped files,
it provides the read performance of a pure in-memory database while still
offering the persistence of standard disk-based databases, and is only limited
to the size of the virtual address space.
%package libs
Summary: Shared libraries for %{name}
%description libs
The %{name}-libs package contains shared libraries necessary for running
applications that use %{name}.
%package devel
Summary: Development files for %{name}
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
%description devel
The %{name}-devel package contains libraries and header files for
developing applications that use %{name}.
%package doc
Summary: Documentation files for %{name}
BuildArch: noarch
%description doc
The %{name}-doc package contains automatically generated documentation for %{name}.
%prep
%setup -q -n %{name}-LMDB_%{version}
%patch0 -p1 -b .make
%patch1 -p1 -b .s390-check
%patch2 -p1 -b .covscan
%build
pushd %{archive_path}
make LDFLAGS="%{build_ldflags}" XCFLAGS="%{optflags}" %{?_smp_mflags}
# Build doxygen documentation
doxygen
# remove unpackaged files
rm -f Doxyfile
rm -rf man # Doxygen generated manpages
popd
%install
pushd %{archive_path}
# make install expects existing directory tree
mkdir -m 0755 -p %{buildroot}{%{_bindir},%{_includedir}}
mkdir -m 0755 -p %{buildroot}{%{_libdir}/pkgconfig,%{_mandir}/man1}
make DESTDIR=%{buildroot} prefix=%{_prefix} libdir=%{_libdir} mandir=%{_mandir} install
popd
# Install pkgconfig file
sed -e 's:@PREFIX@:%{_prefix}:g' \
-e 's:@EXEC_PREFIX@:%{_exec_prefix}:g' \
-e 's:@LIBDIR@:%{_libdir}:g' \
-e 's:@INCLUDEDIR@:%{_includedir}:g' \
-e 's:@PACKAGE_VERSION@:%{version}:g' \
%{SOURCE1} >lmdb.pc
install -Dpm 0644 -t %{buildroot}%{_libdir}/pkgconfig lmdb.pc
%check
%if 0%{?rhel} == 6 && "%{_arch}" == "ppc64"
# rhel6 ppc64: skip unit tests
exit 0
%endif
pushd %{archive_path}
rm -rf testdb
LD_LIBRARY_PATH=$PWD make test
popd
%ldconfig_scriptlets libs
%files
%{_bindir}/*
%{_mandir}/man1/*
%files libs
%doc %{archive_path}/COPYRIGHT
%doc %{archive_path}/CHANGES
%license %{archive_path}/LICENSE
%{_libdir}/*.so.*
%files devel
%{_includedir}/*
%{_libdir}/*.so
%{_libdir}/pkgconfig/*.pc
%files doc
%doc %{archive_path}/html
%doc %{archive_path}/COPYRIGHT
%doc %{archive_path}/CHANGES
%license %{archive_path}/LICENSE
%changelog
* Wed Nov 02 2022 Radovan Sroka <rsroka@redhat.com> - 0.9.24-2
RHEL 8.8.0 ERRATUM
- Please put lmdb in RHEL 8 CRB
- Rebuild
- Resolves: rhbz#1972979
* Thu May 07 2020 Radovan Sroka <rsroka@redhat.com> - 0.9.24-1
- RHEL 8.3.0 ERRATUM
- rebase to 0.9.24
- Resolves: rhbz#1817421
* Tue Jun 18 2019 Radovan Sroka <rsroka@redhat.com> - 0.9.23-5
- fixed resolves from RPMDIFF
- fixed some covscan issues
* Wed Jun 12 2019 Radovan Sroka <rsroka@redhat.com> - 0.9.23-4
- propagate ldflags for makefile
- added explicit Requires for -libs
* Wed May 15 2019 Radovan Sroka <rsroka@redhat.com> - 0.9.23-3
- rebuild
* Mon Apr 29 2019 Radovan Sroka <rsroka@redhat.com> - 0.9.23-2
- Initial Package
- Resolves: rhbz#1692264

View File

@ -1,6 +1,7 @@
diff -up lmdb-LMDB_0.9.19/libraries/liblmdb/Makefile.orig lmdb-LMDB_0.9.19/libraries/liblmdb/Makefile
--- lmdb-LMDB_0.9.19/libraries/liblmdb/Makefile.orig 2017-01-04 12:14:24.303344915 +0100
+++ lmdb-LMDB_0.9.19/libraries/liblmdb/Makefile 2017-01-04 12:19:20.190295319 +0100
diff --git a/libraries/liblmdb/Makefile b/libraries/liblmdb/Makefile
index 000f1f9..c533342 100644
--- a/libraries/liblmdb/Makefile
+++ b/libraries/liblmdb/Makefile
@@ -26,6 +26,7 @@ OPT = -O2 -g
CFLAGS = $(THREADS) $(OPT) $(W) $(XCFLAGS)
LDLIBS =
@ -37,7 +38,7 @@ diff -up lmdb-LMDB_0.9.19/libraries/liblmdb/Makefile.orig lmdb-LMDB_0.9.19/libra
test: all
rm -rf testdb && mkdir testdb
@@ -64,20 +65,24 @@ test: all
@@ -64,21 +65,25 @@ test: all
liblmdb.a: mdb.o midl.o
$(AR) rs $@ mdb.o midl.o
@ -49,8 +50,7 @@ diff -up lmdb-LMDB_0.9.19/libraries/liblmdb/Makefile.orig lmdb-LMDB_0.9.19/libra
+liblmdb$(SOEXT).$(SOVERSION): mdb.lo midl.lo
# $(CC) $(LDFLAGS) -pthread -shared -Wl,-Bsymbolic -o $@ mdb.o midl.o $(SOLIBS)
- $(CC) $(LDFLAGS) -pthread -shared -o $@ mdb.lo midl.lo $(SOLIBS)
+ $(CC) $(LDFLAGS) -pthread -shared -Wl,-soname,$@ -o $@ mdb.lo midl.lo $(SOLIBS)
-
-mdb_stat: mdb_stat.o liblmdb.a
-mdb_copy: mdb_copy.o liblmdb.a
-mdb_dump: mdb_dump.o liblmdb.a
@ -61,6 +61,9 @@ diff -up lmdb-LMDB_0.9.19/libraries/liblmdb/Makefile.orig lmdb-LMDB_0.9.19/libra
-mtest4: mtest4.o liblmdb.a
-mtest5: mtest5.o liblmdb.a
-mtest6: mtest6.o liblmdb.a
-mplay: mplay.o liblmdb.a
+ $(CC) $(LDFLAGS) -pthread -shared -Wl,-soname,$@ -o $@ mdb.lo midl.lo $(SOLIBS)
+
+mdb_stat: mdb_stat.o liblmdb.so
+mdb_copy: mdb_copy.o liblmdb.so
+mdb_dump: mdb_dump.o liblmdb.so
@ -71,6 +74,7 @@ diff -up lmdb-LMDB_0.9.19/libraries/liblmdb/Makefile.orig lmdb-LMDB_0.9.19/libra
+mtest4: mtest4.o liblmdb.so
+mtest5: mtest5.o liblmdb.so
+mtest6: mtest6.o liblmdb.so
+mplay: mplay.o liblmdb.so
mdb.o: mdb.c lmdb.h midl.h
$(CC) $(CFLAGS) $(CPPFLAGS) -c mdb.c

316
lmdb.spec Normal file
View File

@ -0,0 +1,316 @@
## START: Set by rpmautospec
## (rpmautospec version 0.6.1)
## RPMAUTOSPEC: autorelease, autochangelog
%define autorelease(e:s:pb:n) %{?-p:0.}%{lua:
release_number = 2;
base_release_number = tonumber(rpm.expand("%{?-b*}%{!?-b:1}"));
print(release_number + base_release_number - 1);
}%{?-e:.%{-e*}}%{?-s:.%{-s*}}%{!?-n:%{?dist}}
## END: Set by rpmautospec
Name: lmdb
Version: 0.9.32
Release: %autorelease
Summary: Memory-mapped key-value database
License: OLDAP-2.8
URL: https://www.symas.com/lmdb
# Main source is retrieved from OpenLDAP GitLab
%global forgeurl https://git.openldap.org/openldap/openldap
%global tag LMDB_%{version}
%global archivename openldap-%{tag}
%global archiveext tar.gz
%global archiveurl %{forgeurl}/-/archive/%{tag}/%{archivename}.%{archiveext}
%forgemeta
Source: %{forgesource}
Source: lmdb.pc.in
# Patch description in the corresponding file
Patch: lmdb-make.patch
Patch: lmdb-s390-check.patch
BuildRequires: make
BuildRequires: gcc
BuildRequires: doxygen
%description
LMDB is an ultra-fast, ultra-compact key-value embedded data
store developed by Symas for the OpenLDAP Project. By using memory-mapped files,
it provides the read performance of a pure in-memory database while still
offering the persistence of standard disk-based databases, and is only limited
to the size of the virtual address space.
%package libs
Summary: Shared libraries for %{name}
%description libs
The %{name}-libs package contains shared libraries necessary for running
applications that use the %{name} embedded database.
%package devel
Summary: Development files for %{name}
Requires: %{name}%{?_isa} = %{version}-%{release}
%description devel
The %{name}-devel package contains libraries and header files for
developing applications that use %{name}.
%package doc
Summary: Documentation files for %{name}
BuildArch: noarch
%description doc
The %{name}-doc package contains automatically generated documentation for %{name}.
%prep
# forgeautosetup does not pass the -n argument
%autosetup -n %{archivename} -p1
# The files themselves are in several subdirectories and need to be prefixed wit this.
%global archive_path libraries/lib%{name}
%build
pushd %{archive_path}
%set_build_flags
%make_build XCFLAGS="%{build_cflags}"
# Build doxygen documentation
doxygen
# remove unpackaged files
rm -f Doxyfile
rm -rf man # Doxygen generated manpages
popd
%install
pushd %{archive_path}
# make install expects existing directory tree
mkdir -m 0755 -p %{buildroot}{%{_bindir},%{_includedir}}
mkdir -m 0755 -p %{buildroot}{%{_libdir}/pkgconfig,%{_mandir}/man1}
%make_install prefix=%{_prefix} libdir=%{_libdir} mandir=%{_mandir}
popd
# Install pkgconfig file
sed -e 's:@PREFIX@:%{_prefix}:g' \
-e 's:@EXEC_PREFIX@:%{_exec_prefix}:g' \
-e 's:@LIBDIR@:%{_libdir}:g' \
-e 's:@INCLUDEDIR@:%{_includedir}:g' \
-e 's:@PACKAGE_VERSION@:%{version}:g' \
%{SOURCE1} >lmdb.pc
install -Dpm 0644 -t %{buildroot}%{_libdir}/pkgconfig lmdb.pc
%check
%if 0%{?rhel} == 6 && "%{_arch}" == "ppc64"
# rhel6 ppc64: skip unit tests
exit 0
%endif
pushd %{archive_path}
rm -rf testdb
LD_LIBRARY_PATH=$PWD make test
popd
%ldconfig_scriptlets libs
%files
%{_bindir}/*
%{_mandir}/man1/*
%files libs
%doc %{archive_path}/COPYRIGHT
%doc %{archive_path}/CHANGES
%license %{archive_path}/LICENSE
%{_libdir}/*.so.*
%files devel
%{_includedir}/*
%{_libdir}/*.so
%{_libdir}/pkgconfig/*.pc
%files doc
%doc %{archive_path}/html
%doc %{archive_path}/COPYRIGHT
%doc %{archive_path}/CHANGES
%license %{archive_path}/LICENSE
%changelog
## START: Generated by rpmautospec
* Mon Jun 24 2024 Troy Dawson <tdawson@redhat.com> - 0.9.32-2
- Bump release for June 2024 mass rebuild
* Tue Jan 30 2024 Jan Staněk <jstanek@redhat.com> - 0.9.32-1
- Update to version 0.9.32 (rhbz#2261350)
* Thu Jan 25 2024 Fedora Release Engineering <releng@fedoraproject.org> - 0.9.31-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Sun Jan 21 2024 Fedora Release Engineering <releng@fedoraproject.org> - 0.9.31-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Thu Jul 27 2023 Jonathan Wakely <jwakely@fedoraproject.org> - 0.9.31-3
- Expand description for lmdb-libs subpackage
* Thu Jul 20 2023 Fedora Release Engineering <releng@fedoraproject.org> - 0.9.31-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Tue Jul 11 2023 Jan Staněk <jstanek@redhat.com> - 0.9.31-1
- Update to version 0.9.31 (rhbz#2221768)
* Tue Jun 13 2023 Radovan Sroka <rsroka@redhat.com> - 0.9.30-2
- migrated to SPDX license
* Thu Feb 09 2023 Jan Staněk <jstanek@redhat.com> - 0.9.30-1
- Update to version 0.9.30
* Thu Feb 09 2023 Jan Staněk <jstanek@redhat.com> - 0.9.29-7
- Fix source file definition and handling
- Use archive name expected by GitLab, then the archive does not contain
whole commit reference.
- Use standard %%forgemeta macros, although some detail neede to be fill in
GitLab handling is not detected from URL.
- Fix upstream URL.
* Thu Jan 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 0.9.29-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Thu Jul 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 0.9.29-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Thu Jan 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 0.9.29-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Thu Jul 22 2021 Fedora Release Engineering <releng@fedoraproject.org> - 0.9.29-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Wed Mar 17 2021 Jan Staněk <jstanek@redhat.com> - 0.9.29-1
- Upgrade to version 0.9.29
* Mon Feb 08 2021 Jan Staněk <jstanek@redhat.com> - 0.9.28-1
- Upgrade to version 0.9.28
- Specfile refactoring
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 0.9.27-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Tue Oct 27 2020 Jan Staněk <jstanek@redhat.com> - 0.9.27-1
- Upgrade to version 0.9.27
* Wed Aug 12 2020 Jan Staněk <jstanek@redhat.com> - 0.9.26-1
- Upgrade to version 0.9.26
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.9.25-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Mon Jul 13 2020 Tom Stellard <tstellar@redhat.com> - 0.9.25-2
- Use make macros
- https://fedoraproject.org/wiki/Changes/UseMakeBuildInstallMacro
* Tue Jul 07 2020 Jan Staněk <jstanek@redhat.com> - 0.9.25-1
- Upgrade to version 0.9.25
- Use OpenLDAP git directly in place of GitHub mirror
* Mon Jun 15 2020 Jan Staněk <jstanek@redhat.com> - 0.9.24-3
- Properly %%set_build_flags
* Thu Apr 02 2020 Björn Esser <besser82@fedoraproject.org> - 0.9.24-2
- Fix string quoting for rpm >= 4.16
* Tue Mar 24 2020 Jan Staněk <jstanek@redhat.com> - 0.9.24-1
- Upgrade to version 0.9.24
* Thu Jan 30 2020 Tom Stellard <tstellar@redhat.com> - 0.9.23-5
- Use make_build macro
* Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.9.23-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0.9.23-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0.9.23-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Wed Jan 09 2019 Tomas Krizek <tomas.krizek@nic.cz> - 0.9.23-1
- Updated to 0.9.23
* Mon Nov 05 2018 Jan Staněk <jstanek@redhat.com> - 0.9.22-4
- Import upstream fix for rhbz#1645114
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.9.22-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Mon Apr 23 2018 Florin Asavoaie <florin.asavoaie@gmail.com> - 0.9.22-2
- Fixed Build Dependencies
- Made build work on CentOS 7 for EPEL
* Tue Apr 10 2018 Jan Staněk <jstanek@redhat.com> - 0.9.22-1
- Updated to 0.9.22
* Thu Feb 08 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.9.21-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.9.21-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.9.21-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
* Fri Jun 02 2017 Jan Stanek <jstanek@redhat.com> - 0.9.21-1
- Update to 0.9.21
* Mon Mar 20 2017 Jan Stanek <jstanek@redhat.com> - 0.9.20-3
- Add pkgconfig file to devel subpackage
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.9.20-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
* Thu Jan 12 2017 Jan Stanek <jstanek@redhat.com> - 0.9.20-1
- Update to 0.9.20
* Wed Jan 04 2017 Jan Stanek <jstanek@redhat.com> - 0.9.19-1
- Update to 0.9.19
* Wed Feb 10 2016 Jan Stanek <jstanek@redhat.com> - 0.9.18-1
- Update to 0.9.18
* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 0.9.17-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
* Mon Dec 28 2015 Jan Vcelak <jvcelak@fedoraproject.org> 0.9.17-2
- Make liblmdb.so a symbolic link to (not a copy of) the versioned DSO
* Thu Dec 03 2015 Jan Staněk <jstanek@redhat.com> - 0.9.17-1
- Update to 0.9.17
* Wed Nov 25 2015 Jan Staněk <jstanek@redhat.com> - 0.9.16-2
- Return the name 'Symas' into description
* Fri Aug 14 2015 Jan Staněk <jstanek@redhat.com> - 0.9.16-1
- Updated to 0.9.16
* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.9.14-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
* Thu Dec 11 2014 Jan Staněk <jstanek@redhat.com> - 0.9.14-1
- Updated to 0.9.14
* Sun Aug 17 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.9.13-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
* Fri Jul 18 2014 Jan Stanek <jstanek@redhat.com> - 0.9.13-1
- Updated to 0.9.13
* Mon Jul 14 2014 Jan Stanek <jstanek@redhat.com> - 0.9.11-4
- Changed install instruction to be compatible with older coreutils (#1119084)
* Thu Jun 26 2014 Jan Stanek <jstanek@redhat.com> - 0.9.11-3
- Added delay in testing which was needed on s390* arches (#1104232)
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.9.11-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
* Tue May 27 2014 Jan Stanek <jstanek@redhat.com> - 0.9.11-1
- Initial Package
## END: Generated by rpmautospec

1
sources Normal file
View File

@ -0,0 +1 @@
SHA512 (openldap-LMDB_0.9.32.tar.gz) = b249e598e6e54e39d664525ecfef96b05b2ad7838530026edd2f3bb0069f4e7d8d058dbbb51ccd9bac5b6d7838adba31ae60639bbfe74cd370489adf394bca72