rc.common 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. #!/bin/sh
  2. # Copyright (C) 2006 OpenWrt.org
  3. . $IPKG_INSTROOT/etc/functions.sh
  4. START=50
  5. start() {
  6. return 0
  7. }
  8. stop() {
  9. return 0
  10. }
  11. reload() {
  12. return 1
  13. }
  14. restart() {
  15. stop
  16. start
  17. }
  18. boot() {
  19. start
  20. }
  21. shutdown() {
  22. return 0
  23. }
  24. disable() {
  25. name="$(basename "${initscript}")"
  26. rm -f "$IPKG_INSTROOT"/etc/rc.d/S??$name
  27. }
  28. enable() {
  29. name="$(basename "${initscript}")"
  30. disable
  31. ln -s "/etc/init.d/$name" "$IPKG_INSTROOT/etc/rc.d/S${START}${name##S[0-9][0-9]}"
  32. }
  33. depends() {
  34. return 0
  35. }
  36. help() {
  37. cat <<EOF
  38. Syntax: $initscript [command]
  39. Available commands:
  40. start Start the service
  41. stop Stop the service
  42. restart Restart the service
  43. reload Reload configuration files (or restart if that fails)
  44. enable Enable service autostart
  45. disable Disable service autostart
  46. $EXTRA_HELP
  47. EOF
  48. }
  49. initscript="$1"
  50. action="$2"
  51. . "$initscript"
  52. cmds=
  53. for cmd in $EXTRA_COMMANDS; do
  54. cmds="${cmds:+$cmds$N}$cmd) $cmd;;"
  55. done
  56. eval "case \"\$action\" in
  57. start) start;;
  58. stop) stop;;
  59. reload) reload || restart;;
  60. restart) restart;;
  61. boot) boot;;
  62. shutdown) shutdown;;
  63. enable) enable;;
  64. disable) disable;;
  65. $cmds
  66. *) help;;
  67. esac"