updated on Wed Jan 11 20:01:35 UTC 2012
[aur-mirror.git] / edna / arch.patch
blob7b2e7149a0d95cd66cccb092cc2a271c7d939418
1 diff --git a/Makefile b/Makefile
2 index d041c66..5b16ded 100644
3 --- a/Makefile
4 +++ b/Makefile
5 @@ -4,7 +4,7 @@
7 LIBDIR=$(DESTDIR)/usr/lib/edna
8 BINDIR=$(DESTDIR)/usr/bin
9 -INITDIR=$(DESTDIR)/etc/init.d
10 +INITDIR=$(DESTDIR)/etc/rc.d
11 CONFDIR=$(DESTDIR)/etc/edna
13 all:
14 diff --git a/daemon/edna b/daemon/edna
15 old mode 100644
16 new mode 100755
17 index 4cd0e5f..91870ba
18 --- a/daemon/edna
19 +++ b/daemon/edna
20 @@ -1,158 +1,78 @@
21 #!/bin/sh
23 # Startup script for the edna mp3 mini server
25 -# chkconfig:2345 97 97
26 -# description: edna is a mini mp3 webserver
28 -# processname: python
29 -# pidfile: /var/run/ednad.pid
30 -# config:
32 -# Source function library.
34 -#debian vars
35 -EDNA=/usr/bin/edna
36 -EDNACONF=/etc/edna/edna.conf
37 -PIDFILE=/var/run/edna.pid
38 -# redhat
39 -EDNAD=/usr/bin/ednad
40 -initdir=/etc/init.d
41 -pidfile=/var/run/ednad.pid
43 -PYTHON=`which python`
44 -PYTHONPATH=/usr/lib/edna
45 -export PYTHONPATH
47 -# Determine which kind of configuration we're using
49 -system=unknown
50 -if [ -f /etc/debian_version ]; then
51 - system=debian
52 -elif [ -f /etc/redhat-release ]; then
53 - system=redhat
54 -elif [ -f /etc/SuSE-release ]; then
55 - system=suse
56 -else
57 - echo "$0: Unknown system, please port" 1>&2
58 - exit 1
59 -fi
60 +daemon_name="edna"
61 +daemon_conf="/etc/$daemon_name/$daemon_name.conf"
62 +daemon_log="/var/log/$daemon_name/$daemon_name.log"
63 +daemon_path=`which $daemon_name`
64 +daemon_pid="/var/run/$daemon_name/$daemon_name.pid"
66 -if [ $system = redhat ]; then
67 - . $initdir/functions
68 -fi
69 +. /etc/rc.conf
70 +. /etc/rc.d/functions
72 -if [ $system = suse ]; then
73 - . /etc/rc.status
74 -fi
76 -[ -f $EDNA ] || exit 0
79 -RETVAL=0
81 -function suse () {
82 - case "$1" in
83 - start)
84 - echo -n "Starting edna: "
85 - startproc -p $PIDFILE $PYTHON $EDNA $EDNACONF >/dev/null 2>&1
86 - rc_status -v
87 - ;;
88 - stop)
89 - echo -n "Shutting down edna: "
90 - killproc -p $PIDFILE $PYTHON $EDNA $EDNACONF >/dev/null 2>&1
91 - rc_status -v
92 - ;;
93 - status)
94 - echo -n "Checking for service edna: "
95 - checkproc -p $PIDFILE $PYTHON $EDNA $EDNACONF
96 - rc_status -v
97 - ;;
98 - restart)
99 - $0 stop
100 - $0 start
101 - rc_status
102 - ;;
103 - *)
104 - echo "Usage: $0 {start|stop|status|restart}"
105 - exit 1
106 - esac
107 +get_pid() {
108 + pgrep -f "$daemon_path"
111 -function redhat () {
112 - case "$1" in
113 - start)
114 - echo -n "Starting ednad: "
115 - daemon ${EDNAD}
116 - echo
117 - touch /var/lock/subsys/ednad
118 - return $RETVAL
119 - ;;
120 - stop)
121 - echo -n "Shutting down ednad: "
122 - EDNADPID=
123 - EDNADPID=$(cat $pidfile)
124 - kill $EDNADPID
125 - echo
126 - rm -f /var/lock/subsys/ednad $pidfile
127 - return $RETVAL
128 - ;;
129 - status)
130 - EDNADPID=
131 - EDNADPID=$(cat $pidfile)
132 - echo -n "Checking for ednad, PID is : " $EDNADPID
133 - echo
134 - ;;
135 - restart)
136 - stop
137 - start
138 - ;;
139 - *)
140 - echo "Usage: $0 {start | stop | restart | status}"
141 - exit 1
142 - esac
145 -function debian () {
146 case "$1" in
147 - start)
148 - echo -n 'Starting edna mp3 server: edna'
149 - start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $EDNA -- --daemon $EDNACONF
150 - echo "."
151 - ;;
153 - stop)
154 - echo -n 'Stopping edna mp3 server: edna'
155 - start-stop-daemon --stop --quiet --oknodo --pidfile $PIDFILE
156 - echo "."
157 - ;;
159 - reload)
160 - start-stop-daemon --stop --signal 1 --oknodo --pidfile $PIDFILE
161 - ;;
163 + start)
164 + stat_busy "Starting $daemon_name daemon"
166 + PID=$(get_pid)
167 + if [ -z "$PID" ]; then
168 + [ -f "$daemon_pid" ] && rm -f "$daemon_pid"
169 + # RUN
170 + if [ ! -f "$daemon_log" ];then
171 + mkdir /var/log/$daemon_name
172 + touch $daemon_log
173 + fi
174 + chown nobody: $daemon_log
175 + sudo -u nobody $daemon_path --daemon $daemon_conf
177 + if [ $? -gt 0 ]; then
178 + stat_fail
179 + exit 1
180 + else
181 + echo $(get_pid) > $daemon_pid
182 + add_daemon $daemon_name
183 + stat_done
184 + fi
185 + else
186 + stat_fail
187 + exit 1
188 + fi
189 + ;;
191 + stop)
192 + stat_busy "Stopping $daemon_name daemon"
193 + PID=$(get_pid)
194 + # KILL
195 + [ ! -z "$PID" ] && kill $PID &> /dev/null
197 + if [ $? -gt 0 ]; then
198 + stat_fail
199 + exit 1
200 + else
201 + rm -f $daemon_pid &> /dev/null
202 + rm_daemon $daemon_name
203 + stat_done
204 + fi
205 + ;;
207 restart)
208 - echo -n 'Restarting edna mp3 server: edna'
209 - start-stop-daemon --stop --quiet --oknodo --pidfile $PIDFILE
210 - sleep 10
211 - start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $EDNA -- --daemon $EDNACONF
212 - echo "."
213 - ;;
214 + $0 stop
215 + sleep 3
216 + $0 start
217 + ;;
219 + status)
220 + stat_busy "Checking $daemon_name status";
221 + ck_status $daemon_name
222 + ;;
225 - echo "Usage: /etc/init.d/edna {start|stop|reload|restart}"
226 - exit 1
227 + echo "usage: $0 {start|stop|restart|status}"
228 esac
231 -if [ $system = debian ]; then
232 - debian "$@"
233 -elif [ $system = redhat ]; then
234 - redhat "$@"
235 -elif [ $system = suse ]; then
236 - suse "$@"
240 exit 0
241 diff --git a/edna.conf b/edna.conf
242 index a535f4a..4500c6c 100644
243 --- a/edna.conf
244 +++ b/edna.conf
245 @@ -9,9 +9,9 @@ port = 8080
246 # robots=0
248 # Where to fine the HTML page templates
249 -# template-dir = templates
250 +template-dir = /usr/lib/edna/templates
251 # Where to find icons
252 -# resource-dir = resources
253 +resource-dir = /usr/lib/edna/resources
255 # Which HTML template to use?
256 # template = default.ezt
257 @@ -38,7 +38,7 @@ zip = 0
259 # log can specify "-" for stdout, or a file name. omitting this line
260 # produces no log.
261 -log = -
262 +log = /var/log/edna/edna.log
265 [acl]
266 @@ -76,8 +76,8 @@ log = -
267 #dir3 = g:\MP3's = Bob CD
269 # Unix example:
270 -dir1 = /mnt/cdrom = MP3 CDROM
271 -dir2 = /mp3/all-albums = Jukebox
272 +#dir1 = /mnt/cdrom = MP3 CDROM
273 +#dir2 = /mp3/all-albums = Jukebox
276 [extra]
277 diff --git a/edna.py b/edna.py
278 index e643a58..cbfeb9e 100755
279 --- a/edna.py
280 +++ b/edna.py
281 @@ -1,4 +1,4 @@
282 -#!/usr/bin/env python
283 +#!/usr/bin/env python2
285 # edna.py -- an MP3 server
287 @@ -29,6 +29,10 @@
289 __version__ = '0.6'
291 +import imp
292 +imp.load_source('ezt','/usr/lib/edna/ezt.py')
293 +imp.load_source('MP3Info','/usr/lib/edna/MP3Info.py')
295 import SocketServer
296 import BaseHTTPServer
297 import ConfigParser
298 @@ -1162,6 +1166,6 @@ if __name__ == '__main__':
299 raise systemExit
301 if daemon_mode:
302 - daemonize('/dev/null', '/var/log/edna.log', '/var/log/edna.log', '/var/run/edna.pid')
303 + daemonize('/dev/null', '/var/log/edna/edna.log', '/var/log/edna/edna.log', '/var/run/edna/edna.pid')
305 run_server(fname)