Cherokee de portage

This commit is contained in:
Sandino Araico Sanchez 2019-10-07 22:01:43 -05:00
parent 3211f3d216
commit 986720bdfb
8 changed files with 349 additions and 0 deletions

View file

@ -0,0 +1,8 @@
AUX cherokee-1.2.99-gentoo.patch 1763 BLAKE2B d4ab785332c60fcac0c22b1b0aefabe44db710a7a0973114e8ddbe0423dd1331c64493b4e862ce944f5afa6da30b307cbd27eead278ea9a080309d4bf1d08cc9 SHA512 2f2b1aa03cd7656ceb90f9a94d24704b4a411b3ab99e084444d1f60ce0270bad650b597b1edbdcb4fb0dda750215f42c3f5de3e9f6253825f3742dfbe871be4b
AUX cherokee-confd-1.2.98 144 BLAKE2B 9462724ac4500ed501a005e2b001eefa53f2e71e48181a39f497c492cf69cdce1d5d325227535bfdb465b5bb6940cb89aedafb6420a7c14074b15f36b93866e1 SHA512 e010ec9e6d6bd6862c486c494e968cf93ff5f7eeaa523f1bc1fb9db72dc878c17fbc04443e74aef0bbfef1e2ba64ba00a7dc8bbd1b58f6759d2e000c76e88f84
AUX cherokee-initd-1.2.99 1186 BLAKE2B 3c4d0bbc378940e425bcc8ae4f451e44ded8bc4d4f9d9375c26f6af04c120bccc49c6259aaf33749b071c151b80a096766cc98dee44bfc65af10208b9a43c936 SHA512 595e37b6cf70d4fbd466be918db6c17c37766f5e39a9ee4384a21025f1ce04367aeca495217b1e2c74ed2bce9ff8cfd9a58523b59d1181ce9f470eca97445641
AUX cherokee.logrotate-r1 255 BLAKE2B 33d6c7dca525e424d1a88c0248595d011215cebae749a5d6aacc9eecd2b6e8d447d67655570baf62b23db96c5f5611d4a98b99bfcb6be9e194b52794264fcf49 SHA512 73be4a46f217302b3e7969f0a5acf7f83357a831331f85c89c17320c594eb9e6fd87da111b7d8eb06840e0b1bb094106a5bb6f7dbf7923e834164a367f85d5ad
AUX cherokee.service 184 BLAKE2B 76a55b38f5a7d78df80fd57f9461f68dc360b5efafe19338cc242c71f625b6900c5872283c32a97b6234f58621b89616e123983dec027d3bb1f797d388cf743b SHA512 e05cfe0805bcd7f133fc0bf485fbf781b9cc5e6f9e222b8ea89bdc4e9d4531caa6049100670b67d12bdb73c1e93ed5d949cc1828241213cfcd60a39b7424d8ec
DIST cherokee-1.2.104.zip 6200164 BLAKE2B 55ff5b5475c478078727ec072da4f1205209701b972efa420fbee4133cb83cf2ebd4a0f49165e4653c4a6b6f9e0f6ef633258e6ee4732d998b19863e99e6e2f2 SHA512 9c9f44643d0d2636f2e3e61ef8e2918d91d9bb6099be761826c8ffad01d339739ed40984d01151044c2e536d4754b5157d6d20c37627ce49eecdb404a716cd9d
EBUILD cherokee-1.2.104-r1.ebuild 4964 BLAKE2B 029d8ad7715dfdff093e455fcf9fab5d24822dfc078b3a3af33036d0f565df2a38bc83db0f3495e12801cd6c7148fe553cf7863632e6c31e50ac1709d887973f SHA512 191da8332104f432303da4614088861195bcd2d7cec8db8b09547e8a69408cc05245e72b2d9fa99f2c65f22f7f32226d92dcc0d2a2a669f195ece722eafc50c3
MISC metadata.xml 468 BLAKE2B cbf0b56c17065b7281b4a762cd2390deb3af8c4388c46488d07c0ba39eee46224ee6420075e587345fbaba4a0cfa160daac8fd59b0343dd7cf25d313bee8aac7 SHA512 bfd1c8c432210025dd9b29ec89b383d3211ee9d1aabec4d59c2ec5801feccebcee3c55f7b6ed4e02daab9e72f42ab12517f957f396d0fd410ad3eee4fd05520d

