Advertisement
camelseller

Untitled

May 28th, 2015
289
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.99 KB | None | 0 0
  1. #!/bin/sh
  2. # Copyright (C) 2006-2012 OpenWrt.org
  3.  
  4. . $IPKG_INSTROOT/lib/functions.sh
  5. . $IPKG_INSTROOT/lib/functions/service.sh
  6.  
  7. initscript=$1
  8. action=${2:-help}
  9. shift 2
  10.  
  11. start() {
  12. return 0
  13. }
  14.  
  15. stop() {
  16. return 0
  17. }
  18.  
  19. reload() {
  20. return 1
  21. }
  22.  
  23. restart() {
  24. trap '' TERM
  25. stop "$@"
  26. start "$@"
  27. }
  28.  
  29. boot() {
  30. start "$@"
  31. }
  32.  
  33. shutdown() {
  34. stop
  35. }
  36.  
  37. disable() {
  38. name="$(basename "${initscript}")"
  39. rm -f "$IPKG_INSTROOT"/etc/rc.d/S??$name
  40. rm -f "$IPKG_INSTROOT"/etc/rc.d/K??$name
  41. }
  42.  
  43. enable() {
  44. name="$(basename "${initscript}")"
  45. disable
  46. [ -n "$START" -o -n "$STOP" ] || {
  47. echo "/etc/init.d/$name does not have a START or STOP value"
  48. return 1
  49. }
  50. [ "$START" ] && ln -s "../init.d/$name" "$IPKG_INSTROOT/etc/rc.d/S${START}${name##S[0-9][0-9]}"
  51. [ "$STOP" ] && ln -s "../init.d/$name" "$IPKG_INSTROOT/etc/rc.d/K${STOP}${name##K[0-9][0-9]}"
  52. }
  53.  
  54. enabled() {
  55. name="$(basename "${initscript}")"
  56. [ -x "$IPKG_INSTROOT/etc/rc.d/S${START}${name##S[0-9][0-9]}" ]
  57. }
  58.  
  59. depends() {
  60. return 0
  61. }
  62.  
  63. help() {
  64. cat <<EOF
  65. Syntax: $initscript [command]
  66.  
  67. Available commands:
  68. start Start the service
  69. stop Stop the service
  70. restart Restart the service
  71. reload Reload configuration files (or restart if that fails)
  72. enable Enable service autostart
  73. disable Disable service autostart
  74. $EXTRA_HELP
  75. EOF
  76. }
  77.  
  78. # for procd
  79. start_service() {
  80. return 0
  81. }
  82.  
  83. stop_service() {
  84. return 0
  85. }
  86.  
  87. service_triggers() {
  88. return 0
  89. }
  90.  
  91. service_running() {
  92. return 0
  93. }
  94.  
  95. ${INIT_TRACE:+set -x}
  96.  
  97. . "$initscript"
  98.  
  99. [ -n "$USE_PROCD" ] && {
  100. EXTRA_COMMANDS="${EXTRA_COMMANDS} running"
  101.  
  102. . $IPKG_INSTROOT/lib/functions/procd.sh
  103. basescript=$(readlink "$initscript")
  104. rc_procd() {
  105. procd_open_service "$(basename ${basescript:-$initscript})" "$initscript"
  106. "$@"
  107. procd_close_service
  108. }
  109.  
  110. start() {
  111. rc_procd start_service "$@"
  112. if eval "type service_started" 2>/dev/null >/dev/null; then
  113. service_started
  114. fi
  115. }
  116.  
  117. stop() {
  118. stop_service "$@"
  119. procd_kill "$(basename ${basescript:-$initscript})" "$1"
  120. }
  121.  
  122. reload() {
  123. if eval "type reload_service" 2>/dev/null >/dev/null; then
  124. reload_service "$@"
  125. else
  126. start
  127. fi
  128. }
  129.  
  130. running() {
  131. service_running "$@"
  132. }
  133. }
  134.  
  135. ALL_COMMANDS="start stop reload restart boot shutdown enable disable enabled depends ${EXTRA_COMMANDS}"
  136. list_contains ALL_COMMANDS "$action" || action=help
  137. [ "$action" = "reload" ] && action='eval reload "$@" || restart "$@" && :'
  138. $action "$@"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement