rc.monotone 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. #!@l_prefix@/bin/openpkg rc
  2. ##
  3. ## rc.monotone -- Run-Commands
  4. ##
  5. %config
  6. monotone_enable="$openpkg_rc_def"
  7. monotone_daemon="no"
  8. monotone_daemon_host="127.0.0.1"
  9. monotone_daemon_port="4691"
  10. monotone_daemon_dbfile="@l_prefix@/var/monotone/monotone.db"
  11. monotone_log_prolog="true"
  12. monotone_log_epilog="true"
  13. monotone_log_numfiles="10"
  14. monotone_log_minsize="1M"
  15. monotone_log_complevel="9"
  16. %common
  17. monotone_daemon_etcdir="@l_prefix@/etc/monotone"
  18. monotone_daemon_pidfile="@l_prefix@/var/monotone/monotone-server.pid"
  19. monotone_daemon_logfile="@l_prefix@/var/monotone/monotone-server.log"
  20. monotone_signal () {
  21. [ -f $monotone_daemon_pidfile ] && kill -$1 `cat $monotone_daemon_pidfile`
  22. }
  23. %status -u @l_rusr@ -o
  24. monotone_usable="unknown"
  25. monotone_active="no"
  26. rcService monotone enable yes && \
  27. monotone_signal 0 && monotone_active="yes"
  28. echo "monotone_enable=\"$monotone_enable\""
  29. echo "monotone_usable=\"$monotone_usable\""
  30. echo "monotone_active=\"$monotone_active\""
  31. %start -u @l_rusr@
  32. rcService monotone enable yes || exit 0
  33. rcService monotone active yes && exit 0
  34. if rcVarIsYes monotone_daemon; then
  35. ( HOME="$monotone_daemon_etcdir/monotone-server"
  36. export HOME
  37. nohup @l_prefix@/bin/mtn \
  38. --confdir="$monotone_daemon_etcdir/monotone-server" \
  39. --keydir="$monotone_daemon_etcdir//monotone-server/keys" \
  40. --log="$monotone_daemon_logfile" \
  41. --db="$monotone_daemon_dbfile" \
  42. serve \
  43. --bind="$monotone_daemon_host:$monotone_daemon_port" \
  44. --pid-file="$monotone_daemon_pidfile" &
  45. ) >/dev/null 2>&1
  46. fi
  47. %stop -u @l_rusr@
  48. rcService monotone enable yes || exit 0
  49. rcService monotone active no && exit 0
  50. if rcVarIsYes monotone_daemon; then
  51. monotone_signal TERM
  52. sleep 2
  53. rm -f $monotone_daemon_pidfile 2>/dev/null || true
  54. fi
  55. %restart -u @l_rusr@
  56. rcService monotone enable yes || exit 0
  57. rcService monotone active no && exit 0
  58. rc monotone stop start
  59. %daily -u @l_rusr@
  60. rcService monotone enable yes || exit 0
  61. shtool rotate -f \
  62. -n $monotone_log_numfiles -s $monotone_log_minsize -d \
  63. -z $monotone_log_complevel -m 664 -o @l_rusr@ -g @l_rgrp@ \
  64. -P "$monotone_log_prolog" \
  65. -E "$monotone_log_epilog" \
  66. $monotone_daemon_logfile