View file

@ -0,0 +1,197 @@
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
WANT_AUTOMAKE="1.11"
PYTHON_COMPAT=( python2_7 )
inherit autotools python-r1 pam systemd user
DESCRIPTION="An extremely fast and tiny web server"
SRC_URI="https://github.com/cherokee/webserver/archive/v${PV}.zip -> ${P}.zip"
HOMEPAGE="http://www.cherokee-project.com/"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~arm ~mips ~ppc ~ppc64 ~x86"
IUSE="admin ffmpeg debug geoip ipv6 kernel_linux ldap libressl mysql nls pam php rrdtool ssl static static-libs"
RDEPEND=""
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
COMMON_DEPEND="
${PYTHON_DEPS}
dev-libs/libpcre
>=sys-libs/zlib-1.1.4-r1
ffmpeg? ( virtual/ffmpeg )
geoip? ( dev-libs/geoip )
ldap? ( net-nds/openldap )
mysql? ( dev-db/mysql-connector-c:0= )
nls? ( virtual/libintl )
pam? ( virtual/pam )
php? ( || (
dev-lang/php:*[fpm]
dev-lang/php:*[cgi]
) )
ssl? (
!libressl? ( <dev-libs/openssl-1.1.0:0= )
libressl? ( dev-libs/libressl:0= )
)
"
DEPEND="${COMMON_DEPEND}
nls? ( sys-devel/gettext )"
RDEPEND="${COMMON_DEPEND}
rrdtool? ( net-analyzer/rrdtool )"
RESTRICT="test"
WEBROOT="/var/www/localhost"
PATCHES=( "${FILESDIR}/${PN}-1.2.99-gentoo.patch" )
S="${WORKDIR}/webserver-${PV}"
pkg_setup() {
enewgroup cherokee
enewuser cherokee -1 -1 /var/www cherokee
}
src_prepare() {
python_setup
default
"${S}/po/admin/generate_POTFILESin.py" > po/admin/POTFILES.in
eautoreconf
}
src_configure() {
local myconf
if use admin ; then
myconf="${myconf} --enable-admin --with-python=/usr/bin/python"
else
myconf="${myconf} --disable-admin"
fi
# Uses autodetect because --with-php requires path to php-{fpm,cgi}.
if ! use php ; then
myconf="${myconf} --without-php"
fi
if use static ; then
myconf="${myconf} --enable-static-module=all"
fi
local os="Unknown"
case "${CHOST}" in
*-freebsd*)
os="FreeBSD" ;;
*-netbsd*)
os="NetBSD" ;;
*-openbsd*)
os="OpenBSD" ;;
*)
os="Linux" ;;
esac
econf \
$(use_enable debug trace) \
$(use_enable debug backtraces) \
$(use_enable ipv6) \
$(use_enable kernel_linux epoll) \
$(use_enable nls) \
$(use_enable pam) \
$(use_enable static-libs static) \
$(use_with ffmpeg) \
$(use_with geoip) \
$(use_with ldap) \
$(use_with mysql) \
$(use_with ssl libssl) \
--disable-dependency-tracking \
--docdir="${EPREFIX}/usr/share/doc/${PF}/html" \
--enable-os-string="Gentoo ${os}" \
--enable-tmpdir="${EPREFIX}/var/tmp" \
--localstatedir="${EPREFIX}/var" \
--with-wwwroot="${EPREFIX}${WEBROOT}/htdocs" \
--with-cgiroot="${EPREFIX}${WEBROOT}/cgi-bin" \
--with-wwwuser=cherokee \
--with-wwwgroup=cherokee \
${myconf}
}
src_install() {
default
if ! use static-libs ; then
find "${ED}" -name '*.la' -delete || die
elif ! use static ; then
find "${ED}/usr/$(get_libdir)/cherokee" '(' -name '*.la' -o -name '*.a' ')' -delete || die
fi
dodoc AUTHORS NEWS README.rst
if use pam ; then
pamd_mimic system-auth cherokee auth account session || die
fi
newinitd "${FILESDIR}/${PN}-initd-1.2.99" ${PN}
newconfd "${FILESDIR}/${PN}-confd-1.2.98" ${PN}
if ! use admin ; then
rm -r \
"${ED}"/usr/bin/cherokee-admin-launcher \
"${ED}"/usr/bin/CTK-run \
"${ED}"/usr/sbin/cherokee-admin \
"${ED}"/usr/share/cherokee/admin || die
fi
exeinto /usr/share/doc/${PF}/contrib
doexe contrib/{bin2buffer.py,make-cert.sh,make-dh_params.sh,tracelor.py}
#move the htdocs to docdir, bug #429632
docompress -x /usr/share/doc/"${PF}"/htdocs.dist
mv "${ED}"${WEBROOT}/htdocs \
"${ED}"/usr/share/doc/"${PF}"/htdocs.dist
mkdir "${ED}"${WEBROOT}/htdocs
keepdir \
"${WEBROOT}"/htdocs \
/var/log/cherokee \
/var/lib/cherokee/graphs/images
fowners cherokee:cherokee \
/var/log/cherokee \
/var/lib/cherokee/graphs \
/var/lib/cherokee/graphs/images
# logrotate
insinto /etc/logrotate.d
newins "${FILESDIR}"/${PN}.logrotate-r1 ${PN}
systemd_dounit "${FILESDIR}"/cherokee.service
# Fix QA error - not important if it fails
rmdir "${ED}"/var/run
}
pkg_postinst() {
elog
if use admin ; then
elog "Just run '/usr/sbin/cherokee-admin' and go to: http://localhost:9090"
elog
elog "Cherokee currently supports configuration versioning, so from now on,"
elog "whenever a change is made to the configuration file format,"
elog "Cherokee-Admin will be able to automatically convert yours to the new"
elog "release. You simply have to load Cherokee-Admin and it will be converted"
elog "once you proceed to saving it."
elog
elog "There is also a command line utility that you can use to do the exact"
elog "same thing. Config format can change in different versions. It is"
elog "provided under:"
elog " ${EPREFIX}/usr/share/cherokee/admin/upgrade_config.py"
else
elog "Try USE=admin if you want an easy way to configure cherokee."
fi
elog
elog "emerge www-servers/spawn-fcgi if you use Ruby on Rails with ${PN}."
elog
}

