diff options
Diffstat (limited to 'net-misc/memcached/files')
-rw-r--r-- | net-misc/memcached/files/memcached-1.2.2-fbsd.patch | 12 | ||||
-rw-r--r-- | net-misc/memcached/files/memcached-1.4.0-fix-as-needed-linking.patch | 47 | ||||
-rw-r--r-- | net-misc/memcached/files/memcached-1.4.17-EWOULDBLOCK.patch | 21 | ||||
-rw-r--r-- | net-misc/memcached/files/memcached-1.4.4-as-needed.patch | 31 | ||||
-rw-r--r-- | net-misc/memcached/files/memcached.confd | 40 | ||||
-rw-r--r-- | net-misc/memcached/files/memcached.init2 | 90 | ||||
-rw-r--r-- | net-misc/memcached/files/memcached.service | 12 |
7 files changed, 253 insertions, 0 deletions
diff --git a/net-misc/memcached/files/memcached-1.2.2-fbsd.patch b/net-misc/memcached/files/memcached-1.2.2-fbsd.patch new file mode 100644 index 000000000000..76f237698cf7 --- /dev/null +++ b/net-misc/memcached/files/memcached-1.2.2-fbsd.patch @@ -0,0 +1,12 @@ +Index: memcached-1.2.2/memcached.h +=================================================================== +--- memcached-1.2.2.orig/memcached.h ++++ memcached-1.2.2/memcached.h +@@ -4,6 +4,7 @@ + #include "config.h" + #include <sys/types.h> + #include <sys/time.h> ++#include <sys/socket.h> + #include <netinet/in.h> + #include <event.h> + diff --git a/net-misc/memcached/files/memcached-1.4.0-fix-as-needed-linking.patch b/net-misc/memcached/files/memcached-1.4.0-fix-as-needed-linking.patch new file mode 100644 index 000000000000..d8a8ff295fc3 --- /dev/null +++ b/net-misc/memcached/files/memcached-1.4.0-fix-as-needed-linking.patch @@ -0,0 +1,47 @@ +Users that try to second-guess us and specify -DNDEBUG are just asking to cause +problems. They cause breakage with the testapp and -debug versions. + +So let's ensure that testapp and -debug use per-object compile flags, and thus +preventing flags leaking between stuff. The #undef at the top of testapp.c is +redundant now, but not removed. + +Signed-off-by: Robin H. Johnson <robbat2@gentoo.org> +X-Gentoo-Bug: 278780 +X-Gentoo-Bug-URL: https://bugs.gentoo.org/show_bug.cgi?id=278780 + +diff -Nuar memcached-1.4.0/testapp.c memcached-1.4.0/testapp.c +--- memcached-1.4.0/testapp.c 2009-07-09 09:43:42.000000000 -0700 ++++ memcached-1.4.0/testapp.c 2009-07-27 16:41:14.468907751 -0700 +@@ -115,12 +115,16 @@ + char old = *(p - 1); + *(p - 1) = 0; + cache_free(cache, p); ++#ifndef NDEBUG + assert(cache_error == -1); ++#endif + *(p - 1) = old; + + p[sizeof(uint32_t)] = 0; + cache_free(cache, p); ++#ifndef NDEBUG + assert(cache_error == 1); ++#endif + + /* restore signal handler */ + sigaction(SIGABRT, &old_action, NULL); +diff -Nuar memcached-1.4.0.orig/Makefile.am memcached-1.4.0/Makefile.am +--- memcached-1.4.0.orig/Makefile.am 2009-07-09 09:43:42.000000000 -0700 ++++ memcached-1.4.0/Makefile.am 2009-07-27 17:45:20.973106097 -0700 +@@ -27,8 +27,12 @@ + + memcached_debug_SOURCES = $(memcached_SOURCES) + memcached_CPPFLAGS = -DNDEBUG ++ + memcached_debug_LDADD = @PROFILER_LDFLAGS@ + memcached_debug_CFLAGS = @PROFILER_FLAGS@ ++memcached_debug_CPPFLAGS = -UNDEBUG ++ ++testapp_CPPFLAGS = -UNDEBUG + + memcached_LDADD = + memcached_DEPENDENCIES = diff --git a/net-misc/memcached/files/memcached-1.4.17-EWOULDBLOCK.patch b/net-misc/memcached/files/memcached-1.4.17-EWOULDBLOCK.patch new file mode 100644 index 000000000000..115c6bbc8633 --- /dev/null +++ b/net-misc/memcached/files/memcached-1.4.17-EWOULDBLOCK.patch @@ -0,0 +1,21 @@ +errno.h(0P): + EAGAIN Resource unavailable, try again (may be the same value as [EWOULDBLOCK]). + + [...] + + EWOULDBLOCK + Operation would block (may be the same value as [EAGAIN]). + + +--- a/testapp.c ++++ b/testapp.c +@@ -1840,6 +1840,9 @@ + switch (errno) { + case EINTR: + break; ++#if (EAGAIN != EWOULDBLOCK) ++ case EAGAIN: ++#endif + case ENOMEM: + case EWOULDBLOCK: + more = false;
\ No newline at end of file diff --git a/net-misc/memcached/files/memcached-1.4.4-as-needed.patch b/net-misc/memcached/files/memcached-1.4.4-as-needed.patch new file mode 100644 index 000000000000..f6e5cde11057 --- /dev/null +++ b/net-misc/memcached/files/memcached-1.4.4-as-needed.patch @@ -0,0 +1,31 @@ +diff -Nuar memcached-1.4.4.orig/configure.ac memcached-1.4.4/configure.ac +--- memcached-1.4.4.orig/configure.ac 2009-11-24 16:40:29.000000000 -0800 ++++ memcached-1.4.4/configure.ac 2009-11-27 15:20:38.000000000 -0800 +@@ -115,6 +115,14 @@ + AC_SUBST(ENABLE_SASL) + AC_SUBST(PROFILER_LDFLAGS) + ++dnl Check whether the user's system supports pthread before adding -pthread to CFLAGS ++dnl otherwise we won't get -l{threads} in LIBS ++dnl AFAIK -pthread should be added to LDFLAGS on BSD systems ++AC_SEARCH_LIBS(pthread_create, [pthread pthreads thread threads] ) ++if test "x$ac_cv_search_pthread_create" == "xno"; then ++ AC_MSG_ERROR([Can't enable threads without the POSIX thread library.]) ++fi ++ + AC_ARG_ENABLE(coverage, + [AS_HELP_STRING([--disable-coverage],[Disable code coverage])]) + +@@ -376,12 +384,6 @@ + + AC_C_HTONLL + +-dnl Check whether the user's system supports pthread +-AC_SEARCH_LIBS(pthread_create, pthread) +-if test "x$ac_cv_search_pthread_create" = "xno"; then +- AC_MSG_ERROR([Can't enable threads without the POSIX thread library.]) +-fi +- + AC_CHECK_FUNCS(mlockall) + AC_CHECK_FUNCS(getpagesizes) + AC_CHECK_FUNCS(memcntl) diff --git a/net-misc/memcached/files/memcached.confd b/net-misc/memcached/files/memcached.confd new file mode 100644 index 000000000000..aad80780e759 --- /dev/null +++ b/net-misc/memcached/files/memcached.confd @@ -0,0 +1,40 @@ +# memcached config file + +MEMCACHED_BINARY="/usr/bin/memcached" + +# Specify memory usage in megabytes (do not use letters) +# 64MB is default +MEMUSAGE="64" + +# User to run as +MEMCACHED_RUNAS="memcached" + +# Specify maximum number of concurrent connections +# 1024 is default +MAXCONN="1024" + +# Listen for connections on what address? +# If this is empty, memcached will listen on 0.0.0.0 +# be sure you have a firewall in place! +LISTENON="" + +# Listen for connections on what port? +PORT="11211" + +# Listen for UDP connecitons on what port? 0 means turn off UDP +UDPPORT="${PORT}" + +# PID file location +# '-${PORT}.${CONF}.pid' will be appended to this! +# You do not normally need to change this. +PIDBASE="/var/run/memcached/memcached" + +# Socket to listen on +#SOCKET="/var/run/memcached/memcached.sock" + +# Socket mask +# 0700 is default +#SOCKET_MASK="0700" + +# Other Options +MISC_OPTS="" diff --git a/net-misc/memcached/files/memcached.init2 b/net-misc/memcached/files/memcached.init2 new file mode 100644 index 000000000000..4bdfec6b945c --- /dev/null +++ b/net-misc/memcached/files/memcached.init2 @@ -0,0 +1,90 @@ +#!/sbin/openrc-run + +CONF="${SVCNAME#*.}" +CONFBASE="/etc/conf.d/memcached" + +[ -z "${PIDBASE}" ] && PIDBASE="/run/memcached/memcached" +[ "${CONF}" = "memcached" ] && CONF='' + +if [ -n "${CONF}" ]; then + PIDFILE="${PIDBASE}.${CONF}.pid" + CONFSRC="${CONFBASE}.${CONF}" + if [ -f "${CONFSRC}" ]; then + source "${CONFSRC}" + else + eerror "The configuration file $CONFSRC was not found!" + fi +else + PIDFILE="${PIDBASE}.pid" + CONFSRC="${CONFBASE}" +fi + +depend() { + # per bug #269022, accurate time is important for memcached! + # We include the full list of ways it might be set on boot. + after ntp-client ntpd rdate openrdate adjtimex hwclock +} + +checkconfig() { + if [ -z "${LISTENON}" ] && [ -z "${SOCKET}" ]; then + ewarn "You should edit $CONFSRC and specify an address or socket to listen on." + ewarn "Listening on any address (check your firewall!)" + fi +} + +start() { + if [ -n "${CONF}" ]; then + ebegin "Starting memcached (${CONF})" + else + ebegin "Starting memcached" + fi + checkconfig + local dir="$(dirname ${PIDFILE})" + if [ ! -d "${dir}" ]; then + einfo " Creating ${dir}" + mkdir -p "${dir}" + fi + + chown ${MEMCACHED_RUNAS} "${dir}" + if [ -f "${PIDFILE}" ]; then + einfo " Removing stale pidfile ${PIDFILE}" + rm -f "${PIDFILE}" 1>/dev/null + fi + + + if [ -n "${SOCKET}" ]; then + CONNECTION="-s ${SOCKET}" + + if [ -n "${SOCKET_MASK}" ]; then + CONNECTION="${CONNECTION} -a ${SOCKET_MASK}" + fi + else + CONNECTION="-p ${PORT} -U ${UDPPORT}" + + if [ -n "${LISTENON}" ]; then + CONNECTION="${CONNECTION} -l ${LISTENON}" + fi + fi + + /sbin/start-stop-daemon --start --pidfile "${PIDFILE}" \ + --exec "${MEMCACHED_BINARY}" -- \ + -d ${CONNECTION} -m ${MEMUSAGE} \ + -c ${MAXCONN} -u ${MEMCACHED_RUNAS} -P "${PIDFILE}" \ + ${MISC_OPTS} + + eend $? +} + +stop() { + if [ -n "${CONF}" ]; then + ebegin "Stopping memcached (${CONF})" + else + ebegin "Stopping memcached" + fi + + start-stop-daemon --stop --quiet --pidfile "${PIDFILE}" + + rm -f "${PIDFILE}" + + eend $? +} diff --git a/net-misc/memcached/files/memcached.service b/net-misc/memcached/files/memcached.service new file mode 100644 index 000000000000..f51fd1f35730 --- /dev/null +++ b/net-misc/memcached/files/memcached.service @@ -0,0 +1,12 @@ +[Unit] +After=network.target +Description=High-performance, distributed memory object caching system +Documentation=man:memcached(1) +Documentation=http://code.google.com/p/memcached/ + +[Service] +ExecStart=/usr/bin/memcached +User=memcached + +[Install] +WantedBy=multi-user.target |