Subject: [alpine-devel] [PATCH 1/2] testing/py-meld3: new aport

From: Peter Bui <[email-masked]>
Date: Sun, 24 Aug 2014 21:53:49 -0500

http://www.plope.com/software/meld3/
An HTML/XML templating engine (required by supervisor)
---
 testing/py-meld3/APKBUILD | 41 +++++++++++++++++++++++++++++++++++++++++
 1 file changed, 41 insertions(+)
 create mode 100644 testing/py-meld3/APKBUILD

diff --git a/testing/py-meld3/APKBUILD b/testing/py-meld3/APKBUILD
new file mode 100644
index 0000000..7192648
--- /dev/null
+++ b/testing/py-meld3/APKBUILD
@@ -0,0 +1,41 @@
+# Contributor: Peter Bui <[email-masked]>
+# Maintainer:
+pkgname=py-meld3
+_pkgname=meld3
+pkgver=1.0.0
+pkgrel=0
+pkgdesc="An HTML/XML templating engine"
+url="http://www.plope.com/software/meld3/"
+arch="noarch"
+license="ZPL"
+depends="python"
+depends_dev="python-dev py-setuptools"
+makedepends="$depends_dev"
+install=""
+subpackages=""
+source="http://pypi.python.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
+
+_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
+}
+
+md5sums="ca270506dd4ecb20ae26fa72fbd9b0be  meld3-1.0.0.tar.gz"
+sha256sums="57b41eebbb5a82d4a928608962616442e239ec6d611fe6f46343e765e36f0b2b  meld3-1.0.0.tar.gz"
+sha512sums="17d90620b34ddecebcf1d08698149a598f1ac74f3a9c8c5fadcc2ea70d3d94c19ac3d662904f29a5093b3326131a2875940f3fa63a05f288de8e703cfee6e243  meld3-1.0.0.tar.gz"
-- 
2.1.0

---
Unsubscribe:  [email-masked]
Help:         [email-masked]
---

---

From: Peter Bui <[email-masked]>
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
@@ -0,0 +1,55 @@
+# Contributor: Peter Bui <[email-masked]>
+# 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
@@ -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
@@ -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
@@ -0,0 +1,6 @@
+/var/log/supervisor/*.log {
+	missingok
+	weekly
+	notifempty
+	nocompress
+}
-- 
2.1.0

---

---

From: Peter Bui <[email-masked]>
Date: Tue, 26 Aug 2014 06:40:39 -0500

On Tue, Aug 26, 2014 at 06:15:19AM -0500, Peter Bui wrote:
> On Tue, Aug 26, 2014 at 08:15:15AM +0200, Natanael Copa wrote:
> > On Mon, 25 Aug 2014 08:42:53 -0500
> > Peter Bui <[email-masked]> wrote:
> > 
> > whoops. I pushed the previous patch.
> > 
> > Why does it need setuptools runtime? that does not sound normal?
> 
> supervisor uses the pkg_resources feature of setuptools:
> 
>     "The pkg_resources module distributed with setuptools provides an
>     API for Python libraries to access their resource files, and for
>     extensible applications and frameworks to automatically discover
>     plugins. It also provides runtime support for using C extensions
>     that are inside zipfile-format eggs, support for merging packages
>     that have separately-distributed modules or subpackages, and APIs
>     for managing Python’s current “working set” of active packages."
> 
>     https://pythonhosted.org/setuptools/pkg_resources.html
> 

Below is a new patch to fix the dependencies and revbump the package.

---
 testing/supervisor/APKBUILD | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/testing/supervisor/APKBUILD b/testing/supervisor/APKBUILD
index fab6c7b..3bb3094 100644
--- a/testing/supervisor/APKBUILD
+++ b/testing/supervisor/APKBUILD
@@ -2,13 +2,13 @@
 # Maintainer:
 pkgname=supervisor
 pkgver=3.1.1
-pkgrel=0
+pkgrel=1
 pkgdesc="A system for controlling process state under UNIX"
 url="http://supervisord.org"
 arch="noarch"
 license="custom"
-depends="python py-meld3"
-depends_dev="python-dev py-setuptools"
+depends="python py-meld3 py-setuptools"
+depends_dev="python-dev"
 makedepends="$depends_dev"
 install=""
 subpackages=""
-- 
2.1.0

---

---

From: Peter Bui <[email-masked]>
Date: Sun, 24 Aug 2014 21:53:50 -0500

http://supervisord.org

index 0000000..fab6c7b
+depends="python py-meld3"

---