View file

@ -0,0 +1,38 @@
diff -Naur cherokee-1.2.99.orig/admin/configured.py.pre cherokee-1.2.99/admin/configured.py.pre
--- cherokee-1.2.99.orig/admin/configured.py.pre 2011-03-31 17:30:04.000000000 +0900
+++ cherokee-1.2.99/admin/configured.py.pre 2011-09-16 19:37:15.893487362 +0900
@@ -22,7 +22,7 @@
CHEROKEE_DATADIR = join (DATADIR, "cherokee")
CHEROKEE_DEPSDIR = join (DATADIR, "cherokee/deps")
CHEROKEE_CONFDIR = join (SYSCONFDIR, "cherokee")
-CHEROKEE_VAR_LOG = join (LOCALSTATE, "log")
+CHEROKEE_VAR_LOG = join (LOCALSTATE, "log/cherokee")
CHEROKEE_VAR_RUN = join (LOCALSTATE, "run")
CHEROKEE_VAR_LIB = join (LOCALSTATE, "lib/cherokee")
CHEROKEE_RRD_DIR = join (LOCALSTATE, "lib/cherokee/graphs")
diff -Naur cherokee-1.2.99.orig/cherokee.conf.sample.pre cherokee-1.2.99/cherokee.conf.sample.pre
--- cherokee-1.2.99.orig/cherokee.conf.sample.pre 2011-05-03 18:01:42.000000000 +0900
+++ cherokee-1.2.99/cherokee.conf.sample.pre 2011-09-16 19:37:15.894487368 +0900
@@ -18,6 +18,8 @@
server!server_tokens = full
server!panic_action = %prefix%/bin/cherokee-panic
server!pid_file = %localstatedir%/run/cherokee.pid
+server!user = cherokee
+server!group = cherokee
# Default virtual server
#
@@ -27,11 +29,11 @@
vserver!1!logger = combined
vserver!1!logger!access!type = file
-vserver!1!logger!access!filename = %localstatedir%/log/cherokee.access
+vserver!1!logger!access!filename = %localstatedir%/log/cherokee/cherokee.access
vserver!1!logger!access!buffsize = 16384
vserver!1!error_writer!type = file
-vserver!1!error_writer!filename = %localstatedir%/log/cherokee.error
+vserver!1!error_writer!filename = %localstatedir%/log/cherokee/cherokee.error
vserver!1!rule!1!match = default
vserver!1!rule!1!handler = common

