Severity 665489 important
Tags 665489 patch
Thanks
>Currently the builds fail on those Archs with "your system is not
supported"
The attatched patch fixes the build on kfreebsd, it simply changes the
conditions in a few ifdefs to handle kfreebsd in a reasonable manner (in
one case like freebsd, in another like linux).
Please add the patch to the dpatch list and include it in the next upload.
#! /bin/sh /usr/share/dpatch/dpatch-run
## 029_fix_kfreebsd.dpatch by <root@debian-kfbsd-amd64>
##
## All lines beginning with `## DP:' are a description of the patch.
## DP: Fix build on kfreebsd
@DPATCH@
Description: fix kfreebsd
This patch fixes the build on kfreebsd by tweaking some
ifdefs.
in wavy_edge.h we treat kfreebsd like other BSDs since
kqueue and epoll are kernel features.
in mod_replace_stream.cc we treat all glibc based systems
like linux as sendfile is a libc feature.
Author: Peter Michael Green <[email protected]>
Bug-Debian: http://bugs.debian.org/665489
---
The information above should follow the Patch Tagging Guidelines, please
checkout http://dep.debian.net/deps/dep3/ to learn about the format. Here
are templates for supplementary fields that you might want to add:
Origin: <vendor|upstream|other>, <url of original patch>
Bug: <url in upstream bugtracker>
Bug-Debian: http://bugs.debian.org/<bugnumber>
Bug-Ubuntu: https://launchpad.net/bugs/<bugnumber>
Forwarded: <no|not-needed|url proving that it has been forwarded>
Reviewed-By: <name and email of someone who approved the patch>
Last-Update: <YYYY-MM-DD>
--- kumofs-0.4.13.orig/src/mpsrc/wavy_edge.h
+++ kumofs-0.4.13/src/mpsrc/wavy_edge.h
@@ -15,7 +15,7 @@
# define MP_WAVY_EDGE epoll
# elif defined(__APPLE__) && defined(__MACH__)
# define MP_WAVY_EDGE kqueue
-# elif defined(__FreeBSD__) || defined(__NetBSD__)
+# elif defined(__FreeBSD__) || defined(__NetBSD__) ||
defined(__FreeBSD_kernel__)
# define MP_WAVY_EDGE kqueue
# elif defined(__sun__)
# define MP_WAVY_EDGE eventport
--- kumofs-0.4.13.orig/src/logic/server/mod_replace_stream.cc
+++ kumofs-0.4.13/src/logic/server/mod_replace_stream.cc
@@ -24,7 +24,7 @@
#include <fcntl.h>
#include <algorithm>
-#if defined(__linux__) || defined(__sun__)
+#if defined(__linux__) || defined(__sun__) || defined(__GLIBC__)
#include <sys/sendfile.h>
#endif
@@ -287,7 +287,7 @@ void mod_replace_stream_t::stream_accumu
m_mmap_stream->flush();
size_t size = m_mmap_stream->size();
//m_mmap_stream.reset(NULL); // FIXME needed?
-#if defined(__linux__) || defined(__sun__)
+#if defined(__linux__) || defined(__sun__) || defined(__GLIBC__)
while(size > 0) {
ssize_t rl = ::sendfile(sock, m_fd.get(), NULL, size);
if(rl <= 0) { throw mp::system_error(errno, "offer send
error"); }