Mail archive
alpine-devel

[alpine-devel] Re: [PATCH 2/2] testing/supervisor: new aport

From: Peter Bui <pnutzh4x0r_at_gmail.com>
Date: Mon, 25 Aug 2014 08:42:53 -0500

Small mistake... Supervisor requires py-setuptools at runtime as well as
during building. Here is the new patch.

http://supervisord.org
A system for controlling process state under UNIX
---
 testing/supervisor/APKBUILD              |  55 +++++++++++++
 testing/supervisor/supervisord.conf      | 131 +++++++++++++++++++++++++++++++
 testing/supervisor/supervisord.initrd    |  10 +++
 testing/supervisor/supervisord.logrotate |   6 ++
 4 files changed, 202 insertions(+)
 create mode 100644 testing/supervisor/APKBUILD
 create mode 100644 testing/supervisor/supervisord.conf
 create mode 100755 testing/supervisor/supervisord.initrd
 create mode 100644 testing/supervisor/supervisord.logrotate
diff --git a/testing/supervisor/APKBUILD b/testing/supervisor/APKBUILD
new file mode 100644
index 0000000..53f0329
--- /dev/null
+++ b/testing/supervisor/APKBUILD
_at_@ -0,0 +1,55 @@
+# Contributor: Peter Bui <pnutzh4x0r_at_gmail.com>
+# Maintainer:
+pkgname=supervisor
+pkgver=3.1.1
+pkgrel=0
+pkgdesc="A system for controlling process state under UNIX"
+url="http://supervisord.org"
+arch="noarch"
+license="custom"
+depends="python py-meld3 py-setuptools"
+depends_dev="python-dev"
+makedepends="$depends_dev"
+install=""
+subpackages=""
+source="http://pypi.python.org/packages/source/${pkgname:0:1}/$pkgname/$pkgname-$pkgver.tar.gz
+	supervisord.conf
+	supervisord.initrd
+	supervisord.logrotate"
+
+_builddir="$srcdir"/$pkgname-$pkgver
+prepare() {
+	local i
+	cd "$_builddir"
+	for i in $source; do
+		case $i in
+		*.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
+		esac
+	done
+}
+
+build() {
+	cd "$_builddir"
+	python setup.py build || return 1
+}
+
+package() {
+	cd "$_builddir"
+	python setup.py install --prefix=/usr --root="$pkgdir" --optimize=1 || return 1
+	install -Dm600 "$srcdir/supervisord.conf" "$pkgdir/etc/supervisord.conf"
+	install -Dm755 "$srcdir/supervisord.initrd" "$pkgdir/etc/init.d/supervisord"
+	install -Dm644 "$srcdir/supervisord.logrotate" "$pkgdir/etc/logrotate.d/supervisord"
+}
+
+md5sums="8c9714feaa63902f03871317e3ebf62e  supervisor-3.1.1.tar.gz
+57e02ffc69bd9e320427fedbb7e94970  supervisord.conf
+b3b6e90ac903e87953b965822542053c  supervisord.initrd
+0701f381ce4057767d513183aba09edd  supervisord.logrotate"
+sha256sums="e3c3b35804c24b6325b5ba462553ebee80d5f4d1766274737b5c532cd4a11d59  supervisor-3.1.1.tar.gz
+6537f5cc77e9ba23191a8cb650cafffae6556c0d4c038e7b45554259a660261d  supervisord.conf
+56ad06ceba126c6a928afdd27b6070a8a15d547eccae7743e924b6992e0084ea  supervisord.initrd
+fabd336baf786118635b8fce26f78d944eb57db7157012703ba9be754fdaac40  supervisord.logrotate"
+sha512sums="bcd4841185b3eb51c59e0252ec2b825fe2799fec4f81eb4c27ac28103cae6b54819938c57d2c2dfb0d90291a3938b8bd6e033aa7dd75af501224ed94b9a92c13  supervisor-3.1.1.tar.gz
+ce99b46b2f9112ed89d96a5d4844f91af1fc560d9db00291600e114f7e5a0ae7e5257e2240468669499275fe918d149f56359ce427628dff46b32d57e64f1052  supervisord.conf
+b18ee1f978b3749804eb695bcc36e9dcabf7d11486bcf180675bab8da442fb4e70c95338d110b12a238a83ccc4f78a37cd5446cb6d64c77ed6d6c75cb53d9249  supervisord.initrd
+881fd0893280cb5053f56128838af51b6c79d715559e7b04a268102fd7b6121c99ff4411ed7f443f21232146925d40e1fbe269e5fcefa3f86fa35ba9d3625193  supervisord.logrotate"
diff --git a/testing/supervisor/supervisord.conf b/testing/supervisor/supervisord.conf
new file mode 100644
index 0000000..85c94ef
--- /dev/null
+++ b/testing/supervisor/supervisord.conf
_at_@ -0,0 +1,131 @@
+; Sample supervisor config file.
+
+[unix_http_server]
+file=/run/supervisord.sock   ; (the path to the socket file)
+;chmod=0700                  ; socked file mode (default 0700)
+;chown=nobody:nogroup        ; socket file uid:gid owner
+;username=user               ; (default is no username (open server))
+;password=123                ; (default is no password (open server))
+
+;[inet_http_server]          ; inet (TCP) server disabled by default
+;port=127.0.0.1:9001         ; (ip_address:port specifier, *:port for all iface)
+;username=user               ; (default is no username (open server))
+;password=123                ; (default is no password (open server))
+
+[supervisord]
+logfile=/var/log/supervisord.log ; (main log file;default $CWD/supervisord.log)
+;logfile_maxbytes=50MB       ; (max main logfile bytes b4 rotation;default 50MB)
+;logfile_backups=10          ; (num of main logfile rotation backups;default 10)
+loglevel=info                ; (log level;default info; others: debug,warn,trace)
+;pidfile=/run/supervisord.pid ; (supervisord pidfile;default supervisord.pid)
+;nodaemon=false              ; (start in foreground if true;default false)
+;minfds=1024                 ; (min. avail startup file descriptors;default 1024)
+;minprocs=200                ; (min. avail process descriptors;default 200)
+;umask=022                   ; (process file creation umask;default 022)
+;user=chrism                 ; (default is current user, required if root)
+;identifier=supervisor       ; (supervisord identifier, default is 'supervisor')
+;directory=/tmp              ; (default is not to cd during start)
+;nocleanup=true              ; (don't clean up tempfiles at start;default false)
+;childlogdir=/var/log/supervisor ; ('AUTO' child log dir, default $TEMP)
+;environment=KEY=value       ; (key value pairs to add to environment)
+;strip_ansi=false            ; (strip ansi escape codes in logs; def. 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
+
+[supervisorctl]
+serverurl=unix:///run/supervisord.sock ; use a unix:// URL  for a unix socket
+;serverurl=http://127.0.0.1:9001 ; use an http:// url to specify an inet socket
+;username=chris              ; should be same as http_username if set
+;password=123                ; should be same as http_password if set
+;prompt=mysupervisor         ; cmd line prompt (default "supervisor")
+;history_file=~/.sc_history  ; use readline history if available
+
+; The below sample program section shows all possible program subsection values,
+; create one or more 'real' program: sections to be able to control them under
+; supervisor.
+
+;[program:theprogramname]
+;command=/bin/cat              ; the program (relative uses PATH, can take args)
+;process_name=%(program_name)s ; process_name expr (default %(program_name)s)
+;numprocs=1                    ; number of processes copies to start (def 1)
+;directory=/tmp                ; directory to cwd to before exec (def no cwd)
+;umask=022                     ; umask for process (default None)
+;priority=999                  ; the relative start priority (default 999)
+;autostart=true                ; start at supervisord start (default: true)
+;autorestart=unexpected        ; whether/when to restart (default: unexpected)
+;startsecs=1                   ; number of secs prog must stay running (def. 1)
+;startretries=3                ; max # of serial start failures (default 3)
+;exitcodes=0,2                 ; 'expected' exit codes for process (default 0,2)
+;stopsignal=QUIT               ; signal used to kill process (default TERM)
+;stopwaitsecs=10               ; max num secs to wait b4 SIGKILL (default 10)
+;killasgroup=false             ; SIGKILL the UNIX process group (def false)
+;user=chrism                   ; setuid to this UNIX account to run the program
+;redirect_stderr=true          ; redirect proc stderr to stdout (default false)
+;stdout_logfile=/a/path        ; stdout log path, NONE for none; default AUTO
+;stdout_logfile_maxbytes=1MB   ; max # logfile bytes b4 rotation (default 50MB)
+;stdout_logfile_backups=10     ; # of stdout logfile backups (default 10)
+;stdout_capture_maxbytes=1MB   ; number of bytes in 'capturemode' (default 0)
+;stdout_events_enabled=false   ; emit events on stdout writes (default false)
+;stderr_logfile=/a/path        ; stderr log path, NONE for none; default AUTO
+;stderr_logfile_maxbytes=1MB   ; max # logfile bytes b4 rotation (default 50MB)
+;stderr_logfile_backups=10     ; # of stderr logfile backups (default 10)
+;stderr_capture_maxbytes=1MB   ; number of bytes in 'capturemode' (default 0)
+;stderr_events_enabled=false   ; emit events on stderr writes (default false)
+;environment=A=1,B=2           ; process environment additions (def no adds)
+;serverurl=AUTO                ; override serverurl computation (childutils)
+
+; The below sample eventlistener section shows all possible
+; eventlistener subsection values, create one or more 'real'
+; eventlistener: sections to be able to handle event notifications
+; sent by supervisor.
+
+;[eventlistener:theeventlistenername]
+;command=/bin/eventlistener    ; the program (relative uses PATH, can take args)
+;process_name=%(program_name)s ; process_name expr (default %(program_name)s)
+;numprocs=1                    ; number of processes copies to start (def 1)
+;events=EVENT                  ; event notif. types to subscribe to (req'd)
+;buffer_size=10                ; event buffer queue size (default 10)
+;directory=/tmp                ; directory to cwd to before exec (def no cwd)
+;umask=022                     ; umask for process (default None)
+;priority=-1                   ; the relative start priority (default -1)
+;autostart=true                ; start at supervisord start (default: true)
+;autorestart=unexpected        ; whether/when to restart (default: unexpected)
+;startsecs=1                   ; number of secs prog must stay running (def. 1)
+;startretries=3                ; max # of serial start failures (default 3)
+;exitcodes=0,2                 ; 'expected' exit codes for process (default 0,2)
+;stopsignal=QUIT               ; signal used to kill process (default TERM)
+;stopwaitsecs=10               ; max num secs to wait b4 SIGKILL (default 10)
+;killasgroup=false             ; SIGKILL the UNIX process group (def false)
+;user=chrism                   ; setuid to this UNIX account to run the program
+;redirect_stderr=true          ; redirect proc stderr to stdout (default false)
+;stdout_logfile=/a/path        ; stdout log path, NONE for none; default AUTO
+;stdout_logfile_maxbytes=1MB   ; max # logfile bytes b4 rotation (default 50MB)
+;stdout_logfile_backups=10     ; # of stdout logfile backups (default 10)
+;stdout_events_enabled=false   ; emit events on stdout writes (default false)
+;stderr_logfile=/a/path        ; stderr log path, NONE for none; default AUTO
+;stderr_logfile_maxbytes=1MB   ; max # logfile bytes b4 rotation (default 50MB)
+;stderr_logfile_backups        ; # of stderr logfile backups (default 10)
+;stderr_events_enabled=false   ; emit events on stderr writes (default false)
+;environment=A=1,B=2           ; process environment additions
+;serverurl=AUTO                ; override serverurl computation (childutils)
+
+; The below sample group section shows all possible group values,
+; create one or more 'real' group: sections to create "heterogeneous"
+; process groups.
+
+;[group:thegroupname]
+;programs=progname1,progname2  ; each refers to 'x' in [program:x] definitions
+;priority=999                  ; the relative start priority (default 999)
+
+; The [include] 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/supervisor.d/*.ini
diff --git a/testing/supervisor/supervisord.initrd b/testing/supervisor/supervisord.initrd
new file mode 100755
index 0000000..a4ac1bf
--- /dev/null
+++ b/testing/supervisor/supervisord.initrd
_at_@ -0,0 +1,10 @@
+#!/sbin/runscript
+
+name="Supervisor"
+command="/usr/bin/supervisord"
+pidfile="/var/run/supervisord.pid"
+configfile="/etc/supervisord.conf"
+command_args="--nodaemon --pidfile ${pidfile} --configuration ${configfile}"
+command_background="yes"
+
+required_files="${configfile}"
diff --git a/testing/supervisor/supervisord.logrotate b/testing/supervisor/supervisord.logrotate
new file mode 100644
index 0000000..de6ae02
--- /dev/null
+++ b/testing/supervisor/supervisord.logrotate
_at_@ -0,0 +1,6 @@
+/var/log/supervisor/*.log {
+	missingok
+	weekly
+	notifempty
+	nocompress
+}
-- 
2.1.0
---
Unsubscribe:  alpine-devel+unsubscribe_at_lists.alpinelinux.org
Help:         alpine-devel+help_at_lists.alpinelinux.org
---
Received on Mon Aug 25 2014 - 08:42:53 GMT