summaryrefslogtreecommitdiff
path: root/app-admin/supervisor
diff options
context:
space:
mode:
authorLouis Sautier <sautier.louis@gmail.com>2018-05-17 14:53:48 +0200
committerGilles Dartiguelongue <eva@gentoo.org>2018-05-24 08:27:27 +0200
commitae9ec8eac390679bf5dcc299ec9fea7dec4f0f03 (patch)
tree353f1cf4f3e2bbf1fa04d414c606611324f928f7 /app-admin/supervisor
parent77eb8c746f13ac8e8a8b530334f3493719d90192 (diff)
downloadgentoo-ae9ec8eac390679bf5dcc299ec9fea7dec4f0f03.tar.gz
gentoo-ae9ec8eac390679bf5dcc299ec9fea7dec4f0f03.tar.xz
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/supervisor')
-rw-r--r--app-admin/supervisor/Manifest1
-rw-r--r--app-admin/supervisor/files/conf.d-r17
-rw-r--r--app-admin/supervisor/files/init.d-r215
-rw-r--r--app-admin/supervisor/files/supervisord.conf69
-rw-r--r--app-admin/supervisor/supervisor-3.3.4.ebuild80
5 files changed, 172 insertions, 0 deletions
diff --git a/app-admin/supervisor/Manifest b/app-admin/supervisor/Manifest
index c4d52a3c428..67493ea63f8 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 00000000000..7a80c826ef5
--- /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 00000000000..c5723b36f01
--- /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 00000000000..91d6be01812
--- /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 00000000000..ce186e3a46a
--- /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
+}