From 986720bdfb594346f66693239217ec9156721a99 Mon Sep 17 00:00:00 2001 From: Sandino Araico Sanchez Date: Mon, 7 Oct 2019 22:01:43 -0500 Subject: [PATCH] Cherokee de portage --- www-servers/cherokee/Manifest | 8 + .../cherokee/cherokee-1.2.104-r1.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, 349 insertions(+) create mode 100644 www-servers/cherokee/Manifest create mode 100644 www-servers/cherokee/cherokee-1.2.104-r1.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..4c88db6 --- /dev/null +++ b/www-servers/cherokee/Manifest @@ -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 diff --git a/www-servers/cherokee/cherokee-1.2.104-r1.ebuild b/www-servers/cherokee/cherokee-1.2.104-r1.ebuild new file mode 100644 index 0000000..0908c48 --- /dev/null +++ b/www-servers/cherokee/cherokee-1.2.104-r1.ebuild @@ -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? ( 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 +} 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 + +