Make init script a bit more resistant, e.g. restart should now work, thank Rion for...
authorPeter Volkov <pva@gentoo.org>
Fri, 28 May 2010 10:52:20 +0000 (10:52 +0000)
committerPeter Volkov <pva@gentoo.org>
Fri, 28 May 2010 10:52:20 +0000 (10:52 +0000)
Package-Manager: portage-2.1.8.3/cvs/Linux x86_64

net-im/ejabberd/ChangeLog
net-im/ejabberd/Manifest
net-im/ejabberd/files/ejabberd-3.initd

index 408b6de3244da9fa483cf022f4b27e4781d3ce07..e86d6946b765d463fbe5c0e70812c18596a3c149 100644 (file)
@@ -1,6 +1,10 @@
 # ChangeLog for net-im/ejabberd
 # Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/net-im/ejabberd/ChangeLog,v 1.71 2010/05/27 07:31:43 pva Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-im/ejabberd/ChangeLog,v 1.72 2010/05/28 10:52:20 pva Exp $
+
+  28 May 2010; Peter Volkov <pva@gentoo.org> files/ejabberd-3.initd:
+  Make init script a bit more resistant, e.g. restart should now work, thank
+  Rion for report.
 
   27 May 2010; Peter Volkov <pva@gentoo.org> ejabberd-2.1.3.ebuild:
   Fixed future build problem reproducible with -rX, where X!=0, thank Rion
index ca3a306894818c9165418ae579f5df258e9cc475..6fdeb7f5e4c885a4195dba41e957eadd452a828e 100644 (file)
@@ -2,7 +2,7 @@ AUX ejabberd-2.0.5-erlang-13.patch 16877 RMD160 4b8924f5b37de85823dec539523e7800
 AUX ejabberd-2.confd 834 RMD160 7beb5337d15b33d4b1d802edb03995cddb73e162 SHA1 53e754dcbd03edb27f9982f51323e355dafd1f73 SHA256 c48f5cb90c409bde333d5d7a6159995bbf02e265c9d06528c1ec35b764ca9f21
 AUX ejabberd-2.initd 1126 RMD160 8c696768e686efdc9865446ce5a3fbb2ae7302f6 SHA1 27c6b2fd8e1ff6b74d83688d9d68e8721aa0580e SHA256 9b6f076c452a8db149b689db12082fade95e1975a76e52a67a942220ee99aa2f
 AUX ejabberd-3.confd 161 RMD160 3b2c2b2a871c42c75e854a3c592c0d399a5dd387 SHA1 01e72bda178e7bf26a66321c4330bbcc1607e540 SHA256 0296d3d281a321cd7380772c1d89a94e4a86f85b7f43bf9dc1af74935c2e6386
-AUX ejabberd-3.initd 466 RMD160 278c0d7962540aa630e879803957551201e2ce0c SHA1 f81b2ae57bb45c0fac566e2d57f16a60c977871c SHA256 19fdfeecc402bd0d3144fb7e422594822c77eeb6a844183e99264d2aacf46d79
+AUX ejabberd-3.initd 1020 RMD160 71a59bceb79d16a77f9cd760ead4f71b1ce99ad7 SHA1 f41e6a4c6163da8a024ec0106fe77f42aab42337 SHA256 abe497b1c598146458d80a1bde1626aea07c8560944bb4241e02504acf062e6d
 AUX ejabberd-wrapper-2.template 1243 RMD160 989700850578dd86fe6cefeb465a1c84ba49df48 SHA1 115d10f04dd92ca090e853013dde3e5ffa3d6904 SHA256 1d3abfbb1b4dd79ba9fed74a5c86c97af70dc11927d8fa109a1486999d5f7a96
 AUX ejabberdctl-wrapper-3.template 908 RMD160 c5378d8e089ae1c180b7be76639a99d5cad16f11 SHA1 4ee6996c492360c4e44a05e011fb228eecff56b9 SHA256 c3c377ae8b00143e21ab4ccff7cffe539f6a6b95336aa5636cb8d6bba49c9592
 AUX self-cert-v2.sh 1017 RMD160 3beb0f05e8cc3041abd2f689d31d410bc7d5088d SHA1 1f07299b2e49541dcbf5c2b81b26280bbf0b6aeb SHA256 34b2c9cb36c424ffd1117bd20b67d0f4a05168b0bc6237e287c2dcabd0e27972
