blob: 12175353fec8a42b6c0aa243d59f35ac1ad5a9d6 (
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
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
|
# Copyright 1999-2010 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/www-servers/cherokee/cherokee-1.0.2.ebuild,v 1.1 2010/06/16 07:51:59 bass Exp $
PYTHON_DEPEND="2"
inherit python 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
net-analyzer/rrdtool
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_prepare() {
python_convert_shebangs -r 2 .
}
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 -j1 || die "emake failed"
}
src_install () {
emake 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}
if use admin ; then
exeinto /usr/share/cherokee/admin
doexe admin/server.py
else
rm -rf "${D}"/usr/sbin/admin "${D}"/usr/share/cherokee/admin
fi
# Puts logs in /var/log/cherokee/
dosed "s:/var/log/cherokee\.:/var/log/cherokee/cherokee\.:g" /etc/cherokee/cherokee.conf
# Force shebang to use python2
dosed "s:\#\!/usr/bin/env\ python:\#\!/usr/bin/python2:g" /usr/share/cherokee/admin/server.py
}
pkg_setup() {
python_set_active_version 2
}
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"
}
|