blob: 09b560a1ef584ed66132eb4eae9acc6df842ac25 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
|
# Copyright 1999-2009 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/www-servers/cherokee/cherokee-0.99.24.ebuild,v 1.1 2009/10/22 08:01:02 bass Exp $
inherit eutils pam versionator libtool
DESCRIPTION="An extremely fast and tiny web server."
SRC_URI="http://www.cherokee-project.com/download/$(get_version_component_range 1-2)/${PV}/${P}.tar.gz"
HOMEPAGE="http://www.cherokee-project.com/"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~x86 ~amd64"
IUSE="ipv6 nls ssl static pam coverpage threads kernel_linux admin debug geoip ldap mysql ffmpeg fastcgi"
RDEPEND="
>=sys-libs/zlib-1.1.4-r1
nls? ( sys-devel/gettext )
ssl? ( dev-libs/openssl )
pam? ( virtual/pam )
admin? ( dev-lang/python )
geoip? ( dev-libs/geoip )
ldap? ( net-nds/openldap )
mysql? ( virtual/mysql )
fastcgi? ( www-servers/spawn-fcgi )
ffmpeg? ( media-video/ffmpeg )"
DEPEND="${RDEPEND}"
src_compile() {
local myconf
if use static ; then
myconf="${myconf} --enable-static --enable-static-module=all"
else
myconf="${myconf} --disable-static"
fi
if use debug ; then
myconf="${myconf} --enable-trace"
fi
local os="Unknown"
case "${CHOST}" in
*-freebsd*)
os="FreeBSD" ;;
*-netbsd*)
os="NetBSD" ;;
*-openbsd*)
os="OpenBSD" ;;
*)
os="Linux" ;;
esac
# No options to enable or disable ssl since Cherokee 0.11
econf \
${myconf} \
$(use_enable pam) \
$(use_enable ipv6) \
$(use_enable nls) \
$(use_enable threads pthread) \
$(use_enable kernel_linux epoll) \
$(use_with geoip) \
$(use_with ldap) \
$(use_with mysql) \
$(use_with ffmpeg) \
--disable-dependency-tracking \
--enable-os-string="Gentoo ${os}" \
--with-wwwroot=/var/www/localhost/htdocs \
--prefix=/usr \
--sysconfdir=/etc \
--localstatedir=/var \
|| die "configure failed"
emake || die "emake failed"
}
src_install () {
emake -j1 DESTDIR="${D}" docdir="/usr/share/doc/${PF}/html" install || die "make install failed"
dodoc AUTHORS ChangeLog
use pam && pamd_mimic system-auth cherokee auth account session
newinitd "${FILESDIR}/${PN}-initd-0.99.23" ${PN} || die "newinitd failed"
dodir /usr/share/doc/${PF}/contrib
insinto /usr/share/${PF}/contrib
doins contrib/07to08.py
doins contrib/08to09.py
doins contrib/09to010.py
doins contrib/011to098.py
doins contrib/098to099.py
doins contrib/0999to09910.py
doins contrib/make-cert.sh
keepdir /etc/cherokee/mods-enabled /etc/cherokee/sites-enabled /var/www/localhost/htdocs
use coverpage || rm -rf "${D}"/var/www/localhost/htdocs/{index.html,images}
use admin || rm -rf "${D}"/usr/sbin/admin "${D}"/usr/share/cherokee/admin
# Puts logs in /var/log/cherokee/
dosed "s:/var/log/cherokee\.:/var/log/cherokee/cherokee\.:g" /etc/cherokee/cherokee.conf
}
pkg_postinst() {
enewgroup cherokee
enewuser cherokee -1 -1 /var/www/localhost cherokee
install -o cherokee -g cherokee -m0775 -d $ROOT/var/log/cherokee
# check if user/group was defined if not add it
gr="/bin/grep -q"
ec="/bin/echo"
$gr server\!user /etc/cherokee/cherokee.conf ; rtu=$?
$gr server\!group /etc/cherokee/cherokee.conf ; rtg=$?
[[ "x$rtu" == "x1" ]] && $ec server\!user = cherokee >> /etc/cherokee/cherokee.conf
[[ "x$rtg" == "x1" ]] && $ec server\!group = cherokee >> /etc/cherokee/cherokee.conf
if use admin ; then
echo ""
elog "Just run 'cherokee-admin' and go to: http://localhost:9090"
echo ""
else
echo ""
elog "Try USE=admin if you want an easy way to configure cherokee."
echo ""
fi
echo ""
elog "Config format can change in different versions. Check converter script in:"
elog " /usr/share/cherokee-0.99.15/contrib/"
elog "for example:"
elog " PYTHONPATH="/usr/share/cherokee/admin/" python \\"
elog " /usr/share/cherokee-0.99.15/contrib/0999to09910.py \\"
elog " /etc/cherokee/cherokee.conf /etc/cherokee/cherokee.conf-0.99.15"
}
|