Control script relies on $HOME, so 'su -m' will not cut it. Changed to just su in the rc.d script and adjusted the SMF manifest similarly. Bump PKGREVISION. Fixes pkg/49052.diff -r1.42 -r1.43 pkgsrc/chat/ejabberd/Makefile
(fhajny)
@@ -1,16 +1,17 @@ | @@ -1,16 +1,17 @@ | |||
1 | # $NetBSD: Makefile,v 1.42 2014/07/30 09:45:38 fhajny Exp $ | 1 | # $NetBSD: Makefile,v 1.43 2014/07/31 10:31:51 fhajny Exp $ | |
2 | 2 | |||
3 | DISTNAME= ejabberd-14.07 | 3 | DISTNAME= ejabberd-14.07 | |
4 | PKGREVISION= 1 | |||
4 | CATEGORIES= chat | 5 | CATEGORIES= chat | |
5 | MASTER_SITES= http://www.process-one.net/downloads/ejabberd/${PKGVERSION_NOREV}/ | 6 | MASTER_SITES= http://www.process-one.net/downloads/ejabberd/${PKGVERSION_NOREV}/ | |
6 | EXTRACT_SUFX= .tgz | 7 | EXTRACT_SUFX= .tgz | |
7 | 8 | |||
8 | MAINTAINER= pkgsrc-users@NetBSD.org | 9 | MAINTAINER= pkgsrc-users@NetBSD.org | |
9 | HOMEPAGE= http://www.ejabberd.im/ | 10 | HOMEPAGE= http://www.ejabberd.im/ | |
10 | COMMENT= Free and Open Source distributed fault-tolerant Jabber server | 11 | COMMENT= Free and Open Source distributed fault-tolerant Jabber server | |
11 | LICENSE= gnu-gpl-v2 | 12 | LICENSE= gnu-gpl-v2 | |
12 | 13 | |||
13 | BUILD_DEPENDS+= git-base>=1.5:../../devel/git-base | 14 | BUILD_DEPENDS+= git-base>=1.5:../../devel/git-base | |
14 | CONFLICTS+= jabberd-[0-9]* | 15 | CONFLICTS+= jabberd-[0-9]* | |
15 | 16 | |||
16 | GNU_CONFIGURE= yes | 17 | GNU_CONFIGURE= yes |
@@ -1,16 +1,16 @@ | @@ -1,16 +1,16 @@ | |||
1 | #!@RCD_SCRIPTS_SHELL@ | 1 | #!@RCD_SCRIPTS_SHELL@ | |
2 | # | 2 | # | |
3 | # $NetBSD: ejabberd.sh,v 1.3 2013/10/11 13:32:25 fhajny Exp $ | 3 | # $NetBSD: ejabberd.sh,v 1.4 2014/07/31 10:31:51 fhajny Exp $ | |
4 | # $FreeBSD: ejabberd.sh.in,v 1.1 2005/08/28 15:51:48 vsevolod Exp $ | 4 | # $FreeBSD: ejabberd.sh.in,v 1.1 2005/08/28 15:51:48 vsevolod Exp $ | |
5 | # | 5 | # | |
6 | # PROVIDE: ejabberd | 6 | # PROVIDE: ejabberd | |
7 | # REQUIRE: DAEMON | 7 | # REQUIRE: DAEMON | |
8 | # BEFORE: LOGIN | 8 | # BEFORE: LOGIN | |
9 | # KEYWORD: shutdown | 9 | # KEYWORD: shutdown | |
10 | 10 | |||
11 | if [ -f /etc/rc.subr ] | 11 | if [ -f /etc/rc.subr ] | |
12 | then | 12 | then | |
13 | . /etc/rc.subr | 13 | . /etc/rc.subr | |
14 | fi | 14 | fi | |
15 | 15 | |||
16 | name="ejabberd" | 16 | name="ejabberd" | |
@@ -19,61 +19,61 @@ rcvar=${name} | @@ -19,61 +19,61 @@ rcvar=${name} | |||
19 | command=ejabberdctl | 19 | command=ejabberdctl | |
20 | ejabberd_user="@EJABBERD_USER@" | 20 | ejabberd_user="@EJABBERD_USER@" | |
21 | reload_cmd="ejabberd_reload" | 21 | reload_cmd="ejabberd_reload" | |
22 | restart_cmd="ejabberd_reload" | 22 | restart_cmd="ejabberd_reload" | |
23 | start_cmd="ejabberd_start" | 23 | start_cmd="ejabberd_start" | |
24 | status_cmd="ejabberd_status" | 24 | status_cmd="ejabberd_status" | |
25 | stop_cmd="ejabberd_stop" | 25 | stop_cmd="ejabberd_stop" | |
26 | 26 | |||
27 | PATH=/sbin:/bin:/usr/sbin:/usr/bin:@PREFIX@/bin:@PREFIX@/sbin | 27 | PATH=/sbin:/bin:/usr/sbin:/usr/bin:@PREFIX@/bin:@PREFIX@/sbin | |
28 | EJABBERDCTL=@PREFIX@/sbin/ejabberdctl | 28 | EJABBERDCTL=@PREFIX@/sbin/ejabberdctl | |
29 | 29 | |||
30 | ejabberd_status() | 30 | ejabberd_status() | |
31 | { | 31 | { | |
32 | su -m $ejabberd_user -c "$EJABBERDCTL status >/dev/null" | 32 | su $ejabberd_user -c "$EJABBERDCTL status >/dev/null" | |
33 | } | 33 | } | |
34 | 34 | |||
35 | ejabberd_start() | 35 | ejabberd_start() | |
36 | { | 36 | { | |
37 | echo -n "Starting $name: " | 37 | echo -n "Starting $name: " | |
38 | if ejabberd_status; then | 38 | if ejabberd_status; then | |
39 | echo " already running." | 39 | echo " already running." | |
40 | exit 1 | 40 | exit 1 | |
41 | else | 41 | else | |
42 | su -m $ejabberd_user -c "$EJABBERDCTL start" | 42 | su $ejabberd_user -c "$EJABBERDCTL start" | |
43 | fi | 43 | fi | |
44 | echo "$name." | 44 | echo "$name." | |
45 | } | 45 | } | |
46 | 46 | |||
47 | ejabberd_stop() | 47 | ejabberd_stop() | |
48 | { | 48 | { | |
49 | echo -n "Stopping $name: " | 49 | echo -n "Stopping $name: " | |
50 | if su -m $ejabberd_user -c "$EJABBERDCTL stop"; then | 50 | if su $ejabberd_user -c "$EJABBERDCTL stop"; then | |
51 | cnt=0 | 51 | cnt=0 | |
52 | while ejabberd_status; do | 52 | while ejabberd_status; do | |
53 | cnt=`expr $cnt + 1` | 53 | cnt=`expr $cnt + 1` | |
54 | if [ $cnt -gt 60 ]; then | 54 | if [ $cnt -gt 60 ]; then | |
55 | echo -n " failed " | 55 | echo -n " failed " | |
56 | break | 56 | break | |
57 | fi | 57 | fi | |
58 | sleep 1 | 58 | sleep 1 | |
59 | echo -n "." | 59 | echo -n "." | |
60 | done | 60 | done | |
61 | else | 61 | else | |
62 | echo -n " failed " | 62 | echo -n " failed " | |
63 | fi | 63 | fi | |
64 | echo "$name." | 64 | echo "$name." | |
65 | } | 65 | } | |
66 | 66 | |||
67 | ejabberd_reload() | 67 | ejabberd_reload() | |
68 | { | 68 | { | |
69 | echo -n "Restarting $name: " | 69 | echo -n "Restarting $name: " | |
70 | if ejabberd_status; then | 70 | if ejabberd_status; then | |
71 | su -m $ejabberd_user -c "$EJABBERDCTL restart" | 71 | su $ejabberd_user -c "$EJABBERDCTL restart" | |
72 | else | 72 | else | |
73 | ejabberd_start | 73 | ejabberd_start | |
74 | fi | 74 | fi | |
75 | echo "$name." | 75 | echo "$name." | |
76 | } | 76 | } | |
77 | 77 | |||
78 | load_rc_config $name | 78 | load_rc_config $name | |
79 | run_rc_command "$1" | 79 | run_rc_command "$1" |
@@ -13,26 +13,29 @@ | @@ -13,26 +13,29 @@ | |||
13 | <dependency name='system-log' grouping='optional_all' restart_on='none' type='service'> | 13 | <dependency name='system-log' grouping='optional_all' restart_on='none' type='service'> | |
14 | <service_fmri value='svc:/system/system-log' /> | 14 | <service_fmri value='svc:/system/system-log' /> | |
15 | </dependency> | 15 | </dependency> | |
16 | <dependency name='config-files' grouping='require_any' restart_on='refresh' type='path'> | 16 | <dependency name='config-files' grouping='require_any' restart_on='refresh' type='path'> | |
17 | <service_fmri value='file://localhost@PKG_SYSCONFDIR@/ejabberd.cfg' /> | 17 | <service_fmri value='file://localhost@PKG_SYSCONFDIR@/ejabberd.cfg' /> | |
18 | <service_fmri value='file://localhost@PKG_SYSCONFDIR@/ejabberctl.cfg' /> | 18 | <service_fmri value='file://localhost@PKG_SYSCONFDIR@/ejabberctl.cfg' /> | |
19 | <service_fmri value='file://localhost@PKG_SYSCONFDIR@/inetrc' /> | 19 | <service_fmri value='file://localhost@PKG_SYSCONFDIR@/inetrc' /> | |
20 | </dependency> | 20 | </dependency> | |
21 | <dependency name='@SMF_NAME@-epmd' grouping='require_all' restart_on='none' type='service'> | 21 | <dependency name='@SMF_NAME@-epmd' grouping='require_all' restart_on='none' type='service'> | |
22 | <service_fmri value='svc:/@SMF_PREFIX@/epmd' /> | 22 | <service_fmri value='svc:/@SMF_PREFIX@/epmd' /> | |
23 | </dependency> | 23 | </dependency> | |
24 | <method_context working_directory='@EJABBERD_DB@'> | 24 | <method_context working_directory='@EJABBERD_DB@'> | |
25 | <method_credential user='@EJABBERD_USER@' group='@EJABBERD_GROUP@' /> | 25 | <method_credential user='@EJABBERD_USER@' group='@EJABBERD_GROUP@' /> | |
26 | <method_environment> | |||
27 | <envvar name='HOME' value='@EJABBERD_DB@' /> | |||
28 | </method_environment> | |||
26 | </method_context> | 29 | </method_context> | |
27 | <exec_method name='start' type='method' exec='@PREFIX@/sbin/ejabberdctl start' timeout_seconds='120' /> | 30 | <exec_method name='start' type='method' exec='@PREFIX@/sbin/ejabberdctl start' timeout_seconds='120' /> | |
28 | <exec_method name='stop' type='method' exec='@PREFIX@/sbin/ejabberdctl stop' timeout_seconds='60' /> | 31 | <exec_method name='stop' type='method' exec='@PREFIX@/sbin/ejabberdctl stop' timeout_seconds='60' /> | |
29 | <property_group name='startd' type='framework'> | 32 | <property_group name='startd' type='framework'> | |
30 | <propval name='ignore_error' type='astring' value='core,signal' /> | 33 | <propval name='ignore_error' type='astring' value='core,signal' /> | |
31 | </property_group> | 34 | </property_group> | |
32 | <stability value='Unstable' /> | 35 | <stability value='Unstable' /> | |
33 | <template> | 36 | <template> | |
34 | <common_name> | 37 | <common_name> | |
35 | <loctext xml:lang='C'>ejabberd - the Erlang Jabber/XMPP daemon</loctext> | 38 | <loctext xml:lang='C'>ejabberd - the Erlang Jabber/XMPP daemon</loctext> | |
36 | </common_name> | 39 | </common_name> | |
37 | </template> | 40 | </template> | |
38 | </service> | 41 | </service> |