From cf9261de95ed3c5d296675b08664c56f6a1d2410 Mon Sep 17 00:00:00 2001 From: davehome Date: Wed, 21 Dec 2011 08:39:11 -0700 Subject: [PATCH] New package: cherokee-1.2.101 web server. --- common/shlibs | 3 + srcpkgs/cherokee-devel | 1 + srcpkgs/cherokee/REMOVE | 6 ++ srcpkgs/cherokee/cherokee-devel.template | 15 +++++ srcpkgs/cherokee/cherokee.rshlibs | 5 ++ srcpkgs/cherokee/files/cherokee.logrotate | 9 +++ srcpkgs/cherokee/files/cherokee.service | 10 +++ srcpkgs/cherokee/libcherokee.rshlibs | 17 +++++ srcpkgs/cherokee/libcherokee.template | 14 ++++ ...fix-ctk-path-handler-match_from_arch.patch | 16 +++++ srcpkgs/cherokee/template | 65 +++++++++++++++++++ srcpkgs/libcherokee | 1 + 12 files changed, 162 insertions(+) create mode 120000 srcpkgs/cherokee-devel create mode 100644 srcpkgs/cherokee/REMOVE create mode 100644 srcpkgs/cherokee/cherokee-devel.template create mode 100644 srcpkgs/cherokee/cherokee.rshlibs create mode 100644 srcpkgs/cherokee/files/cherokee.logrotate create mode 100644 srcpkgs/cherokee/files/cherokee.service create mode 100644 srcpkgs/cherokee/libcherokee.rshlibs create mode 100644 srcpkgs/cherokee/libcherokee.template create mode 100644 srcpkgs/cherokee/patches/fix-ctk-path-handler-match_from_arch.patch create mode 100644 srcpkgs/cherokee/template create mode 120000 srcpkgs/libcherokee diff --git a/common/shlibs b/common/shlibs index 93e655b9f19..83655ec413c 100644 --- a/common/shlibs +++ b/common/shlibs @@ -929,3 +929,6 @@ libopcodes-2.22.so binutils binutils-devel libv8.so libv8 v8-devel libGeoIP.so.1 libgeoip geoip-devel libGeoIPUpdate.so.0 libgeoip geoip-devel +libcherokee-base.so.0 libcherokee cherokee-devel +libcherokee-client.so.0 libcherokee cherokee-devel +libcherokee-server.so.0 libcherokee cherokee-devel diff --git a/srcpkgs/cherokee-devel b/srcpkgs/cherokee-devel new file mode 120000 index 00000000000..9b6b8cfa476 --- /dev/null +++ b/srcpkgs/cherokee-devel @@ -0,0 +1 @@ +cherokee \ No newline at end of file diff --git a/srcpkgs/cherokee/REMOVE b/srcpkgs/cherokee/REMOVE new file mode 100644 index 00000000000..f25f1e9b7a6 --- /dev/null +++ b/srcpkgs/cherokee/REMOVE @@ -0,0 +1,6 @@ +case ${ACTION} in +purge) + [ -d var/log/cherokee ] && rm -rf var/log/cherokee + [ -d var/lib/cherokee ] && rm -rf var/lib/cherokee + ;; +esac diff --git a/srcpkgs/cherokee/cherokee-devel.template b/srcpkgs/cherokee/cherokee-devel.template new file mode 100644 index 00000000000..542520f1437 --- /dev/null +++ b/srcpkgs/cherokee/cherokee-devel.template @@ -0,0 +1,15 @@ +# Template file for 'cherokee-devel'. +# +short_desc="${short_desc} (Development files)" +long_desc="${long_desc} + + This package contains files for development, headers, static libs, etc." + +Add_dependency run libcherokee + +do_install() +{ + vmove usr/include usr + vmove usr/lib/pkgconfig usr/lib + vmove usr/share/aclocal usr/share +} diff --git a/srcpkgs/cherokee/cherokee.rshlibs b/srcpkgs/cherokee/cherokee.rshlibs new file mode 100644 index 00000000000..08f604e0f00 --- /dev/null +++ b/srcpkgs/cherokee/cherokee.rshlibs @@ -0,0 +1,5 @@ +libpthread.so.0 +libc.so.6 +libcherokee-base.so.0 +libcherokee-client.so.0 +libcherokee-server.so.0 diff --git a/srcpkgs/cherokee/files/cherokee.logrotate b/srcpkgs/cherokee/files/cherokee.logrotate new file mode 100644 index 00000000000..19207fd0200 --- /dev/null +++ b/srcpkgs/cherokee/files/cherokee.logrotate @@ -0,0 +1,9 @@ +/var/log/cherokee/*.error /var/log/cherokee/*.access { + daily + rotate 14 + compress + sharedscripts + postrotate + /bin/kill -HUP `cat /var/run/cherokee.pid 2>/dev/null` 2>/dev/null || true + endscript +} diff --git a/srcpkgs/cherokee/files/cherokee.service b/srcpkgs/cherokee/files/cherokee.service new file mode 100644 index 00000000000..03a02793912 --- /dev/null +++ b/srcpkgs/cherokee/files/cherokee.service @@ -0,0 +1,10 @@ +[Unit] +Description=Cherokee web server +After=syslog.target network.target + +[Service] +Type=forking +ExecStart=/usr/sbin/cherokee -d -C /etc/cherokee/cherokee.conf + +[Install] +WantedBy=multi-user.target diff --git a/srcpkgs/cherokee/libcherokee.rshlibs b/srcpkgs/cherokee/libcherokee.rshlibs new file mode 100644 index 00000000000..14060d27204 --- /dev/null +++ b/srcpkgs/cherokee/libcherokee.rshlibs @@ -0,0 +1,17 @@ +libpthread.so.0 +libcrypto.so.1 +libdl.so.2 +libc.so.6 +libGeoIP.so.1 +libavformat.so.53 +libavcodec.so.53 +libavutil.so.51 +libbz2.so.1 +libm.so.6 +libmysqlclient.so.16 +libz.so.1 +libcrypt.so.1 +libnsl.so.1 +libssl.so.1 +libpam.so.0 +libldap-2.4.so.2 diff --git a/srcpkgs/cherokee/libcherokee.template b/srcpkgs/cherokee/libcherokee.template new file mode 100644 index 00000000000..9ca942463f2 --- /dev/null +++ b/srcpkgs/cherokee/libcherokee.template @@ -0,0 +1,14 @@ +# Template file for 'libcherokee'. +# +short_desc="${short_desc} (Runtime library)" +long_desc="${long_desc} + + This package contains the cherokee runtime lib(s)." + +do_install() +{ + vmove "usr/lib/*.so*" usr/lib + vmove usr/lib/cherokee usr/lib +} + + diff --git a/srcpkgs/cherokee/patches/fix-ctk-path-handler-match_from_arch.patch b/srcpkgs/cherokee/patches/fix-ctk-path-handler-match_from_arch.patch new file mode 100644 index 00000000000..b496f2e5e5e --- /dev/null +++ b/srcpkgs/cherokee/patches/fix-ctk-path-handler-match_from_arch.patch @@ -0,0 +1,16 @@ +diff -upr cherokee-1.2.99.orig/admin/CTK/CTK/Server.py cherokee-1.2.99/admin/CTK/CTK/Server.py +--- admin/CTK/CTK/Server.py 2011-06-06 14:17:35.000000000 +0300 ++++ admin/CTK/CTK/Server.py 2011-09-16 03:31:06.000000000 +0300 +@@ -121,8 +121,11 @@ class ServerHandler (pyscgi.SCGIHandler) + my_thread.scgi_conn = self + my_thread.request_url = url + ++ # Drop the query string before matching against the handlers ++ path = url.split('?', 1)[0] ++ + for published in server._web_paths: +- if re.match (published._regex, url): ++ if re.match (published._regex, path): + # POST + if published._method == 'POST': + post = self._process_post() diff --git a/srcpkgs/cherokee/template b/srcpkgs/cherokee/template new file mode 100644 index 00000000000..8370bf1a28d --- /dev/null +++ b/srcpkgs/cherokee/template @@ -0,0 +1,65 @@ +# Template file for 'cherokee' +pkgname=cherokee +version=1.2.101 +distfiles="http://www.${pkgname}-project.com/download/1.2/${version}/${pkgname}-${version}.tar.gz" +build_style=gnu-configure +configure_args="--prefix=/usr --sysconfdir=/etc --localstatedir=/var +--disable-static --with-wwwroot=/srv/httpd --with-wwwuser=httpd +--with-wwwgroup=httpd --with-python=python +--enable-os-string=Linux" +short_desc="An innovative, feature rich, and yet easy to configure open source Web Server." +maintainer="davehome " +homepage="http://www.cherokee-project.com/" +license="GPL-2" +checksum=ca465ab3772479fc843b38ffc45113bf24d8bfae9185cdd5176b099d5a17feb8 +long_desc=" + Cherokee is an open-source Cross-platform Web server that runs on Linux, BSD + variants, Solaris, Mac OS X, and Microsoft Windows. It is a lightweight, + high-performance Web Server/reverse proxy licensed under the GNU General + Public License. Its goal is to be fast and fully functional yet still light. + + Major features of Cherokee include a graphical administration interface named + cherokee-admin, and a modular light-weight design. Cherokee is maintained and + developed by an Open Source Community." + +subpackages="${pkgname}-devel lib${pkgname}" + +conf_files=" +/etc/cherokee/cherokee.conf" + +systemd_services="cherokee.service on" + +make_dirs=" +/etc/cherokee/ssl 0755 httpd httpd +/var/log/cherokee 0755 httpd httpd +/var/lib/cherokee/graphs/images 0755 httpd httpd" + +system_accounts="httpd" +httpd_descr="Cherokee HTTP server" +httpd_homedir="/srv/httpd" + +Add_dependency build coreutils +Add_dependency build gettext +Add_dependency build libldap-devel +Add_dependency build pam-devel +Add_dependency build libmysqlclient-devel +Add_dependency build ffmpeg-devel +Add_dependency build geoip-devel + +Add_dependency full python + +pre_configure() +{ + # use /var/log/cherokee instead of /var/log + sed -i -r 's|(%localstatedir%/log)|\1/cherokee|' cherokee.conf.sample.pre + +} + +post_install() +{ + # Setup logrotate thing + vinstall ${FILESDIR}/${pkgname}.logrotate 644 etc/logrotate.d/${pkgname} + + # Install systemd service + vinstall ${FILESDIR}/${pkgname}.service 644 lib/systemd/system +} diff --git a/srcpkgs/libcherokee b/srcpkgs/libcherokee new file mode 120000 index 00000000000..9b6b8cfa476 --- /dev/null +++ b/srcpkgs/libcherokee @@ -0,0 +1 @@ +cherokee \ No newline at end of file