rc.cvsd 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. #!@l_prefix@/bin/openpkg rc
  2. ##
  3. ## rc.cvsd -- Run-Commands
  4. ##
  5. %config
  6. cvsd_enable="$openpkg_rc_def"
  7. cvsd_log_prolog="true"
  8. cvsd_log_epilog="true"
  9. cvsd_log_numfiles="10"
  10. cvsd_log_minsize="1M"
  11. cvsd_log_complevel="9"
  12. %common
  13. cvsd_pidfile="@l_prefix@/var/cvsd/cvsd.pid"
  14. cvsd_cfgfile="@l_prefix@/etc/cvsd/cvsd.conf"
  15. cvsd_signal () {
  16. [ -f $cvsd_pidfile ] && kill -$1 `cat $cvsd_pidfile`
  17. }
  18. cvsd_chroot () {
  19. local d
  20. d=`sed -ne 's;^ *[Rr][Oo][Oo][Tt][Jj][Aa][iI][lL] *;;p' $cvsd_cfgfile`
  21. [ ".$d" != . ] && \
  22. [ -d $d ] && \
  23. [ -d $d/bin ] && \
  24. [ -d $d/lib ] && \
  25. [ -d $d/dev ] && \
  26. [ -d $d/etc ] && \
  27. [ -d $d/usr ] && \
  28. [ -d $d/tmp ]
  29. }
  30. %status -u @l_susr@ -o
  31. cvsd_usable="no"
  32. cvsd_active="no"
  33. rcService cvsd enable yes && \
  34. cvsd_chroot && cvsd_usable="yes"
  35. rcService cvsd enable yes && \
  36. cvsd_signal 0 && cvsd_active="yes"
  37. echo "cvsd_enable=\"$cvsd_enable\""
  38. echo "cvsd_usable=\"$cvsd_usable\""
  39. echo "cvsd_active=\"$cvsd_active\""
  40. %start -u @l_susr@
  41. rcService cvsd enable yes || exit 0
  42. rcService cvsd active yes && exit 0
  43. cvsd_chroot || exit 0;
  44. @l_prefix@/sbin/cvsd
  45. %stop -u @l_susr@
  46. rcService cvsd enable yes || exit 0
  47. rcService cvsd active no && exit 0
  48. cvsd_signal TERM
  49. rm -f $cvsd_pidfile 2>/dev/null || true
  50. %restart -u @l_susr@
  51. rcService cvsd enable yes || exit 0
  52. rcService cvsd active no && exit 0
  53. rc cvsd stop
  54. sleep 2
  55. rc cvsd start
  56. %daily -u @l_susr@
  57. rcService cvsd enable yes || exit 0
  58. shtool rotate -f \
  59. -n ${cvsd_log_numfiles} -s ${cvsd_log_minsize} -d \
  60. -z ${cvsd_log_complevel} -o @l_susr@ -g @l_mgrp@ -m 644 \
  61. -P "${cvsd_log_prolog}" \
  62. -E "${cvsd_log_epilog}; rc cvsd restart" \
  63. @l_prefix@/var/cvsd/cvsd.log