Explorar el Código

[>3.1] Backport init.d fix from master. Closes #3208

Ask Solem hace 9 años
padre
commit
44c0ebf9c4
Se han modificado 2 ficheros con 13 adiciones y 3 borrados
  1. 7 2
      extra/generic-init.d/celerybeat
  2. 6 1
      extra/generic-init.d/celeryd

+ 7 - 2
extra/generic-init.d/celerybeat

@@ -29,9 +29,14 @@ if [ $(id -u) -ne 0 ]; then
     exit 1
 fi
 
+origin_is_runlevel_dir () {
+    set +e
+    dirname $0 | grep -q "/etc/rc.\.d"
+    echo $?
+}
 
-# May be a runlevel symlink (e.g. S02celeryd)
-if [ -L "$0" ]; then
+# Can be a runlevel symlink (e.g. S02celeryd)
+if [ $(origin_is_runlevel_dir) -eq 0 ]; then
     SCRIPT_FILE=$(readlink "$0")
 else
     SCRIPT_FILE="$0"

+ 6 - 1
extra/generic-init.d/celeryd

@@ -37,9 +37,14 @@ if [ $(id -u) -ne 0 ]; then
     exit 1
 fi
 
+origin_is_runlevel_dir () {
+    set +e
+    dirname $0 | grep -q "/etc/rc.\.d"
+    echo $?
+}
 
 # Can be a runlevel symlink (e.g. S02celeryd)
-if [[ `dirname $0` == /etc/rc*.d ]]; then
+if [ $(origin_is_runlevel_dir) -eq 0 ]; then
     SCRIPT_FILE=$(readlink "$0")
 else
     SCRIPT_FILE="$0"