summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'www-servers')
-rw-r--r--www-servers/boa/ChangeLog9
-rw-r--r--www-servers/boa/boa-0.94.14_alpha20.ebuild84
-rw-r--r--www-servers/boa/boa-0.94.14_rc21.ebuild22
-rw-r--r--www-servers/boa/files/boa-0.94.14_alpha20-64bit.patch50
-rw-r--r--www-servers/boa/files/boa-0.94.14_rc21-ENOSYS.patch17
5 files changed, 32 insertions, 150 deletions
diff --git a/www-servers/boa/ChangeLog b/www-servers/boa/ChangeLog
index 54303438f186..8b26b0954dfb 100644
--- a/www-servers/boa/ChangeLog
+++ b/www-servers/boa/ChangeLog
@@ -1,6 +1,13 @@
# ChangeLog for www-servers/boa
# Copyright 2002-2007 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/www-servers/boa/ChangeLog,v 1.12 2007/07/01 04:18:20 dirtyepic Exp $
+# $Header: /var/cvsroot/gentoo-x86/www-servers/boa/ChangeLog,v 1.13 2007/07/01 17:09:02 dirtyepic Exp $
+
+ 01 Jul 2007; Ryan Hill <dirtyepic@gentoo.org>
+ -files/boa-0.94.14_alpha20-64bit.patch,
+ +files/boa-0.94.14_rc21-ENOSYS.patch, -boa-0.94.14_alpha20.ebuild,
+ boa-0.94.14_rc21.ebuild:
+ Remove broken versions, add patch from Debian to support systems w/o
+ sendfile64(). Unmask.
01 Jul 2007; Ryan Hill <dirtyepic@gentoo.org>
+files/boa-0.94.14_rc21-texi.patch, files/boa.conf.d, metadata.xml,
diff --git a/www-servers/boa/boa-0.94.14_alpha20.ebuild b/www-servers/boa/boa-0.94.14_alpha20.ebuild
deleted file mode 100644
index 9226c5c1f3ca..000000000000
--- a/www-servers/boa/boa-0.94.14_alpha20.ebuild
+++ /dev/null
@@ -1,84 +0,0 @@
-# Copyright 1999-2007 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/www-servers/boa/boa-0.94.14_alpha20.ebuild,v 1.3 2007/04/24 13:29:49 bangert Exp $
-
-inherit eutils
-
-DESCRIPTION="Boa - A very small and very fast http daemon"
-SRC_URI="http://www.boa.org/${PN}-${PV/_alpha/rc}.tar.gz"
-HOMEPAGE="http://www.boa.org/"
-
-KEYWORDS="~x86 ~sparc ~mips ppc"
-LICENSE="GPL-2"
-SLOT="0"
-IUSE="tetex"
-S=${WORKDIR}/${PN}-${PV/_alpha/rc}
-DEPEND="sys-devel/flex
- sys-devel/bison
- tetex? ( virtual/tetex )"
-
-src_unpack() {
- unpack ${A}
- cd ${S} || die hrmm
-}
-
-src_compile() {
- econf || die "econf failed"
- emake || die
- cd docs
- if hasq noinfo $FEATURES $RESTRICT; then
- make boa.html
- else
- make boa.html boa.info || die
- fi
- # SLH - 2004/04/23
- # commented out - this doesn't appear to work, and I'm not tetex
- # expert, so I don't know how to fix it
- #
- # use tetex && make boa.dvi
-}
-
-src_install() {
- # make prefix=${D}/usr install
- dosbin src/boa || die
- doman docs/boa.8 || die
- dodoc docs/boa.html || die
- dodoc docs/boa_banner.png || die
- hasq noinfo $FEATURES $RESTRICT || doinfo docs/boa.info
-# if use tetex; then
-# dodoc docs/boa.dvi || die
-# fi
-
- dodir /var/log/boa || die
- dodir /var/www/localhost/htdocs || die
- dodir /var/www/localhost/cgi-bin || die
- dodir /var/www/localhost/icons || die
-
- newconfd ${FILESDIR}/boa.conf.d boa
- newinitd ${FILESDIR}/boa.rc6 boa || die
-
- exeinto /usr/lib/boa
- doexe src/boa_indexer || die
-
- insinto /etc/boa
- insopts -m700
- insopts -m600
- doins ${FILESDIR}/boa.conf || die
- doins ${FILESDIR}/mime.types || die
-
- # make DESTDIR=${D} install || die
-}
-
-pkg_prerm() {
- if [ "$ROOT" = "/" ] && [ -e /dev/shm/.init.d/started/boa ] ; then
- /etc/init.d/boa stop
- fi
- return # dont fail
-}
-
-pkg_preinst() {
- if [ "$ROOT" = "/" ] && [ -e /dev/shm/.init.d/started/boa ] ; then
- /etc/init.d/boa stop
- fi
- return # dont fail
-}
diff --git a/www-servers/boa/boa-0.94.14_rc21.ebuild b/www-servers/boa/boa-0.94.14_rc21.ebuild
index c945224ed6a5..efbe8e970c33 100644
--- a/www-servers/boa/boa-0.94.14_rc21.ebuild
+++ b/www-servers/boa/boa-0.94.14_rc21.ebuild
@@ -1,11 +1,11 @@
# Copyright 1999-2007 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/www-servers/boa/boa-0.94.14_rc21.ebuild,v 1.3 2007/07/01 04:18:20 dirtyepic Exp $
+# $Header: /var/cvsroot/gentoo-x86/www-servers/boa/boa-0.94.14_rc21.ebuild,v 1.4 2007/07/01 17:09:02 dirtyepic Exp $
inherit eutils
MY_PV=${PV/_/}
-DESCRIPTION="Boa - A very small and very fast http daemon"
+DESCRIPTION="Boa - A very small and very fast http daemon."
SRC_URI="http://www.boa.org/${PN}-${MY_PV}.tar.gz"
HOMEPAGE="http://www.boa.org/"
@@ -23,6 +23,7 @@ src_unpack() {
cd "${S}"
epatch "${FILESDIR}"/${P}-texi.patch
+ epatch "${FILESDIR}"/${P}-ENOSYS.patch
}
src_compile() {
@@ -30,11 +31,6 @@ src_compile() {
emake || die "emake failed"
use tetex || sed -i -e '/^all:/s/boa.dvi //' docs/Makefile
emake docs || die "emake docs failed"
- # SLH - 2004/04/23
- # commented out - this doesn't appear to work, and I'm not tetex
- # expert, so I don't know how to fix it
- #
- # use tetex && make boa.dvi
}
src_install() {
@@ -43,25 +39,21 @@ src_install() {
dodoc docs/boa.html
dodoc docs/boa_banner.png
doinfo docs/boa.info
-# if use tetex; then
-# dodoc docs/boa.dvi || die
-# fi
keepdir /var/log/boa
dodir /var/www/localhost/htdocs
dodir /var/www/localhost/cgi-bin
dodir /var/www/localhost/icons
- newconfd ${FILESDIR}/boa.conf.d boa
+ newconfd "${FILESDIR}"/boa.conf.d boa
exeinto /usr/lib/boa
doexe src/boa_indexer
- newinitd ${FILESDIR}/boa.rc6 boa
+ newinitd "${FILESDIR}"/boa.rc6 boa
dodir /etc/boa
insinto /etc/boa
- insopts -m700
- doins ${FILESDIR}/boa.conf
- doins ${FILESDIR}/mime.types
+ doins "${FILESDIR}"/boa.conf
+ doins "${FILESDIR}"/mime.types
}
diff --git a/www-servers/boa/files/boa-0.94.14_alpha20-64bit.patch b/www-servers/boa/files/boa-0.94.14_alpha20-64bit.patch
deleted file mode 100644
index ff44da366884..000000000000
--- a/www-servers/boa/files/boa-0.94.14_alpha20-64bit.patch
+++ /dev/null
@@ -1,50 +0,0 @@
-diff -urN src/mmap_cache.c /tmp/src/mmap_cache.c
---- src/mmap_cache.c 2004-06-04 03:44:59.000000000 +0100
-+++ /tmp/src/mmap_cache.c 2005-07-28 14:40:50.320610000 +0100
-@@ -79,7 +79,7 @@
-
- m = mmap(0, s->st_size, PROT_READ, MAP_OPTIONS, data_fd, 0);
-
-- if ((int) m == -1) {
-+ if (m == MAP_FAILED) {
- int saved_errno = errno;
- log_error_time();
- fprintf(stderr, "Unable to mmap file: ");
-diff -urN src/read.c /tmp/src/read.c
---- src/read.c 2004-06-10 03:00:32.000000000 +0100
-+++ /tmp/src/read.c 2005-07-28 14:40:50.320610000 +0100
-@@ -40,6 +40,7 @@
- {
- int bytes;
- unsigned char *check, *buffer;
-+ size_t len;
-
- check = req->client_stream + req->parse_pos;
- buffer = req->client_stream;
-@@ -115,10 +116,11 @@
- if (req->status == ONE_LF) {
- *req->header_end = '\0';
-
-- if (req->header_end - req->header_line >= MAX_HEADER_LENGTH) {
-+ len = req->header_end - req->header_line;
-+ if (len >= MAX_HEADER_LENGTH) {
- log_error_doc(req);
-- fprintf(stderr, "Header too long at %d bytes: \"%s\"\n",
-- req->header_end - req->header_line,
-+ fprintf(stderr, "Header too long at %lu bytes: \"%s\"\n",
-+ len,
- req->header_line);
- send_r_bad_request(req);
- return 0;
-diff -urN src/request.c /tmp/src/request.c
---- src/request.c 2004-06-10 02:45:13.000000000 +0100
-+++ /tmp/src/request.c 2005-07-28 14:40:50.320610000 +0100
-@@ -85,7 +85,7 @@
- struct SOCKADDR salocal;
- unsigned int remote_addrlen = sizeof (struct SOCKADDR);
- request *conn; /* connection */
-- size_t len;
-+ socklen_t len;
-
- #ifndef INET6
- remote_addr.S_FAMILY = (sa_family_t) 0xdead;
diff --git a/www-servers/boa/files/boa-0.94.14_rc21-ENOSYS.patch b/www-servers/boa/files/boa-0.94.14_rc21-ENOSYS.patch
new file mode 100644
index 000000000000..35dc3d2493e7
--- /dev/null
+++ b/www-servers/boa/files/boa-0.94.14_rc21-ENOSYS.patch
@@ -0,0 +1,17 @@
+check for sendfile() returning ENOSYS and fall back to standard I/O.
+http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=330871
+
+diff -Naur boa-0.94.14rc21-orig/src/pipe.c boa-0.94.14rc21/src/pipe.c
+--- boa-0.94.14rc21-orig/src/pipe.c 2007-07-01 10:49:23.000000000 -0600
++++ boa-0.94.14rc21/src/pipe.c 2007-07-01 10:56:56.000000000 -0600
+@@ -215,7 +215,9 @@
+ }
+ req->ranges->start = sendfile_offset;
+ if (bytes_written < 0) {
+- if (errno == EWOULDBLOCK || errno == EAGAIN) {
++ if (errno == ENOSYS) {
++ return io_shuffle(req);
++ } else if (errno == EWOULDBLOCK || errno == EAGAIN) {
+ return -1; /* request blocked at the pipe level, but keep going */
+ } else if (errno == EINTR) {
+ goto retrysendfile;