supervisor: new package
authorJonathan Liu <net147@gmail.com>
Sat, 11 Aug 2012 07:12:06 +0000 (17:12 +1000)
committerThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Sat, 11 Aug 2012 20:59:12 +0000 (22:59 +0200)
[thomas.petazzoni@free-electrons.com:
 Fixup indentation of Config.in file.
 Add 'depends on BR2_PACKAGE_PYTHON' so that the package does not
 appear when the Python interpreter is not enabled.
 Add license files information, but not the license tag: the package
 includes software under multiple licenses.]

Signed-off-by: Jonathan Liu <net147@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
package/Config.in
package/supervisor/Config.in [new file with mode: 0644]
package/supervisor/S99supervisord [new file with mode: 0755]
package/supervisor/supervisor.mk [new file with mode: 0644]
package/supervisor/supervisord.conf [new file with mode: 0644]

index a9101b20566dbbd39f0fb8c8a1fa290df273bb7d..3a059173f4655c7be6ceba237048c4b8473ce477 100644 (file)
@@ -683,6 +683,7 @@ source "package/rsyslog/Config.in"
 source "package/sysklogd/Config.in"
 source "package/sysvinit/Config.in"
 endif
+source "package/supervisor/Config.in"
 source "package/systemd/Config.in"
 source "package/util-linux/Config.in"
 source "package/dsp-tools/Config.in"
diff --git a/package/supervisor/Config.in b/package/supervisor/Config.in
new file mode 100644 (file)
index 0000000..5340181
--- /dev/null
@@ -0,0 +1,13 @@
+config BR2_PACKAGE_SUPERVISOR
+       bool "supervisor"
+       depends on BR2_PACKAGE_PYTHON
+       select BR2_PACKAGE_PYTHON_SETUPTOOLS
+       select BR2_PACKAGE_PYTHON_MELD3
+       help
+         A client/server system that allows its users to control a
+         number of processes on UNIX-like operating systems.
+
+         http://supervisord.org/
+
+comment "supervisor needs the python interpreter"
+       depends on !BR2_PACKAGE_PYTHON
diff --git a/package/supervisor/S99supervisord b/package/supervisor/S99supervisord
new file mode 100755 (executable)
index 0000000..0856d65
--- /dev/null
@@ -0,0 +1,29 @@
+#!/bin/sh
+
+mkdir -p /var/log/supervisor
+
+case "$1" in
+       start)
+               echo -n "Starting supervisord: "
+               start-stop-daemon -S -q -p /var/run/supervisord.pid --exec /usr/bin/supervisord
+               echo "done"
+               ;;
+       stop)
+               echo -n "Stopping supervisord: "
+               start-stop-daemon -K -q -p /var/run/supervisord.pid
+               echo "done"
+               ;;
+       restart)
+               "$0" stop
+               sleep 5
+               "$0" start
+               ;;
+       reload)
+               start-stop-daemon -K -q -p /var/run/supervisord.pid -s HUP
+               ;;
+       *)
+               echo "Usage: $0 {start|stop|restart|reload}"
+               exit 1
+esac
+
+exit $?
diff --git a/package/supervisor/supervisor.mk b/package/supervisor/supervisor.mk
new file mode 100644 (file)
index 0000000..26afff3
--- /dev/null
@@ -0,0 +1,26 @@
+#############################################################
+#
+# python-supervisor
+#
+#############################################################
+
+SUPERVISOR_VERSION = 3.0a12
+SUPERVISOR_SOURCE = supervisor-$(SUPERVISOR_VERSION).tar.gz
+SUPERVISOR_SITE = http://pypi.python.org/packages/source/s/supervisor/
+SUPERVISOR_LICENSE_FILES = LICENSES.txt
+
+SUPERVISOR_DEPENDENCIES = python host-python-setuptools
+
+define SUPERVISOR_BUILD_CMDS
+       (cd $(@D); $(HOST_DIR)/usr/bin/python setup.py build)
+endef
+
+define SUPERVISOR_INSTALL_TARGET_CMDS
+       (cd $(@D); $(HOST_DIR)/usr/bin/python setup.py install --prefix=/usr --root=$(TARGET_DIR))
+       sed -i '1s|#!.*python.*|#!/usr/bin/env python|' $(TARGET_DIR)/usr/bin/{echo_supervisord_conf,pidproxy,supervisorctl,supervisord}
+       $(INSTALL) -d -m 755 $(TARGET_DIR)/etc/supervisor.d
+       $(INSTALL) -D -m 644 package/supervisor/supervisord.conf $(TARGET_DIR)/etc/supervisord.conf
+       $(INSTALL) -m 755 package/supervisor/S99supervisord $(TARGET_DIR)/etc/init.d/S99supervisord
+endef
+
+$(eval $(generic-package))
diff --git a/package/supervisor/supervisord.conf b/package/supervisor/supervisord.conf
new file mode 100644 (file)
index 0000000..1372a68
--- /dev/null
@@ -0,0 +1,18 @@
+[unix_http_server]
+file = /var/run/supervisor.sock
+
+[supervisord]
+logfile = /var/log/supervisor/supervisord.log
+logfile_maxbytes = 200KB
+logfile_backups = 1
+pidfile = /var/run/supervisord.pid
+childlogdir = /var/log/supervisor
+
+[rpcinterface:supervisor]
+supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface
+
+[supervisorctl]
+serverurl = unix:///var/run/supervisor.sock
+
+[include]
+files = /etc/supervisor.d/*.conf