@@ -11,5 +11,5 @@ DIST ejabberd-2.0.5.tar.gz 1796737 RMD160 5ec0210b3995004c708180a66a096e0b9be5f1
 DIST ejabberd-2.1.3.tar.gz 2243874 RMD160 c57672928e30f71ec66636dd5e76adb802f17b03 SHA1 77fdf18c0bb3b25cf9045e0c833ba4d82f180469 SHA256 602c6e4e742c4cab8594e9f049f08d0bf2125fa84af491e0ceb6d6f2f3854ef6
 EBUILD ejabberd-2.0.5-r3.ebuild 4901 RMD160 1f7a17a51e3310a0619ed37d3defb34380d637f4 SHA1 608359d5a2a4889326b9afa43883104653689134 SHA256 02bf31c731eb7f72ace9fa5092421b2dd96700ca82d7eccc034aaa256c2b04fd
 EBUILD ejabberd-2.1.3.ebuild 7874 RMD160 c9bbbd82f817d2d59acd18236b9c18abd43d7c85 SHA1 5f41a8aa44baf22d237a957073e63be3fc816b1a SHA256 3e4fa6dc7e64c970342533ef03e679bbe029794d5220a4f480a162eb68a1d051
-MISC ChangeLog 15631 RMD160 36679762f55cf7a473a14acb52ef8efe93ce2130 SHA1 a2c07634c09aaf16f40b599bf7d4faaf7b7bc11c SHA256 253d896987c643770500acecff85829630f8b3d96659eb38e8ef236f2deb5fd4
+MISC ChangeLog 15797 RMD160 e9e32158b747ded88da374b454fdb92420c561f6 SHA1 9c6d11ba2ea42ccb4141314efc98c4baec97ab86 SHA256 50802e9513ea5e944361ed92ed93bbc63c3eb73444347e34d4bd213223fdee40
 MISC metadata.xml 875 RMD160 ac2ab791694cf3feae91eb66053273fce29367b1 SHA1 7e5be5bd376801e9b0fbeaa08d8ca720f44b5c5b SHA256 2d8cf45269a75ebf3b07dbd06f74caef0bd2caf33a9dcf22466db6a6960115ef
index 857af1d653e4d6ed805d31abbae47303417e59f7..9fa5709c069563c66594359a4dd3a8559d73773e 100644 (file)
@@ -1,7 +1,7 @@
 #!/sbin/runscript
 # Copyright 1999-2010 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/net-im/ejabberd/files/ejabberd-3.initd,v 1.1 2010/05/26 20:25:25 pva Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-im/ejabberd/files/ejabberd-3.initd,v 1.2 2010/05/28 10:52:20 pva Exp $
 
 depend() {
        use dns
@@ -10,13 +10,37 @@ depend() {
 }
 
 start() {
+       if ejabberdctl status >/dev/null 2>&1; then
+               ewarn "ejabberd is already started (manually?)."
+               return 0
+       fi
        ebegin "Starting ejabberd"
        /usr/sbin/ejabberdctl ${EJABBERDCTL_OPT} start
        eend $?
 }
 
 stop() {
+       if ejabberdctl status >/dev/null 2>&1 || test $? = 3; then
+               ewarn "ejabberd is already stopped (manually?)."
+               return 0
+       fi
        ebegin "Stopping ejabberd"
-       /usr/sbin/ejabberdctl stop
-       eend $?
+       if /usr/sbin/ejabberdctl stop >/dev/null 2>&1; then
+               cnt=0
+               sleep 1
+               while ejabberdctl status >/dev/null 2>&1 || test $? = 1; do
+                       echo -n .
+                       cnt=`expr $cnt + 1`
+                       if [ $cnt -ge 60 ] ; then
+                               eend 1
+                               break
+                       fi
+                       sleep 1
+               done
+               eend 0
+       else
+               eend 1
+               einfo "Please, run '/usr/sbin/ejabberdctl stop' to see what's going on."
+       fi
+       eend 0
 }