Advertisement
Guest User

Untitled

a guest
Dec 18th, 2014
137
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.91 KB | None | 0 0
  1. #! /bin/sh
  2.  
  3. set -e
  4.  
  5. td_agent_dir=/opt/td-agent
  6.  
  7. prevver="$2"
  8.  
  9. add_system_user() {
  10. if ! getent passwd td-agent >/dev/null; then
  11. adduser --group --system --no-create-home td-agent
  12. fi
  13. }
  14.  
  15. add_directories() {
  16. mkdir -p /var/run/td-agent
  17. mkdir -p /etc/td-agent
  18. mkdir -p /etc/td-agent/plugin
  19. mkdir -p /var/log/td-agent
  20. }
  21.  
  22. fixperms() {
  23. dpkg-statoverride --list /var/run/td-agent >/dev/null || \
  24. dpkg-statoverride --update --add td-agent td-agent 0755 /var/run/td-agent
  25. dpkg-statoverride --list /etc/td-agent >/dev/null || \
  26. dpkg-statoverride --update --add td-agent td-agent 0755 /etc/td-agent
  27. dpkg-statoverride --list /var/log/td-agent >/dev/null || \
  28. dpkg-statoverride --update --add td-agent td-agent 0755 /var/log/td-agent
  29. }
  30.  
  31. update_conffile() {
  32. CONFFILE="$1"
  33. TMPL="$2"
  34.  
  35. if [ -e "$CONFFILE" ]; then
  36. md5sum="`md5sum \"$CONFFILE\" | sed -e \"s/ .*//\"`"
  37. old_md5sum="`sed -n -e \"/^Conffiles:/,/^[^ ]/{\\\\' $TMPL'{s/.* //;p}}\" /var/lib/dpkg/status`"
  38. if [ -z "$old_md5sum" ]; then
  39. # backward compatibility
  40. old_md5sum="`sed -n -e \"/^Conffiles:/,/^[^ ]/{\\\\' $CONFFILE'{s/.* //;p}}\" /var/lib/dpkg/status`"
  41. fi
  42.  
  43. if [ "$md5sum" != "$old_md5sum" ]; then
  44. echo "Conffile $CONFFILE has been modified. Remain untouched."
  45. # do nothing
  46. else
  47. echo "Updating conffile $CONFFILE ..."
  48. cp -f "$TMPL" "$CONFFILE"
  49. fi
  50. else
  51. echo "Installing default conffile $CONFFILE ..."
  52. cp -f "$TMPL" "$CONFFILE"
  53. fi
  54.  
  55. # 2011/11/13 Kazuki Ohta <k@treasure-data.com>
  56. # Before td-agent v1.1.0, fluentd has a bug of loading plugin before
  57. # changing to the right user. Then, these directories were created with
  58. # root permission. The following lines fix that problem.
  59. if [ -d "/var/log/td-agent/buffer/" ]; then
  60. chown -R td-agent:td-agent /var/log/td-agent/buffer/
  61. fi
  62. if [ -d "/tmp/td-agent/" ]; then
  63. chown -R td-agent:td-agent /tmp/td-agent/
  64. fi
  65. }
  66.  
  67. case "$1" in
  68. configure)
  69. add_system_user
  70. add_directories
  71. fixperms
  72. update_conffile /etc/td-agent/td-agent.conf ${td_agent_dir}/etc/td-agent/td-agent.conf.tmpl
  73. ;;
  74. abort-upgrade|abort-deconfigure|abort-remove)
  75. :
  76. ;;
  77. *)
  78. echo "Called with unknown argument $1, bailing out."
  79. exit 1
  80. ;;
  81. esac
  82.  
  83. cp -f ${td_agent_dir}/etc/init.d/td-agent /etc/init.d/td-agent
  84. cp -f ${td_agent_dir}/usr/sbin/td-agent /usr/sbin/td-agent
  85. chmod 755 /usr/sbin/td-agent
  86. cp -f ${td_agent_dir}/usr/sbin/td-agent-gem /usr/sbin/td-agent-gem
  87. chmod 755 /usr/sbin/td-agent-gem
  88. cp -f ${td_agent_dir}/usr/bin/td /usr/bin/td
  89. chmod 755 /usr/bin/td
  90.  
  91. if [ ! -e "/etc/default/td-agent" ]; then
  92. cat > /etc/default/td-agent <<EOF
  93. # This file is sourced by /bin/sh from /etc/init.d/td-agent
  94. # Options to pass to td-agent
  95. DAEMON_ARGS=""
  96.  
  97. EOF
  98. fi
  99.  
  100. #DEBHELPER#
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement