# # spec file for package lmdb # # Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via http://bugs.opensuse.org/ # Name: lmdb Summary: Lightning Memory-Mapped Database Manager License: OLDAP-2.8 Group: Productivity/Databases/Tools %define lname liblmdb-0_9_11 Version: 0.9.11 Release: 0 Url: http://symas.com/mdb/ #Git-Clone: git://git.openldap.org/openldap mdb.master Source: %{name}-%{version}.tar.bz2 Patch1: automake.diff Patch2: 0001-Patch-for-LMDB-to-use-robust-mutexes.patch Patch3: 0002-Add-extra-tools-and-CFEngine-modifications-for-LMDB.patch Patch4: liblmdb-implicit-decl.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRequires: autoconf BuildRequires: automake >= 1.10 BuildRequires: libtool >= 2 %description LMDB is a Btree-based database management library with an API similar to BerkeleyDB. The library is thread-aware and supports concurrent read/write access from multiple processes and threads. The DB structure is multi-versioned, and data pages use a copy-on-write strategy, which also provides resistance to corruption and eliminates the need for any recovery procedures. The database is exposed in a memory map, requiring no page cache layer of its own. %package -n %lname Summary: Shared library for Lightning Memory-Mapped Database (LMDB) Group: System/Libraries %description -n %lname LMDB is a Btree-based database management library with an API similar to BerkeleyDB. The library is thread-aware and supports concurrent read/write access from multiple processes and threads. The DB structure is multi-versioned, and data pages use a copy-on-write strategy, which also provides resistance to corruption and eliminates the need for any recovery procedures. The database is exposed in a memory map, requiring no page cache layer of its own. This package contains the shared library. %package devel Summary: Development package for lmdb Group: Development/Libraries/C and C++ Requires: %lname = %version %description devel LMDB is a Btree-based database management library with an API similar to BerkeleyDB. The library is thread-aware and supports concurrent read/write access from multiple processes and threads. The DB structure is multi-versioned, and data pages use a copy-on-write strategy, which also provides resistance to corruption and eliminates the need for any recovery procedures. The database is exposed in a memory map, requiring no page cache layer of its own. This package contains the files needed to compile programs that use the liblmdb library. %prep %setup -qn liblmdb # PATCH-FIX-OPENSUSE - autotools files, jengelh@inai.de %patch1 -p1 # PATCH-FIX-UPSTREAM - prevent deadlock when process holding db lock dies, kkaempf@suse.de %patch2 -p1 # PATCH-FIX-OPENSUSE - debugging tools (https://github.com/kacfengine/lmdb) %patch3 -p1 # PATCH-FIX-OPENSUSE - Implicit declaration of atol() %patch4 -p1 %build mkdir -p m4 autoreconf -fi %configure --disable-static make %{?_smp_mflags} V=1 %install make install DESTDIR="%buildroot" rm -f "%buildroot/%_libdir"/*.la %post -n %lname -p /sbin/ldconfig %postun -n %lname -p /sbin/ldconfig %files %defattr(-,root,root) %doc CHANGES %doc COPYRIGHT %doc LICENSE %{_bindir}/* %doc %{_mandir}/man1/* %files -n %lname %defattr(-,root,root) %_libdir/liblmdb-%version.so %files devel %defattr(-,root,root) %_includedir/* %_libdir/liblmdb.so %changelog