Fri, 03 Aug 2012 20:11:53 +0200
Neutralize buggy code causing OpenPKG to have 'fatal problems' in
spite of correct installation, configuration, and operation. An
administrator suffering from this failure is even unable to
uninstall the flawed software.
1 Index: libmemcached-0.48/Makefile.in
2 --- libmemcached-0.48/Makefile.in.orig 2011-03-16 04:40:31.000000000 +0100
3 +++ libmemcached-0.48/Makefile.in 2011-03-18 18:43:52.000000000 +0100
4 @@ -95,10 +95,7 @@
5 clients/memerror$(EXEEXT) clients/memflush$(EXEEXT) \
6 clients/memrm$(EXEEXT) clients/memstat$(EXEEXT) \
7 $(am__EXEEXT_1)
8 -noinst_PROGRAMS = tests/atomsmasher$(EXEEXT) tests/hashplus$(EXEEXT) \
9 - tests/memplus$(EXEEXT) tests/startservers$(EXEEXT) \
10 - tests/testapp$(EXEEXT) tests/testhashkit$(EXEEXT) \
11 - tests/testplus$(EXEEXT) tests/testudp$(EXEEXT) $(am__EXEEXT_3)
12 +noinst_PROGRAMS =
13 check_PROGRAMS = $(am__EXEEXT_2)
14 @BUILD_DOCS_TRUE@am__append_1 = test-docs
15 DIST_COMMON = README $(am__configure_deps) \
16 @@ -138,7 +135,7 @@
17 @DTRACE_NEEDS_OBJECTS_TRUE@am__append_13 = libmemcached/libmemcached_probes.o
18 @DTRACE_NEEDS_OBJECTS_TRUE@am__append_14 = libmemcached/libmemcached_probes.o
19 @HAVE_SASL_TRUE@am__append_15 = $(LIBSASL)
20 -@BUILD_WIN32_WRAPPERS_FALSE@@HAVE_LIBEVENT_TRUE@am__append_16 = clients/memslap
21 +@BUILD_WIN32_WRAPPERS_FALSE@@HAVE_LIBEVENT_TRUE@am__append_16 =
22 @BUILD_BYTEORDER_TRUE@am__append_17 = libmemcached/libbyteorder.la
23 @INCLUDE_HSIEH_SRC_TRUE@am__append_18 = libhashkit/hsieh.c
24 @INCLUDE_MURMUR_SRC_TRUE@am__append_19 = libhashkit/murmur.c
25 @@ -409,7 +406,7 @@
26 libtest_libtest_la_LIBADD =
27 am_libtest_libtest_la_OBJECTS = libtest/test.lo
28 libtest_libtest_la_OBJECTS = $(am_libtest_libtest_la_OBJECTS)
29 -@BUILD_WIN32_WRAPPERS_FALSE@@HAVE_LIBEVENT_TRUE@am__EXEEXT_1 = clients/memslap$(EXEEXT)
30 +@BUILD_WIN32_WRAPPERS_FALSE@@HAVE_LIBEVENT_TRUE@am__EXEEXT_1 =
31 @HAVE_LIBGTEST_TRUE@am__EXEEXT_2 = unittests/unittests$(EXEEXT)
32 @HAVE_LIBEVENT_TRUE@am__EXEEXT_3 = example/memcached_light$(EXEEXT)
33 PROGRAMS = $(bin_PROGRAMS) $(noinst_PROGRAMS)
34 Index: libmemcached-0.48/configure
35 --- libmemcached-0.48/configure.orig 2011-03-16 04:40:33.000000000 +0100
36 +++ libmemcached-0.48/configure 2011-03-18 18:43:13.000000000 +0100
37 @@ -17719,8 +17719,8 @@
39 fi
41 - CC_WARNINGS="${BASE_WARNINGS} -Wstrict-prototypes -Wmissing-prototypes -Wredundant-decls -Wmissing-declarations -Wcast-align ${CC_WARNINGS_FULL}"
42 - CXX_WARNINGS="${BASE_WARNINGS} -Woverloaded-virtual -Wnon-virtual-dtor -Wctor-dtor-privacy -Wno-long-long ${CXX_WARNINGS_FULL}"
43 + CC_WARNINGS="${BASE_WARNINGS} ${CC_WARNINGS_FULL}"
44 + CXX_WARNINGS="${BASE_WARNINGS} -Wnon-virtual-dtor -Wno-long-long ${CXX_WARNINGS_FULL}"
46 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether it is safe to use -Wmissing-declarations from C++" >&5
47 $as_echo_n "checking whether it is safe to use -Wmissing-declarations from C++... " >&6; }
48 Index: libmemcached-0.48/support/libmemcached.pc.in
49 --- libmemcached-0.48/support/libmemcached.pc.in.orig 2011-02-22 05:06:22.000000000 +0100
50 +++ libmemcached-0.48/support/libmemcached.pc.in 2011-03-18 18:43:13.000000000 +0100
51 @@ -8,3 +8,4 @@
52 Version: @VERSION@
53 Libs: @LTLIBSASL@ @LTLIBSASL2@ -L${libdir} -lmemcached
54 Cflags: -I${includedir}
55 +Requires: libevent sasl
56 Index: memcached-1.4.6/configure
57 --- memcached-1.4.6/configure.orig 2010-04-03 23:26:12.000000000 +0200
58 +++ memcached-1.4.6/configure 2011-03-18 18:43:13.000000000 +0100
59 @@ -7914,7 +7914,6 @@
60 elif test "$GCC" = "yes"
61 then
62 GCC_VERSION=`$CC -dumpversion`
63 - CFLAGS="$CFLAGS -Wall -Werror -pedantic -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls"
64 case $GCC_VERSION in
65 4.4.*)
66 CFLAGS="$CFLAGS -fno-strict-aliasing"
67 Index: memcached-1.4.6/thread.c
68 --- memcached-1.4.6/thread.c.orig 2010-04-03 09:07:16.000000000 +0200
69 +++ memcached-1.4.6/thread.c 2011-03-18 18:43:13.000000000 +0100
70 @@ -602,6 +602,7 @@
71 perror("Can't allocate thread descriptors");
72 exit(1);
73 }
74 + memset(threads, 0, sizeof(LIBEVENT_THREAD) * nthreads);
76 dispatcher_thread.base = main_base;
77 dispatcher_thread.thread_id = pthread_self();
78 Index: libmemcache-1.4.0.rc2/src/buffer.c
79 --- libmemcache-1.4.0.rc2/src/buffer.c.orig 2009-11-25 18:36:18.468286813 +0100
80 +++ libmemcache-1.4.0.rc2/src/buffer.c 2009-11-25 18:36:20.700402681 +0100
81 @@ -36,6 +36,7 @@
82 #include <sys/uio.h>
83 #include <unistd.h>
84 #include <sys/errno.h>
85 +#include <errno.h>
87 #include "memcache/buffer.h"