summaryrefslogtreecommitdiffstats
path: root/debian/patches
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--debian/patches/0001-Fix-FTBFS-on-kFreeBSD.patch21
-rw-r--r--debian/patches/0002-Add-CPPFLAGS-to-upstream-makefiles.patch49
-rw-r--r--debian/patches/0003-Use-get_current_dir_name-over-PATHMAX.patch53
-rw-r--r--debian/patches/0004-Add-support-for-USE_SYSTEM_JEMALLOC-flag.patch139
-rw-r--r--debian/patches/debian-packaging/0001-Set-Debian-configuration-defaults.patch93
-rw-r--r--debian/patches/series5
6 files changed, 360 insertions, 0 deletions
diff --git a/debian/patches/0001-Fix-FTBFS-on-kFreeBSD.patch b/debian/patches/0001-Fix-FTBFS-on-kFreeBSD.patch
new file mode 100644
index 0000000..a256471
--- /dev/null
+++ b/debian/patches/0001-Fix-FTBFS-on-kFreeBSD.patch
@@ -0,0 +1,21 @@
+From: Chris Lamb <lamby@debian.org>
+Date: Fri, 30 Oct 2015 10:53:42 +0000
+Subject: Fix FTBFS on kFreeBSD
+
+---
+ src/fmacros.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/fmacros.h b/src/fmacros.h
+index a97d21a..4b2d895 100644
+--- a/src/fmacros.h
++++ b/src/fmacros.h
+@@ -41,7 +41,7 @@
+ #define _ALL_SOURCE
+ #endif
+
+-#if defined(__linux__) || defined(__OpenBSD__)
++#if defined(__linux__) || defined(__OpenBSD__) || defined(__GLIBC__)
+ #define _XOPEN_SOURCE 700
+ /*
+ * On NetBSD, _XOPEN_SOURCE undefines _NETBSD_SOURCE and
diff --git a/debian/patches/0002-Add-CPPFLAGS-to-upstream-makefiles.patch b/debian/patches/0002-Add-CPPFLAGS-to-upstream-makefiles.patch
new file mode 100644
index 0000000..0130606
--- /dev/null
+++ b/debian/patches/0002-Add-CPPFLAGS-to-upstream-makefiles.patch
@@ -0,0 +1,49 @@
+From: Chris Lamb <lamby@debian.org>
+Date: Fri, 30 Oct 2015 10:53:42 +0000
+Subject: Add CPPFLAGS to upstream makefiles
+
+---
+ deps/hdr_histogram/Makefile | 2 +-
+ deps/linenoise/Makefile | 2 +-
+ src/Makefile | 2 +-
+ 3 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/deps/hdr_histogram/Makefile b/deps/hdr_histogram/Makefile
+index 28dd93e..3a6413e 100644
+--- a/deps/hdr_histogram/Makefile
++++ b/deps/hdr_histogram/Makefile
+@@ -2,7 +2,7 @@ STD= -std=c99
+ WARN= -Wall
+ OPT= -Os
+
+-R_CFLAGS= $(STD) $(WARN) $(OPT) $(DEBUG) $(CFLAGS) -DHDR_MALLOC_INCLUDE=\"hdr_redis_malloc.h\"
++R_CFLAGS= $(STD) $(WARN) $(OPT) $(DEBUG) $(CFLAGS) $(CPPFLAGS) -DHDR_MALLOC_INCLUDE=\"hdr_redis_malloc.h\"
+ R_LDFLAGS= $(LDFLAGS)
+ DEBUG= -g
+
+diff --git a/deps/linenoise/Makefile b/deps/linenoise/Makefile
+index 1dd894b..12ada21 100644
+--- a/deps/linenoise/Makefile
++++ b/deps/linenoise/Makefile
+@@ -6,7 +6,7 @@ R_CFLAGS= $(STD) $(WARN) $(OPT) $(DEBUG) $(CFLAGS)
+ R_LDFLAGS= $(LDFLAGS)
+ DEBUG= -g
+
+-R_CC=$(CC) $(R_CFLAGS)
++R_CC=$(CC) $(R_CFLAGS) $(CPPFLAGS)
+ R_LD=$(CC) $(R_LDFLAGS)
+
+ linenoise.o: linenoise.h linenoise.c
+diff --git a/src/Makefile b/src/Makefile
+index e4f7d90..391fdbc 100644
+--- a/src/Makefile
++++ b/src/Makefile
+@@ -296,7 +296,7 @@ else
+ endef
+ endif
+
+-REDIS_CC=$(QUIET_CC)$(CC) $(FINAL_CFLAGS)
++REDIS_CC=$(QUIET_CC)$(CC) $(FINAL_CFLAGS) $(CPPFLAGS)
+ REDIS_LD=$(QUIET_LINK)$(CC) $(FINAL_LDFLAGS)
+ REDIS_INSTALL=$(QUIET_INSTALL)$(INSTALL)
+
diff --git a/debian/patches/0003-Use-get_current_dir_name-over-PATHMAX.patch b/debian/patches/0003-Use-get_current_dir_name-over-PATHMAX.patch
new file mode 100644
index 0000000..0b97ebd
--- /dev/null
+++ b/debian/patches/0003-Use-get_current_dir_name-over-PATHMAX.patch
@@ -0,0 +1,53 @@
+From: Chris Lamb <lamby@debian.org>
+Date: Wed, 24 Jan 2018 22:06:35 +1100
+Subject: Use get_current_dir_name over PATHMAX, etc.
+
+---
+ src/rdb.c | 7 ++++---
+ 1 file changed, 4 insertions(+), 3 deletions(-)
+
+diff --git a/src/rdb.c b/src/rdb.c
+index 710e04f..4039954 100644
+--- a/src/rdb.c
++++ b/src/rdb.c
+@@ -1392,7 +1392,6 @@ werr: /* Write error. */
+ /* Save the DB on disk. Return C_ERR on error, C_OK on success. */
+ int rdbSave(int req, char *filename, rdbSaveInfo *rsi) {
+ char tmpfile[256];
+- char cwd[MAXPATHLEN]; /* Current working dir path for error messages. */
+ FILE *fp = NULL;
+ rio rdb;
+ int error = 0;
+@@ -1402,13 +1401,14 @@ int rdbSave(int req, char *filename, rdbSaveInfo *rsi) {
+ fp = fopen(tmpfile,"w");
+ if (!fp) {
+ char *str_err = strerror(errno);
+- char *cwdp = getcwd(cwd,MAXPATHLEN);
++ char *cwdp = get_current_dir_name();
+ serverLog(LL_WARNING,
+ "Failed opening the temp RDB file %s (in server root dir %s) "
+ "for saving: %s",
+ tmpfile,
+ cwdp ? cwdp : "unknown",
+ str_err);
++ zfree(cwdp);
+ return C_ERR;
+ }
+
+@@ -1434,7 +1434,7 @@ int rdbSave(int req, char *filename, rdbSaveInfo *rsi) {
+ * if the generate DB file is ok. */
+ if (rename(tmpfile,filename) == -1) {
+ char *str_err = strerror(errno);
+- char *cwdp = getcwd(cwd,MAXPATHLEN);
++ char *cwdp = get_current_dir_name();
+ serverLog(LL_WARNING,
+ "Error moving temp DB file %s on the final "
+ "destination %s (in server root dir %s): %s",
+@@ -1444,6 +1444,7 @@ int rdbSave(int req, char *filename, rdbSaveInfo *rsi) {
+ str_err);
+ unlink(tmpfile);
+ stopSaving(0);
++ zfree(cwdp);
+ return C_ERR;
+ }
+ if (fsyncFileDir(filename) == -1) { err_op = "fsyncFileDir"; goto werr; }
diff --git a/debian/patches/0004-Add-support-for-USE_SYSTEM_JEMALLOC-flag.patch b/debian/patches/0004-Add-support-for-USE_SYSTEM_JEMALLOC-flag.patch
new file mode 100644
index 0000000..f23031c
--- /dev/null
+++ b/debian/patches/0004-Add-support-for-USE_SYSTEM_JEMALLOC-flag.patch
@@ -0,0 +1,139 @@
+From: Chris Lamb <lamby@debian.org>
+Date: Sat, 25 Aug 2018 17:52:13 +0200
+Subject: Add support for USE_SYSTEM_JEMALLOC flag.
+
+Forwarded: https://github.com/antirez/redis/pull/5279
+---
+ deps/Makefile | 2 ++
+ src/Makefile | 5 +++++
+ src/debug.c | 4 ++++
+ src/object.c | 5 +++++
+ src/sds.c | 4 ++++
+ src/zmalloc.c | 10 ++++++++++
+ src/zmalloc.h | 4 ++++
+ 7 files changed, 34 insertions(+)
+
+diff --git a/deps/Makefile b/deps/Makefile
+index 83ac557..5542a6c 100644
+--- a/deps/Makefile
++++ b/deps/Makefile
+@@ -39,7 +39,9 @@ distclean:
+ -(cd hiredis && $(MAKE) clean) > /dev/null || true
+ -(cd linenoise && $(MAKE) clean) > /dev/null || true
+ -(cd lua && $(MAKE) clean) > /dev/null || true
++ifneq ($(USE_SYSTEM_JEMALLOC),yes)
+ -(cd jemalloc && [ -f Makefile ] && $(MAKE) distclean) > /dev/null || true
++endif
+ -(cd hdr_histogram && $(MAKE) clean) > /dev/null || true
+ -(rm -f .make-*)
+
+diff --git a/src/Makefile b/src/Makefile
+index 391fdbc..4d81df9 100644
+--- a/src/Makefile
++++ b/src/Makefile
+@@ -262,10 +262,15 @@ ifeq ($(MALLOC),tcmalloc_minimal)
+ endif
+
+ ifeq ($(MALLOC),jemalloc)
++ifeq ($(USE_SYSTEM_JEMALLOC),yes)
++ FINAL_CFLAGS+= -DUSE_JEMALLOC -I/usr/include/jemalloc/include
++ FINAL_LIBS := -ljemalloc $(FINAL_LIBS)
++else
+ DEPENDENCY_TARGETS+= jemalloc
+ FINAL_CFLAGS+= -DUSE_JEMALLOC -I../deps/jemalloc/include
+ FINAL_LIBS := ../deps/jemalloc/lib/libjemalloc.a $(FINAL_LIBS)
+ endif
++endif
+
+ ifeq ($(BUILD_TLS),yes)
+ FINAL_CFLAGS+=-DUSE_OPENSSL $(OPENSSL_CFLAGS)
+diff --git a/src/debug.c b/src/debug.c
+index dffa986..294d46f 100644
+--- a/src/debug.c
++++ b/src/debug.c
+@@ -72,6 +72,10 @@ void printCrashReport(void);
+ void bugReportEnd(int killViaSignal, int sig);
+ void logStackTrace(void *eip, int uplevel);
+
++#if defined(USE_JEMALLOC) && (USE_SYSTEM_JEMALLOC == yes)
++#define je_mallctl mallctl
++#endif
++
+ /* ================================= Debugging ============================== */
+
+ /* Compute the sha1 of string at 's' with 'len' bytes long.
+diff --git a/src/object.c b/src/object.c
+index 1a21579..5bd4144 100644
+--- a/src/object.c
++++ b/src/object.c
+@@ -37,6 +37,11 @@
+ #define strtold(a,b) ((long double)strtod((a),(b)))
+ #endif
+
++#if defined(USE_JEMALLOC) && (USE_SYSTEM_JEMALLOC == yes)
++#define je_mallctl mallctl
++#define je_malloc_stats_print malloc_stats_print
++#endif
++
+ /* ===================== Creation and parsing of objects ==================== */
+
+ robj *createObject(int type, void *ptr) {
+diff --git a/src/sds.c b/src/sds.c
+index 71490d5..fbff91e 100644
+--- a/src/sds.c
++++ b/src/sds.c
+@@ -39,6 +39,10 @@
+ #include "sds.h"
+ #include "sdsalloc.h"
+
++#if USE_SYSTEM_JEMALLOC == yes
++#define je_nallocx nallocx
++#endif
++
+ const char *SDS_NOINIT = "SDS_NOINIT";
+
+ static inline int sdsHdrSize(char type) {
+diff --git a/src/zmalloc.c b/src/zmalloc.c
+index 0ace61f..fec8478 100644
+--- a/src/zmalloc.c
++++ b/src/zmalloc.c
+@@ -79,6 +79,15 @@ void zlibc_free(void *ptr) {
+ #define realloc(ptr,size) tc_realloc(ptr,size)
+ #define free(ptr) tc_free(ptr)
+ #elif defined(USE_JEMALLOC)
++#if USE_SYSTEM_JEMALLOC == yes
++#define malloc(size) malloc(size)
++#define calloc(count,size) calloc(count,size)
++#define realloc(ptr,size) realloc(ptr,size)
++#define free(ptr) free(ptr)
++#define mallocx(size,flags) mallocx(size,flags)
++#define dallocx(ptr,flags) dallocx(ptr,flags)
++#define je_mallctl mallctl
++#else
+ #define malloc(size) je_malloc(size)
+ #define calloc(count,size) je_calloc(count,size)
+ #define realloc(ptr,size) je_realloc(ptr,size)
+@@ -86,6 +95,7 @@ void zlibc_free(void *ptr) {
+ #define mallocx(size,flags) je_mallocx(size,flags)
+ #define dallocx(ptr,flags) je_dallocx(ptr,flags)
+ #endif
++#endif
+
+ #define update_zmalloc_stat_alloc(__n) atomicIncr(used_memory,(__n))
+ #define update_zmalloc_stat_free(__n) atomicDecr(used_memory,(__n))
+diff --git a/src/zmalloc.h b/src/zmalloc.h
+index efab1a1..7826053 100644
+--- a/src/zmalloc.h
++++ b/src/zmalloc.h
+@@ -50,7 +50,11 @@
+ #include <jemalloc/jemalloc.h>
+ #if (JEMALLOC_VERSION_MAJOR == 2 && JEMALLOC_VERSION_MINOR >= 1) || (JEMALLOC_VERSION_MAJOR > 2)
+ #define HAVE_MALLOC_SIZE 1
++#if USE_SYSTEM_JEMALLOC == yes
++#define zmalloc_size(p) malloc_usable_size(p)
++#else
+ #define zmalloc_size(p) je_malloc_usable_size(p)
++#endif
+ #else
+ #error "Newer version of jemalloc required"
+ #endif
diff --git a/debian/patches/debian-packaging/0001-Set-Debian-configuration-defaults.patch b/debian/patches/debian-packaging/0001-Set-Debian-configuration-defaults.patch
new file mode 100644
index 0000000..dffad10
--- /dev/null
+++ b/debian/patches/debian-packaging/0001-Set-Debian-configuration-defaults.patch
@@ -0,0 +1,93 @@
+From: Chris Lamb <lamby@debian.org>
+Date: Tue, 10 Oct 2017 09:56:42 +0100
+Subject: Set Debian configuration defaults
+
+Forwarded: not-needed
+---
+ redis.conf | 10 +++++-----
+ sentinel.conf | 8 ++++----
+ 2 files changed, 9 insertions(+), 9 deletions(-)
+
+diff --git a/redis.conf b/redis.conf
+index 0431c37..f0491a3 100644
+--- a/redis.conf
++++ b/redis.conf
+@@ -152,7 +152,7 @@ tcp-backlog 511
+ # incoming connections. There is no default, so Redis will not listen
+ # on a unix socket when not specified.
+ #
+-# unixsocket /run/redis.sock
++# unixsocket /run/redis/redis-server.sock
+ # unixsocketperm 700
+
+ # Close the connection after a client is idle for N seconds (0 to disable)
+@@ -306,7 +306,7 @@ tcp-keepalive 300
+ # By default Redis does not run as a daemon. Use 'yes' if you need it.
+ # Note that Redis will write a pid file in /var/run/redis.pid when daemonized.
+ # When Redis is supervised by upstart or systemd, this parameter has no impact.
+-daemonize no
++daemonize yes
+
+ # If you run Redis from upstart or systemd, Redis can interact with your
+ # supervision tree. Options:
+@@ -338,7 +338,7 @@ daemonize no
+ #
+ # Note that on modern Linux systems "/run/redis.pid" is more conforming
+ # and should be used instead.
+-pidfile /var/run/redis_6379.pid
++pidfile /run/redis/redis-server.pid
+
+ # Specify the server verbosity level.
+ # This can be one of:
+@@ -351,7 +351,7 @@ loglevel notice
+ # Specify the log file name. Also the empty string can be used to force
+ # Redis to log on the standard output. Note that if you use standard
+ # output for logging but daemonize, logs will be sent to /dev/null
+-logfile ""
++logfile /var/log/redis/redis-server.log
+
+ # To enable logging to the system logger, just set 'syslog-enabled' to yes,
+ # and optionally update the other syslog parameters to suit your needs.
+@@ -501,7 +501,7 @@ rdb-del-sync-files no
+ # The Append Only File will also be created inside this directory.
+ #
+ # Note that you must specify a directory here, not a file name.
+-dir ./
++dir /var/lib/redis
+
+ ################################# REPLICATION #################################
+
+diff --git a/sentinel.conf b/sentinel.conf
+index bba9b92..8070b24 100644
+--- a/sentinel.conf
++++ b/sentinel.conf
+@@ -12,17 +12,17 @@ port 26379
+ # By default Redis Sentinel does not run as a daemon. Use 'yes' if you need it.
+ # Note that Redis will write a pid file in /var/run/redis-sentinel.pid when
+ # daemonized.
+-daemonize no
++daemonize yes
+
+ # When running daemonized, Redis Sentinel writes a pid file in
+ # /var/run/redis-sentinel.pid by default. You can specify a custom pid file
+ # location here.
+-pidfile /var/run/redis-sentinel.pid
++pidfile /run/sentinel/redis-sentinel.pid
+
+ # Specify the log file name. Also the empty string can be used to force
+ # Sentinel to log on the standard output. Note that if you use standard
+ # output for logging but daemonize, logs will be sent to /dev/null
+-logfile ""
++logfile /var/log/redis/redis-sentinel.log
+
+ # sentinel announce-ip <ip>
+ # sentinel announce-port <port>
+@@ -51,7 +51,7 @@ logfile ""
+ # For Redis Sentinel to chdir to /tmp at startup is the simplest thing
+ # for the process to don't interfere with administrative tasks such as
+ # unmounting filesystems.
+-dir /tmp
++dir /var/lib/redis
+
+ # sentinel monitor <master-name> <ip> <redis-port> <quorum>
+ #
diff --git a/debian/patches/series b/debian/patches/series
new file mode 100644
index 0000000..4dba69b
--- /dev/null
+++ b/debian/patches/series
@@ -0,0 +1,5 @@
+debian-packaging/0001-Set-Debian-configuration-defaults.patch
+0001-Fix-FTBFS-on-kFreeBSD.patch
+0002-Add-CPPFLAGS-to-upstream-makefiles.patch
+0003-Use-get_current_dir_name-over-PATHMAX.patch
+0004-Add-support-for-USE_SYSTEM_JEMALLOC-flag.patch