aboutsummaryrefslogtreecommitdiffstats
path: root/testing/csync2/fix-build-ppc64le.patch
diff options
context:
space:
mode:
Diffstat (limited to 'testing/csync2/fix-build-ppc64le.patch')
-rw-r--r--testing/csync2/fix-build-ppc64le.patch48
1 files changed, 48 insertions, 0 deletions
diff --git a/testing/csync2/fix-build-ppc64le.patch b/testing/csync2/fix-build-ppc64le.patch
new file mode 100644
index 0000000000..36d996d15f
--- /dev/null
+++ b/testing/csync2/fix-build-ppc64le.patch
@@ -0,0 +1,48 @@
+From b66d2989e45605cf927fd0f2144696d320e08180 Mon Sep 17 00:00:00 2001
+From: Roland Kammerer <roland.kammerer@linbit.com>
+Date: Fri, 15 Jun 2018 16:16:45 +0200
+Subject: [PATCH] build: check for strlcpy()
+
+Check for stlcpy() and if found, disable the internal compat code.
+
+This does not fix all cases, as we would also have to check for libbsd
+and link with "-lbsd". Still, this helps Alpine, as their favorite libc
+(musl) implements strlcpy().
+---
+ configure.ac | 2 +-
+ rsync.c | 2 ++
+ 2 files changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index 741010f..f3ebff7 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -43,7 +43,7 @@ AM_CONDITIONAL([HAVE_PDFLATEX], test -n "$PDFLATEX")
+
+
+ dnl inspired by rsync's configure.ac
+-AC_CHECK_FUNCS(fchmod setmode open64 mkstemp64)
++AC_CHECK_FUNCS(fchmod setmode open64 mkstemp64 strlcpy)
+ AC_CACHE_CHECK([for secure mkstemp],csync_cv_HAVE_SECURE_MKSTEMP,[
+ AC_TRY_RUN([#include <stdlib.h>
+ #include <sys/types.h>
+diff --git a/rsync.c b/rsync.c
+index 3eb6b3e..667a227 100644
+--- a/rsync.c
++++ b/rsync.c
+@@ -49,6 +49,7 @@
+ *
+ * @return index of the terminating byte.
+ **/
++#ifndef HAVE_STRLCPY
+ static size_t strlcpy(char *d, const char *s, size_t bufsize)
+ {
+ size_t len = strlen(s);
+@@ -61,6 +62,7 @@ static size_t strlcpy(char *d, const char *s, size_t bufsize)
+ }
+ return ret;
+ }
++#endif
+
+ /* splits filepath at the last '/', if any, like so:
+ * dirname basename filepath