cherokee 0.5.5: Add version 0.5.5 which fixes a large number of bugs
authorJamie Lenehan <lenehan@twibble.org>
Sun, 19 Nov 2006 01:27:18 +0000 (01:27 +0000)
committerJamie Lenehan <lenehan@twibble.org>
Sun, 19 Nov 2006 01:27:18 +0000 (01:27 +0000)
and improves performance a lot. My requirement was for authentication
on the root of the site which was unsupported in earlier releases.
This version patches the configure input files, unlike the previous
version which patched the output files. Tested on i486 and sh4.

packages/cherokee/cherokee-0.5.5/.mtn2git_empty [new file with mode: 0644]
packages/cherokee/cherokee-0.5.5/Makefile.am.patch [new file with mode: 0644]
packages/cherokee/cherokee-0.5.5/configure.in.patch [new file with mode: 0644]
packages/cherokee/cherokee_0.5.5.bb [new file with mode: 0644]
packages/cherokee/site/.mtn2git_empty [new file with mode: 0644]
packages/cherokee/site/common [new file with mode: 0644]

diff --git a/packages/cherokee/cherokee-0.5.5/.mtn2git_empty b/packages/cherokee/cherokee-0.5.5/.mtn2git_empty
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/packages/cherokee/cherokee-0.5.5/Makefile.am.patch b/packages/cherokee/cherokee-0.5.5/Makefile.am.patch
new file mode 100644 (file)
index 0000000..168200c
--- /dev/null
@@ -0,0 +1,26 @@
+Index: cherokee-0.5.5/cget/Makefile.am
+===================================================================
+--- cherokee-0.5.5.orig/cget/Makefile.am
++++ cherokee-0.5.5/cget/Makefile.am
+@@ -12,6 +12,8 @@ $(LARGEFILE_CFLAGS)
+ cget_LDADD = \
+ ../cherokee/libcherokee-client.la \
++../cherokee/libcherokee-base.la \
++../cherokee/libcherokee-server.la \
+ $(TLS_LIBS) \
+ $(PTHREAD_LIBS) \
+ $(PTHREAD_CFLAGS)
+Index: cherokee-0.5.5/cherokee/Makefile.am
+===================================================================
+--- cherokee-0.5.5.orig/cherokee/Makefile.am
++++ cherokee-0.5.5/cherokee/Makefile.am
+@@ -923,7 +923,7 @@ cherokee_logrotate_LDADD = libcherokee-b
+ noinst_PROGRAMS = cherokee_admin
+ cherokee_admin_SOURCES = cherokee_admin.c 
+-cherokee_admin_LDADD = libcherokee-config.la libcherokee-base.la libcherokee-client.la 
++cherokee_admin_LDADD = libcherokee-config.la libcherokee-base.la libcherokee-client.la libcherokee-server.la
+ ##cherokee_table_test_SOURCES = cherokee_table_test.c
+ ##cherokee_table_test_LDADD = libcherokee.la
diff --git a/packages/cherokee/cherokee-0.5.5/configure.in.patch b/packages/cherokee/cherokee-0.5.5/configure.in.patch
new file mode 100644 (file)
index 0000000..7017243
--- /dev/null
@@ -0,0 +1,52 @@
+Add cache support for some values which require running on the
+target. These need to be set in the site files:
+
+ cherokee_cv_have_epoll
+ cherokee_cv_func_sendfile_works
+
+Both should be set to yes for any reasonably recent linux.
+
+Index: cherokee-0.5.5/configure.in
+===================================================================
+--- cherokee-0.5.5.orig/configure.in
++++ cherokee-0.5.5/configure.in
+@@ -280,6 +280,7 @@ have_epoll=no
+ if test "x$have_epoll_include" = "xyes"; then
+       AC_MSG_CHECKING(for epoll system call)
++     AC_CACHE_CHECK([for epoll],cherokee_cv_have_epoll,[
+      AC_TRY_RUN([
+               #include <stdint.h>
+               #include <sys/param.h>
+@@ -297,8 +298,7 @@ if test "x$have_epoll_include" = "xyes";
+               epfd = epoll_create(256);
+                  exit (epfd == -1 ? 1 : 0);
+               }
+-      ], have_epoll=yes)
+-      AC_MSG_RESULT($have_epoll)
++      ], have_epoll=yes)])
+ fi
+ dnl
+@@ -625,16 +625,16 @@ ETR_SOCKET_NSL
+ SENDFILE_CHECK
+ # Is sendfile broken?
+-AC_MSG_CHECKING(if sendfile works)
++AC_CACHE_CHECK([if sendfile works],cherokee_cv_func_sendfile_works,[
+ AC_TRY_RUN([#include <errno.h>
+             int main() {
+                int o = 0;
+                if (-1 == sendfile(0, 0, &o, 0) && errno == ENOSYS) return -1;
+                return 0;
+-            } ], 
+-            AC_MSG_RESULT(yes), 
+-            [ AC_MSG_RESULT(no) 
+-              AC_DEFINE([HAVE_SENDFILE_BROKEN], [1], [broken sendfile]) ])
++            } ], cherokee_cv_func_sendfile_works=yes,cherokee_cv_func_sendfile_works=no,cherokee_cv_func_sendfile_works=false)])
++if test "$cherokee_cv_func_sendfile_works" = false; then
++        AC_DEFINE([HAVE_SENDFILE_BROKEN], [1], [broken sendfile])
++fi
+ # readdir_r()
+ LIBWWW_READDIR_R_TYPE
diff --git a/packages/cherokee/cherokee_0.5.5.bb b/packages/cherokee/cherokee_0.5.5.bb
new file mode 100644 (file)
index 0000000..7a6eb3a
--- /dev/null
@@ -0,0 +1,45 @@
+DESCRIPTION = "Cherokee Web Server fast and secure"
+DESCRIPTION_cget = "Small downloader based in the Cherokee client library"
+HOMEPAGE = "http://www.cherokee-project.com/"
+SECTION = "network"
+LICENSE = "GPL"
+DEPENDS = "libpcre gnutls"
+PR = "r0"
+
+SRC_URI = "http://www.cherokee-project.com/download/0.5/${PV}/cherokee-${PV}.tar.gz \
+           file://configure.in.patch;patch=1 \
+           file://Makefile.am.patch;patch=1 \
+           file://cherokee.init"
+
+inherit autotools pkgconfig binconfig update-rc.d
+
+EXTRA_OECONF = "--enable-tls=gnutls --disable-static --disable-nls"
+
+do_install_prepend () {
+        # It only needs this app during the install, so compile it natively
+        $BUILD_CC -DHAVE_SYS_STAT_H -o cherokee_replace cherokee_replace.c
+}
+do_install_append () {
+        install -m 0755 -d ${D}${sysconfdir}/init.d
+        install -m 755 ${WORKDIR}/cherokee.init ${D}${sysconfdir}/init.d/cherokee
+}
+
+PACKAGES =+ "cget libcherokee-server libcherokee-client libcherokee-base"
+
+FILES_cget = "${bindir}/cget"
+FILES_libcherokee-server = "${libdir}/libcherokee-server*"
+FILES_libcherokee-client = "${libdir}/libcherokee-client*"
+FILES_libcherokee-base = "${libdir}/libcherokee-base*"
+
+CONFFILES_${PN} = "${sysconfdir}/cherokee/mime.types \
+                   ${sysconfdir}/cherokee/mods-available/admin \
+                   ${sysconfdir}/cherokee/mods-available/ssl \
+                   ${sysconfdir}/cherokee/advanced.conf \
+                   ${sysconfdir}/cherokee/cherokee.conf \
+                   ${sysconfdir}/cherokee/mime.compression.types \
+                   ${sysconfdir}/cherokee/sites-available/example.com \
+                   ${sysconfdir}/cherokee/sites-available/default \
+                   ${sysconfdir}/cherokee/icons.conf"
+
+INITSCRIPT_NAME = "cherokee"
+INITSCRIPT_PARAMS = "defaults 91 91"
diff --git a/packages/cherokee/site/.mtn2git_empty b/packages/cherokee/site/.mtn2git_empty
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/packages/cherokee/site/common b/packages/cherokee/site/common
new file mode 100644 (file)
index 0000000..f7ad462
--- /dev/null
@@ -0,0 +1,2 @@
+cherokee_cv_have_epoll=yes
+cherokee_cv_func_sendfile_works=yes