diff options
author | Louis Sautier <sautier.louis@gmail.com> | 2018-05-17 14:53:48 +0200 |
---|---|---|
committer | Gilles Dartiguelongue <eva@gentoo.org> | 2018-05-24 08:27:27 +0200 |
commit | ae9ec8eac390679bf5dcc299ec9fea7dec4f0f03 (patch) | |
tree | 353f1cf4f3e2bbf1fa04d414c606611324f928f7 /app-admin | |
parent | app-arch/bzip2: stable 1.0.6-r9 for sparc (diff) | |
download | gentoo-ae9ec8eac390679bf5dcc299ec9fea7dec4f0f03.tar.gz gentoo-ae9ec8eac390679bf5dcc299ec9fea7dec4f0f03.tar.bz2 gentoo-ae9ec8eac390679bf5dcc299ec9fea7dec4f0f03.zip |
app-admin/supervisor: bump to 3.3.4, add default config, dedicated group
- Add a default configuration file.
- Add a dedicated log directory and a group to which users can be added
in order to run supervisorctl and access logs.
- Fix warnings related to namespace packages.
- Add a missing RDEPEND on dev-python/setuptools (pkg_resources).
- Fix the init script to explicitely specify a configuration file to
supervisord, otherwise a warning is issued.
- Add informational messages when the package is installed for the first
time.
Closes: https://bugs.gentoo.org/589734
Package-Manager: Portage-2.3.31, Repoman-2.3.9
Closes: https://github.com/gentoo/gentoo/pull/8453
Diffstat (limited to 'app-admin')
-rw-r--r-- | app-admin/supervisor/Manifest | 1 | ||||
-rw-r--r-- | app-admin/supervisor/files/conf.d-r1 | 7 | ||||
-rw-r--r-- | app-admin/supervisor/files/init.d-r2 | 15 | ||||
-rw-r--r-- | app-admin/supervisor/files/supervisord.conf | 69 | ||||
-rw-r--r-- | app-admin/supervisor/supervisor-3.3.4.ebuild | 80 |
5 files changed, 172 insertions, 0 deletions
diff --git a/app-admin/supervisor/Manifest b/app-admin/supervisor/Manifest index c4d52a3c4286..67493ea63f8f 100644 --- a/app-admin/supervisor/Manifest +++ b/app-admin/supervisor/Manifest @@ -1,2 +1,3 @@ DIST supervisor-3.1.4.tar.gz 392321 BLAKE2B 316789fae200f02242a90d3a22a3c6486576f74dbab81b95efc72768a89c54999a370625f9589afe1edff08351840fbe27a7ef8674e6f1e3bbdd4237f3227df6 SHA512 7182db4169d37aa8f7a2a4e1d57ce40f6dea21759ed73fb49286dd5ffb2bdede0fccdc71344e93c8f8c067a2cbc4e3cb0a9a50b22bacdb1b8bc1378581ed5f07 DIST supervisor-3.3.3.tar.gz 418354 BLAKE2B 50ce29cdad6c4d8c1a041de74d970ef57031c8b3b77180f8b837e402773ac912d384397e650b94eaeaf1db2d9a6bbb21f19247454262e96ea0f1b733226701a2 SHA512 8285445da8a0ed790fbdf75d988304ab8fcefd9c36975ae6526ec58f511c73cd8707f22b7cff40c3aed5e63f3665d096ed4b5dbc2cc456fe0c5b4547149dbb4a +DIST supervisor-3.3.4.tar.gz 419794 BLAKE2B b916c22f3ec1cc180d495f08dac1a66cfd5a93c060906c015a85b2bf64733b4ed298b67050db1332639902a1c6601118a5c05e01c54ed4fc32910d1c24431131 SHA512 fab141b52a548a3efd26f175798b1b8fbb46ce465aa48c3281cb80584b829ecef90ae1355e4106632d13c84363ae03f081d69fb4148303ff387ab7d4e778d21a diff --git a/app-admin/supervisor/files/conf.d-r1 b/app-admin/supervisor/files/conf.d-r1 new file mode 100644 index 000000000000..7a80c826ef51 --- /dev/null +++ b/app-admin/supervisor/files/conf.d-r1 @@ -0,0 +1,7 @@ +# /etc/conf.d/supervisord + +# Configuration file (default: /etc/supervisord.conf) +#SUPD_CONFIG_FILE="/etc/supervisord.conf" + +# Options to pass to the supervisord process +SUPD_OPTS="" diff --git a/app-admin/supervisor/files/init.d-r2 b/app-admin/supervisor/files/init.d-r2 new file mode 100644 index 000000000000..c5723b36f013 --- /dev/null +++ b/app-admin/supervisor/files/init.d-r2 @@ -0,0 +1,15 @@ +#!/sbin/openrc-run +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +description="client/server system that allows its users to monitor and control a number of processes on UNIX-like operating systems" + +SUPD_CONFIG_FILE="${SUPD_CONFIG_FILE:-/etc/supervisord.conf}" + +command="/usr/bin/supervisord" +pidfile="/run/supervisord.pid" +command_args="--nodaemon --pidfile ${pidfile} --configuration \ + \"${SUPD_CONFIG_FILE}\" ${SUPD_OPTS}" +command_background="yes" + +required_files="${SUPD_CONFIG_FILE}" diff --git a/app-admin/supervisor/files/supervisord.conf b/app-admin/supervisor/files/supervisord.conf new file mode 100644 index 000000000000..91d6be018123 --- /dev/null +++ b/app-admin/supervisor/files/supervisord.conf @@ -0,0 +1,69 @@ +; Supervisor configuration file based on supervisor/skel/sample.conf +; vim: set ft=dosini: + +; The below section contains configuration parameters for an HTTP server +; that listens on a UNIX domain socket. If the configuration file has no +; [unix_http_server] section, a UNIX domain socket HTTP server will not +; be started. +[unix_http_server] +; the path to the socket file (with which supervisorctl can communicate) +file=/run/supervisord.sock +; socket file mode (default 0700) +chmod=0770 +; socket file uid:gid owner +chown=root:supervisor +; default is no username (open server) +;username=user +; default is no password (open server) +;password=123 + +; The below section contains global settings +; related to the supervisord process. +[supervisord] +; main log file; default $CWD/supervisord.log +logfile=/var/log/supervisor/supervisord.log +; 'AUTO' child log dir, default $TEMP +childlogdir=/var/log/supervisor +; max main logfile bytes before rotation; default 50MB +logfile_maxbytes=50MB +; number of main logfile backups; 0 means none, default 10 +logfile_backups=10 +; log level; default info; others: debug, warn, trace +loglevel=info +; minimum available startup file descriptors; default 1024 +minfds=1024 +; minimum available process descriptors; default 200 +minprocs=200 +; default is current user, must be explicitely set if running as root +user=root +; process file creation umask; default 022 +;umask=022 +; supervisord identifier, default is 'supervisor' +;identifier=supervisor +; default is not to cd during start +;directory=/tmp +; don't clean up tempfiles at start; default false +;nocleanup=true +; key value pairs to add to environment +;environment=KEY="value" +; strip ANSI escape codes in logs; default false +;strip_ansi=false + +; The below section must remain in the config file for RPC +; (supervisorctl/web interface) to work, additional interfaces may be +; added by defining them in separate rpcinterface: sections +[rpcinterface:supervisor] +supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface + +; The below section contains settings for +; the supervisorctl interactive shell program. +[supervisorctl] +serverurl=unix:///run/supervisord.sock ; use a unix:// URL for a unix socket + +; The below section can just contain the "files" setting. This +; setting can list multiple files (separated by whitespace or +; newlines). It can also contain wildcards. The filenames are +; interpreted as relative to this file. Included files *cannot* +; include files themselves. +[include] +files = /etc/supervisord.d/*.conf diff --git a/app-admin/supervisor/supervisor-3.3.4.ebuild b/app-admin/supervisor/supervisor-3.3.4.ebuild new file mode 100644 index 000000000000..ce186e3a46ad --- /dev/null +++ b/app-admin/supervisor/supervisor-3.3.4.ebuild @@ -0,0 +1,80 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +PYTHON_COMPAT=( python2_7 ) # py2 only +# xml.etree.ElementTree module required. +PYTHON_REQ_USE="xml" + +inherit distutils-r1 user + +MY_PV="${PV/_beta/b}" + +DESCRIPTION="A system for controlling process state under UNIX" +HOMEPAGE="http://supervisord.org/ https://pypi.org/project/supervisor/" +SRC_URI="mirror://pypi/${P:0:1}/${PN}/${PN}-${MY_PV}.tar.gz" + +LICENSE="repoze ZPL BSD HPND GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="doc test" + +RDEPEND=" + dev-python/meld3[${PYTHON_USEDEP}] + dev-python/setuptools[${PYTHON_USEDEP}] +" +DEPEND=" + dev-python/setuptools[${PYTHON_USEDEP}] + doc? ( dev-python/sphinx[${PYTHON_USEDEP}] ) + test? ( + ${RDEPEND} + dev-python/mock[${PYTHON_USEDEP}] + ) +" + +S="${WORKDIR}/${PN}-${MY_PV}" + +python_prepare_all() { + # https://wiki.gentoo.org/wiki/Project:Python/Namespace_packages + sed -i '/namespace_packages=/d' setup.py || die + distutils-r1_python_prepare_all +} + +python_compile_all() { + if use doc; then + emake -C docs html + HTML_DOCS=( docs/.build/html/. ) + fi +} + +python_test() { + esetup.py test +} + +python_install_all() { + distutils-r1_python_install_all + newinitd "${FILESDIR}/init.d-r2" supervisord + newconfd "${FILESDIR}/conf.d-r1" supervisord + dodoc supervisor/skel/sample.conf + keepdir /etc/supervisord.d + insinto /etc + doins "${FILESDIR}/supervisord.conf" + keepdir /var/log/supervisor +} + +pkg_preinst() { + enewgroup supervisor + fowners :supervisor /var/log/supervisor + fperms 750 /var/log/supervisor +} + +pkg_postinst() { + if [[ -z "${REPLACING_VERSIONS}" ]]; then + # This is a new installation + elog "You may install your configuration files in ${EROOT%/}/etc/supervisord.d" + elog "For config examples, see ${EROOT%/}/usr/share/doc/${PF}/sample.conf.bz2" + elog "" + elog "By default, only members of the supervisor group can run supervisorctl." + fi +} |