Tue, 28 Aug 2012 18:35:45 +0200
Update version, modernize packaging, correct considereable portability
flaws, correct typical german english grammar errors, and worst of all
correct detection of builtin GCC atomic primitives sync_sub_and_fetch
by forcing the detecting function to return the return value which seems
to cause GCC to fail for unknown reasons.
memcached/memcached.patch | file | annotate | diff | comparison | revisions | |
memcached/memcached.spec | file | annotate | diff | comparison | revisions |
1.1 --- a/memcached/memcached.patch Tue Aug 28 18:35:40 2012 +0200 1.2 +++ b/memcached/memcached.patch Tue Aug 28 18:35:45 2012 +0200 1.3 @@ -1,62 +1,27 @@ 1.4 -Index: libmemcached-0.48/Makefile.in 1.5 ---- libmemcached-0.48/Makefile.in.orig 2011-03-16 04:40:31.000000000 +0100 1.6 -+++ libmemcached-0.48/Makefile.in 2011-03-18 18:43:52.000000000 +0100 1.7 -@@ -95,10 +95,7 @@ 1.8 - clients/memerror$(EXEEXT) clients/memflush$(EXEEXT) \ 1.9 - clients/memrm$(EXEEXT) clients/memstat$(EXEEXT) \ 1.10 - $(am__EXEEXT_1) 1.11 --noinst_PROGRAMS = tests/atomsmasher$(EXEEXT) tests/hashplus$(EXEEXT) \ 1.12 -- tests/memplus$(EXEEXT) tests/startservers$(EXEEXT) \ 1.13 -- tests/testapp$(EXEEXT) tests/testhashkit$(EXEEXT) \ 1.14 -- tests/testplus$(EXEEXT) tests/testudp$(EXEEXT) $(am__EXEEXT_3) 1.15 -+noinst_PROGRAMS = 1.16 - check_PROGRAMS = $(am__EXEEXT_2) 1.17 - @BUILD_DOCS_TRUE@am__append_1 = test-docs 1.18 - DIST_COMMON = README $(am__configure_deps) \ 1.19 -@@ -138,7 +135,7 @@ 1.20 - @DTRACE_NEEDS_OBJECTS_TRUE@am__append_13 = libmemcached/libmemcached_probes.o 1.21 - @DTRACE_NEEDS_OBJECTS_TRUE@am__append_14 = libmemcached/libmemcached_probes.o 1.22 - @HAVE_SASL_TRUE@am__append_15 = $(LIBSASL) 1.23 --@BUILD_WIN32_WRAPPERS_FALSE@@HAVE_LIBEVENT_TRUE@am__append_16 = clients/memslap 1.24 -+@BUILD_WIN32_WRAPPERS_FALSE@@HAVE_LIBEVENT_TRUE@am__append_16 = 1.25 - @BUILD_BYTEORDER_TRUE@am__append_17 = libmemcached/libbyteorder.la 1.26 - @INCLUDE_HSIEH_SRC_TRUE@am__append_18 = libhashkit/hsieh.c 1.27 - @INCLUDE_MURMUR_SRC_TRUE@am__append_19 = libhashkit/murmur.c 1.28 -@@ -409,7 +406,7 @@ 1.29 - libtest_libtest_la_LIBADD = 1.30 - am_libtest_libtest_la_OBJECTS = libtest/test.lo 1.31 - libtest_libtest_la_OBJECTS = $(am_libtest_libtest_la_OBJECTS) 1.32 --@BUILD_WIN32_WRAPPERS_FALSE@@HAVE_LIBEVENT_TRUE@am__EXEEXT_1 = clients/memslap$(EXEEXT) 1.33 -+@BUILD_WIN32_WRAPPERS_FALSE@@HAVE_LIBEVENT_TRUE@am__EXEEXT_1 = 1.34 - @HAVE_LIBGTEST_TRUE@am__EXEEXT_2 = unittests/unittests$(EXEEXT) 1.35 - @HAVE_LIBEVENT_TRUE@am__EXEEXT_3 = example/memcached_light$(EXEEXT) 1.36 - PROGRAMS = $(bin_PROGRAMS) $(noinst_PROGRAMS) 1.37 -Index: libmemcached-0.48/configure 1.38 ---- libmemcached-0.48/configure.orig 2011-03-16 04:40:33.000000000 +0100 1.39 -+++ libmemcached-0.48/configure 2011-03-18 18:43:13.000000000 +0100 1.40 -@@ -17719,8 +17719,8 @@ 1.41 - 1.42 - fi 1.43 - 1.44 -- CC_WARNINGS="${BASE_WARNINGS} -Wstrict-prototypes -Wmissing-prototypes -Wredundant-decls -Wmissing-declarations -Wcast-align ${CC_WARNINGS_FULL}" 1.45 -- CXX_WARNINGS="${BASE_WARNINGS} -Woverloaded-virtual -Wnon-virtual-dtor -Wctor-dtor-privacy -Wno-long-long ${CXX_WARNINGS_FULL}" 1.46 -+ CC_WARNINGS="${BASE_WARNINGS} ${CC_WARNINGS_FULL}" 1.47 -+ CXX_WARNINGS="${BASE_WARNINGS} -Wnon-virtual-dtor -Wno-long-long ${CXX_WARNINGS_FULL}" 1.48 - 1.49 - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether it is safe to use -Wmissing-declarations from C++" >&5 1.50 - $as_echo_n "checking whether it is safe to use -Wmissing-declarations from C++... " >&6; } 1.51 -Index: libmemcached-0.48/support/libmemcached.pc.in 1.52 ---- libmemcached-0.48/support/libmemcached.pc.in.orig 2011-02-22 05:06:22.000000000 +0100 1.53 -+++ libmemcached-0.48/support/libmemcached.pc.in 2011-03-18 18:43:13.000000000 +0100 1.54 -@@ -8,3 +8,4 @@ 1.55 +Index: libmemcached-1.0.10/Makefile.in 1.56 +--- libmemcached-1.0.10/Makefile.in.orig 2012-07-31 07:05:24.000000000 +0200 1.57 ++++ libmemcached-1.0.10/Makefile.in 2012-08-01 18:22:44.000000000 +0200 1.58 +@@ -868,7 +868,7 @@ 1.59 + @BUILD_MEMASLAP_TRUE@@BUILD_WIN32_WRAPPERS_FALSE@@HAVE_LIBEVENT_TRUE@am__EXEEXT_1 = clients/memaslap$(EXEEXT) 1.60 + @HAVE_LIBEVENT_TRUE@am__EXEEXT_2 = example/memcached_light$(EXEEXT) 1.61 + @HAVE_LIBEVENT_TRUE@am__EXEEXT_3 = memcached/memcached$(EXEEXT) 1.62 +-PROGRAMS = $(bin_PROGRAMS) $(noinst_PROGRAMS) 1.63 ++PROGRAMS = $(bin_PROGRAMS) 1.64 + am_clients_memaslap_OBJECTS = clients/memaslap.$(OBJEXT) \ 1.65 + clients/ms_conn.$(OBJEXT) clients/ms_setting.$(OBJEXT) \ 1.66 + clients/ms_sigsegv.$(OBJEXT) clients/ms_stats.$(OBJEXT) \ 1.67 +Index: libmemcached-1.0.10/support/libmemcached.pc.in 1.68 +--- libmemcached-1.0.10/support/libmemcached.pc.in.orig 2012-07-31 07:04:00.000000000 +0200 1.69 ++++ libmemcached-1.0.10/support/libmemcached.pc.in 2012-08-01 17:56:52.000000000 +0200 1.70 +@@ -9,3 +9,4 @@ 1.71 Version: @VERSION@ 1.72 - Libs: @LTLIBSASL@ @LTLIBSASL2@ -L${libdir} -lmemcached 1.73 + Libs: -L${libdir} -lmemcached -lmemcachedutil 1.74 Cflags: -I${includedir} 1.75 +Requires: libevent sasl 1.76 -Index: memcached-1.4.6/configure 1.77 ---- memcached-1.4.6/configure.orig 2010-04-03 23:26:12.000000000 +0200 1.78 -+++ memcached-1.4.6/configure 2011-03-18 18:43:13.000000000 +0100 1.79 -@@ -7914,7 +7914,6 @@ 1.80 +Index: memcached-1.4.14/configure 1.81 +--- memcached-1.4.14/configure.orig 2012-07-30 22:56:58.000000000 +0200 1.82 ++++ memcached-1.4.14/configure 2012-08-01 17:56:52.000000000 +0200 1.83 +@@ -6261,7 +6261,6 @@ 1.84 elif test "$GCC" = "yes" 1.85 then 1.86 GCC_VERSION=`$CC -dumpversion` 1.87 @@ -64,10 +29,22 @@ 1.88 case $GCC_VERSION in 1.89 4.4.*) 1.90 CFLAGS="$CFLAGS -fno-strict-aliasing" 1.91 -Index: memcached-1.4.6/thread.c 1.92 ---- memcached-1.4.6/thread.c.orig 2010-04-03 09:07:16.000000000 +0200 1.93 -+++ memcached-1.4.6/thread.c 2011-03-18 18:43:13.000000000 +0100 1.94 -@@ -602,6 +602,7 @@ 1.95 +Index: memcached-1.4.14/sasl_defs.c 1.96 +--- memcached-1.4.14/sasl_defs.c.orig 2012-02-02 07:01:29.000000000 +0100 1.97 ++++ memcached-1.4.14/sasl_defs.c 2012-08-01 17:56:52.000000000 +0200 1.98 +@@ -148,7 +148,7 @@ 1.99 + { SASL_CB_SERVER_USERDB_CHECKPASS, sasl_server_userdb_checkpass, NULL }, 1.100 + #endif 1.101 + 1.102 +- { SASL_CB_LOG, (sasl_callback_ft)sasl_log, NULL }, 1.103 ++ { SASL_CB_LOG, sasl_log, NULL }, 1.104 + 1.105 + #ifdef HAVE_SASL_CB_GETCONF 1.106 + { SASL_CB_GETCONF, sasl_getconf, NULL }, 1.107 +Index: memcached-1.4.14/thread.c 1.108 +--- memcached-1.4.14/thread.c.orig 2012-07-30 22:28:21.000000000 +0200 1.109 ++++ memcached-1.4.14/thread.c 2012-08-01 17:56:52.000000000 +0200 1.110 +@@ -703,6 +703,7 @@ 1.111 perror("Can't allocate thread descriptors"); 1.112 exit(1); 1.113 } 1.114 @@ -75,14 +52,3 @@ 1.115 1.116 dispatcher_thread.base = main_base; 1.117 dispatcher_thread.thread_id = pthread_self(); 1.118 -Index: libmemcache-1.4.0.rc2/src/buffer.c 1.119 ---- libmemcache-1.4.0.rc2/src/buffer.c.orig 2009-11-25 18:36:18.468286813 +0100 1.120 -+++ libmemcache-1.4.0.rc2/src/buffer.c 2009-11-25 18:36:20.700402681 +0100 1.121 -@@ -36,6 +36,7 @@ 1.122 - #include <sys/uio.h> 1.123 - #include <unistd.h> 1.124 - #include <sys/errno.h> 1.125 -+#include <errno.h> 1.126 - 1.127 - #include "memcache/buffer.h" 1.128 -
2.1 --- a/memcached/memcached.spec Tue Aug 28 18:35:40 2012 +0200 2.2 +++ b/memcached/memcached.spec Tue Aug 28 18:35:45 2012 +0200 2.3 @@ -22,8 +22,8 @@ 2.4 ## 2.5 2.6 # package versions 2.7 -%define V_memcached 1.4.6 2.8 -%define V_libmemcached 0.48 2.9 +%define V_memcached 1.4.14 2.10 +%define V_libmemcached 1.0.10 2.11 %define V_cache_memcached 1.28 2.12 2.13 # package information 2.14 @@ -37,7 +37,7 @@ 2.15 Group: System 2.16 License: GPL 2.17 Version: %{V_memcached} 2.18 -Release: 20110914 2.19 +Release: 20120800 2.20 2.21 # list of sources 2.22 Source0: http://memcached.googlecode.com/files/memcached-%{V_memcached}.tar.gz 2.23 @@ -47,17 +47,13 @@ 2.24 Patch0: memcached.patch 2.25 2.26 # build information 2.27 -Prefix: %{l_prefix} 2.28 -BuildRoot: %{l_buildroot} 2.29 -BuildPreReq: OpenPKG, openpkg >= 20060823, gcc, make, perl, perl-openpkg 2.30 -PreReq: OpenPKG, openpkg >= 20060823 2.31 -BuildPreReq: libevent, sasl 2.32 -PreReq: libevent, sasl 2.33 -AutoReq: no 2.34 -AutoReqProv: no 2.35 +BuildPreReq: OpenPKG, openpkg >= 20100101, gcc, make, perl, perl-openpkg 2.36 +PreReq: OpenPKG, openpkg >= 20100101 2.37 +BuildPreReq: libevent, sasl, libexecinfo 2.38 +PreReq: libevent, sasl, libexecinfo 2.39 2.40 %description 2.41 - Memcached is a high-performance, distributed memory object caching 2.42 + Memcached is a high performance, distributed memory object caching 2.43 system, generic in nature, but intended for use in speeding up 2.44 dynamic web applications by alleviating database load. Additionally, 2.45 this package contains Perl and C client APIs to memcached. 2.46 @@ -85,6 +81,9 @@ 2.47 %setup -q -T -D -a 2 2.48 %patch -p0 2.49 %{l_shtool} subst \ 2.50 + -e 's/b = \(__sync_sub_and_fetch(\&a, 2);\)/return \1/' \ 2.51 + memcached-%{V_memcached}/configure 2.52 + %{l_shtool} subst \ 2.53 -e 's; *-Werror;;g' \ 2.54 memcached-%{V_memcached}/configure 2.55 %{l_shtool} subst \ 2.56 @@ -114,11 +113,19 @@ 2.57 2.58 # build C client API 2.59 ( cd libmemcached-%{V_libmemcached} 2.60 + ( echo "ac_cv_func_malloc_0_nonnull=yes" 2.61 + echo "ac_cv_func_realloc_0_nonnull=yes" 2.62 + echo "ac_cv_env_CXXFLAGS_set=barf" 2.63 + echo "ac_cv_env_CFLAGS_set=barf" 2.64 + echo "ac_cv_header_priv_h=no" 2.65 + echo "ac_cv_header_umem_h=no" 2.66 + ) >config.cache 2.67 CC="%{l_cc}" \ 2.68 CFLAGS="%{l_cflags -O}" \ 2.69 CPPFLAGS="%{l_cppflags}" \ 2.70 LDFLAGS="%{l_ldflags}" \ 2.71 ./configure \ 2.72 + --cache-file=./config.cache \ 2.73 --prefix=%{l_prefix} \ 2.74 --mandir=%{l_prefix}/man \ 2.75 --without-memcached \ 2.76 @@ -136,9 +143,6 @@ 2.77 %{l_prefix}/bin/perl-openpkg -d Cache-Memcached-%{V_cache_memcached} configure build 2.78 2.79 %install 2.80 - # remove build cruft 2.81 - rm -rf $RPM_BUILD_ROOT 2.82 - 2.83 # install daemon 2.84 ( cd memcached-%{V_memcached} 2.85 %{l_shtool} mkdir -f -p -m 775 \ 2.86 @@ -152,20 +156,30 @@ 2.87 2.88 # install C client API 2.89 ( cd libmemcached-%{V_libmemcached} 2.90 - %{l_make} %{l_mflags} install AM_MAKEFLAGS="DESTDIR=$RPM_BUILD_ROOT" 2.91 + %{l_make} %{l_mflags} install DESTDIR="$RPM_BUILD_ROOT" 2.92 + ) || exit $? 2.93 + 2.94 + # correct header names and references 2.95 + ( cd $RPM_BUILD_ROOT%{l_prefix}/include 2.96 + mv libmemcachedutil-[0-9]* libmemcachedutil 2.97 + mv libmemcachedprotocol-[0-9]* libmemcachedprotocol 2.98 + rm -rf libhashkit && mv libhashkit-[0-9]* libhashkit 2.99 + rm -rf libmemcached && mv libmemcached-[0-9]* libmemcached 2.100 + find . -type f -print | xargs %{l_shtool} subst \ 2.101 + -e 's;\(#include <lib[^\-][^\-]*\)-[0-9\.][0-9\.]*;\1;g' 2.102 ) || exit $? 2.103 2.104 # install Perl client API 2.105 %{l_prefix}/bin/perl-openpkg -d Cache-Memcached-%{V_cache_memcached} install 2.106 %{l_prefix}/bin/perl-openpkg -F perl-openpkg-files fixate cleanup 2.107 2.108 - # install daemon run-command script 2.109 + # install daemon runcommand script 2.110 %{l_shtool} mkdir -f -p -m 755 \ 2.111 $RPM_BUILD_ROOT%{l_prefix}/etc/rc.d 2.112 %{l_shtool} install -c -m 755 %{l_value -s -a} \ 2.113 %{SOURCE rc.memcached} $RPM_BUILD_ROOT%{l_prefix}/etc/rc.d/ 2.114 2.115 - # install daemon run-command script 2.116 + # create directory hierarchy for daemon 2.117 %{l_shtool} mkdir -f -p -m 755 \ 2.118 $RPM_BUILD_ROOT%{l_prefix}/var/memcached 2.119 2.120 @@ -177,7 +191,6 @@ 2.121 %files -f files 2.122 2.123 %clean 2.124 - rm -rf $RPM_BUILD_ROOT 2.125 2.126 %post 2.127 # after upgrade, restart service