From 219c13870023af5df892bcda26d69726ea0f04f3 Mon Sep 17 00:00:00 2001 From: Sandino Araico Sanchez Date: Fri, 18 Mar 2022 02:30:40 -0600 Subject: [PATCH] old cherokee ebuild 1.2.104 --- www-servers/cherokee/Manifest | 1 + .../cherokee/cherokee-1.2.104-r2.ebuild | 197 ++++++++++++++++++ .../files/cherokee-1.2.99-gentoo.patch | 38 ++++ .../cherokee/files/cherokee-confd-1.2.98 | 4 + .../cherokee/files/cherokee-initd-1.2.99 | 67 ++++++ .../cherokee/files/cherokee.logrotate-r1 | 10 + www-servers/cherokee/files/cherokee.service | 10 + www-servers/cherokee/metadata.xml | 15 ++ 8 files changed, 342 insertions(+) create mode 100644 www-servers/cherokee/Manifest create mode 100644 www-servers/cherokee/cherokee-1.2.104-r2.ebuild create mode 100644 www-servers/cherokee/files/cherokee-1.2.99-gentoo.patch create mode 100644 www-servers/cherokee/files/cherokee-confd-1.2.98 create mode 100644 www-servers/cherokee/files/cherokee-initd-1.2.99 create mode 100644 www-servers/cherokee/files/cherokee.logrotate-r1 create mode 100644 www-servers/cherokee/files/cherokee.service create mode 100644 www-servers/cherokee/metadata.xml diff --git a/www-servers/cherokee/Manifest b/www-servers/cherokee/Manifest new file mode 100644 index 0000000..4b45671 --- /dev/null +++ b/www-servers/cherokee/Manifest @@ -0,0 +1 @@ +DIST cherokee-1.2.104.zip 6200164 BLAKE2B 55ff5b5475c478078727ec072da4f1205209701b972efa420fbee4133cb83cf2ebd4a0f49165e4653c4a6b6f9e0f6ef633258e6ee4732d998b19863e99e6e2f2 SHA512 9c9f44643d0d2636f2e3e61ef8e2918d91d9bb6099be761826c8ffad01d339739ed40984d01151044c2e536d4754b5157d6d20c37627ce49eecdb404a716cd9d diff --git a/www-servers/cherokee/cherokee-1.2.104-r2.ebuild b/www-servers/cherokee/cherokee-1.2.104-r2.ebuild new file mode 100644 index 0000000..431f42d --- /dev/null +++ b/www-servers/cherokee/cherokee-1.2.104-r2.ebuild @@ -0,0 +1,197 @@ +# Copyright 1999-2020 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="https://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? ( media-video/ffmpeg ) + geoip? ( dev-libs/geoip ) + ldap? ( net-nds/openldap ) + mysql? ( dev-db/mysql-connector-c:0= ) + nls? ( virtual/libintl ) + pam? ( sys-libs/pam ) + php? ( || ( + dev-lang/php:*[fpm] + dev-lang/php:*[cgi] + ) ) + ssl? ( + !libressl? ( 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) \ + --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 +} diff --git a/www-servers/cherokee/files/cherokee-1.2.99-gentoo.patch b/www-servers/cherokee/files/cherokee-1.2.99-gentoo.patch new file mode 100644 index 0000000..d55a5a2 --- /dev/null +++ b/www-servers/cherokee/files/cherokee-1.2.99-gentoo.patch @@ -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 diff --git a/www-servers/cherokee/files/cherokee-confd-1.2.98 b/www-servers/cherokee/files/cherokee-confd-1.2.98 new file mode 100644 index 0000000..62e7fd6 --- /dev/null +++ b/www-servers/cherokee/files/cherokee-confd-1.2.98 @@ -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="" diff --git a/www-servers/cherokee/files/cherokee-initd-1.2.99 b/www-servers/cherokee/files/cherokee-initd-1.2.99 new file mode 100644 index 0000000..488cc81 --- /dev/null +++ b/www-servers/cherokee/files/cherokee-initd-1.2.99 @@ -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 $? +} diff --git a/www-servers/cherokee/files/cherokee.logrotate-r1 b/www-servers/cherokee/files/cherokee.logrotate-r1 new file mode 100644 index 0000000..49b6836 --- /dev/null +++ b/www-servers/cherokee/files/cherokee.logrotate-r1 @@ -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 +} diff --git a/www-servers/cherokee/files/cherokee.service b/www-servers/cherokee/files/cherokee.service new file mode 100644 index 0000000..a2d7031 --- /dev/null +++ b/www-servers/cherokee/files/cherokee.service @@ -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 diff --git a/www-servers/cherokee/metadata.xml b/www-servers/cherokee/metadata.xml new file mode 100644 index 0000000..bb0494e --- /dev/null +++ b/www-servers/cherokee/metadata.xml @@ -0,0 +1,15 @@ + + + + + blueness@gentoo.org + Anthony G. Basile + + + Install web based cherokee conf tool + Enable rrdtool support + + + cherokee/webserver + +