diff --git a/0002-Add-extra-tools-and-CFEngine-modifications-for-LMDB.patch b/0002-Add-extra-tools-and-CFEngine-modifications-for-LMDB.patch index 4616c3e..b7ac13d 100644 --- a/0002-Add-extra-tools-and-CFEngine-modifications-for-LMDB.patch +++ b/0002-Add-extra-tools-and-CFEngine-modifications-for-LMDB.patch @@ -1,6 +1,5 @@ -diff -wruN -x '*~' -x '*.o' -x '*.a' -x '*.so' -x '*.so.[0-9]' -x autom4te.cache -x .deps -x .libs ../orig-liblmdb/lmdump.c ./lmdump.c ---- ../orig-liblmdb/lmdump.c 1970-01-01 01:00:00.000000000 +0100 -+++ ./lmdump.c 2014-07-28 17:50:23.263838569 +0200 +--- /dev/null ++++ liblmdb/lmdump.c @@ -0,0 +1,128 @@ +/* lmdump.c - Lmdb database dumper + Has three modes : @@ -130,9 +129,8 @@ diff -wruN -x '*~' -x '*.o' -x '*.a' -x '*.so' -x '*.so.[0-9]' -x autom4te.cache + + return 0; +} -diff -wruN -x '*~' -x '*.o' -x '*.a' -x '*.so' -x '*.so.[0-9]' -x autom4te.cache -x .deps -x .libs ../orig-liblmdb/lmmgr.c ./lmmgr.c ---- ../orig-liblmdb/lmmgr.c 1970-01-01 01:00:00.000000000 +0100 -+++ ./lmmgr.c 2014-07-28 17:50:23.263838569 +0200 +--- /dev/null ++++ liblmdb/lmmgr.c @@ -0,0 +1,201 @@ +/* +lmmgr.c : Add, remove or manage the maxreaders value of a given database file @@ -335,11 +333,10 @@ diff -wruN -x '*~' -x '*.o' -x '*.a' -x '*.so' -x '*.so.[0-9]' -x autom4te.cache + + return 1; +} -diff -wruN -x '*~' -x '*.o' -x '*.a' -x '*.so' -x '*.so.[0-9]' -x autom4te.cache -x .deps -x .libs ../orig-liblmdb/Makefile.am ./Makefile.am ---- ../orig-liblmdb/Makefile.am 2014-07-28 17:44:34.137071474 +0200 -+++ ./Makefile.am 2014-07-28 17:58:11.979702178 +0200 -@@ -4,7 +4,7 @@ - AM_CFLAGS = -W -Wall -Wno-unused-parameter -Wbad-function-cast -pthread +--- liblmdb.orig/Makefile.am ++++ liblmdb/Makefile.am +@@ -5,7 +5,7 @@ AM_CFLAGS = -W -Wall -Wno-unused-paramet + AM_CPPFLAGS = -include config.h LDADD = liblmdb.la -bin_PROGRAMS = mdb_copy mdb_stat diff --git a/automake.diff b/automake.diff index 432dac9..7098a07 100644 --- a/automake.diff +++ b/automake.diff @@ -27,15 +27,14 @@ hoops. But it is a tie IMO, and so, the casting vote shall be the AM route. configure.ac | 13 +++++++++++++ 2 files changed, 29 insertions(+) -Index: liblmdb/Makefile.am -=================================================================== --- /dev/null +++ liblmdb/Makefile.am -@@ -0,0 +1,16 @@ +@@ -0,0 +1,17 @@ +# -*- Makefile -*- + +ACLOCAL_AMFLAGS = -I m4 +AM_CFLAGS = -W -Wall -Wno-unused-parameter -Wbad-function-cast -pthread ++AM_CPPFLAGS = -include config.h +LDADD = liblmdb.la + +bin_PROGRAMS = mdb_copy mdb_stat @@ -48,17 +47,17 @@ Index: liblmdb/Makefile.am + +clean-local: + rm -Rf testdb -Index: liblmdb/configure.ac -=================================================================== --- /dev/null +++ liblmdb/configure.ac -@@ -0,0 +1,13 @@ +@@ -0,0 +1,15 @@ +AC_INIT([liblmdb], [0.9.11], [http://symas.com/mdb/]) +AC_CONFIG_AUX_DIR([build-aux]) +AC_CONFIG_HEADERS([config.h]) +AC_CONFIG_MACRO_DIR([m4]) +AM_INIT_AUTOMAKE([-Wall foreign subdir-objects tar-pax]) -+AC_PROG_CC ++AC_USE_SYSTEM_EXTENSIONS ++AC_SYS_LARGEFILE ++AC_PROG_CC_STDC +AM_PROG_CC_C_O +m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])]) +m4_ifdef([AM_PROG_AR], [AM_PROG_AR]) diff --git a/liblmdb-implicit-decl.patch b/liblmdb-implicit-decl.patch new file mode 100644 index 0000000..c876067 --- /dev/null +++ b/liblmdb-implicit-decl.patch @@ -0,0 +1,10 @@ +--- liblmdb.orig/lmmgr.c ++++ liblmdb/lmmgr.c +@@ -3,6 +3,7 @@ lmmgr.c : Add, remove or manage the maxr + */ + #include + #include ++#include + #include "lmdb.h" + + static int report_error(int rc) diff --git a/lmdb.changes b/lmdb.changes index 95f1086..4cee602 100644 --- a/lmdb.changes +++ b/lmdb.changes @@ -1,3 +1,16 @@ +------------------------------------------------------------------- +Wed Sep 10 20:34:09 UTC 2014 - crrodriguez@opensuse.org + +- automake.diff changes: +* for autoconf tests to have effect, (like those in + 0001-Patch-for-LMDB-to-use-robust-mutexes.patch) config.h must be + included as first file in all C code. +* in 32 bit systems, ensure we support large databases. +* Switch the compiler to the current C standard, currently -std=gnu99 + in upcoming autoconf versions it is C11 though. +- liblmdb-implicit-decl.patch atol() requires stdlib.h +- Enable verbose build, rpmlint depends on that to work. + ------------------------------------------------------------------- Mon Jul 28 15:55:31 UTC 2014 - kkaempf@suse.com diff --git a/lmdb.spec b/lmdb.spec index 0156100..8d63207 100644 --- a/lmdb.spec +++ b/lmdb.spec @@ -30,6 +30,7 @@ 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 @@ -84,12 +85,14 @@ the liblmdb library. %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} +make %{?_smp_mflags} V=1 %install make install DESTDIR="%buildroot"