View file

@ -0,0 +1,4 @@
# /etc/conf.d/cherokee: config file for /etc/init.d/cherokee
#CHEROKEE_OPTS="--config=/etc/cherokee/cherokee.conf --valgrind"
CHEROKEE_OPTS=""

View file

@ -0,0 +1,67 @@
#!/sbin/openrc-run
# Copyright 1999-2011 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
command="/usr/sbin/cherokee"
extra_commands="configtest"
extra_started_commands="graceful reload"
depend() {
need net
use dns ldap logger mysql netmount
}
checkconfig() {
${command} -t 1>/dev/null 2>&1
ret=$?
if [ $ret -ne 0 ]; then
eerror "${SVCNAME} has detected an error in your config:"
${command} -t ${CHEROKEE_OPTS}
fi
return $?
}
configtest() {
ebegin "Checking ${SVCNAME} configuration"
checkconfig
eend $?
}
start() {
checkconfig || return 1
ebegin "Starting ${SVCNAME}"
start-stop-daemon --start --quiet \
--exec ${command} -- -d ${CHEROKEE_OPTS}
eend $?
}
stop() {
checkconfig || return 1
ebegin "Stopping ${SVCNAME}"
start-stop-daemon --stop --quiet \
--exec ${command}
eend $?
}
graceful() {
checkconfig || return 1
ebegin "Restarting ${SVCNAME} and closing all the opened connections"
start-stop-daemon \
--exec ${command} \
--signal USR1
eend $?
}
reload() {
checkconfig || return 1
ebegin "Reloading ${SVCNAME} configuration"
start-stop-daemon \
--exec ${command} \
--signal HUP
eend $?
}

View file

@ -0,0 +1,10 @@
# lighttpd logrotate script for Gentoo
/var/log/cherokee/cherokee.access /var/log/cherokee/cherokee.error {
missingok
notifempty
sharedscripts
postrotate
[ -f /var/run/cherokee.pid ] && /bin/kill -USR2 `cat /var/run/cherokee.pid`
endscript
}

View file

@ -0,0 +1,10 @@
[Unit]
Description=Cherokee web server
After=syslog.target
[Service]
Type=forking
ExecStart=/usr/sbin/cherokee -d -C /etc/cherokee/cherokee.conf
[Install]
WantedBy=multi-user.target

View file

@ -0,0 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>blueness@gentoo.org</email>
<name>Anthony G. Basile</name>
</maintainer>
<use>
<flag name="admin">Install web based cherokee conf tool</flag>
<flag name="rrdtool">Enable rrdtool support</flag>
</use>
<upstream>
<remote-id type="github">cherokee/webserver</remote-id>
</upstream>
</pkgmetadata>