~ubuntu-branches/ubuntu/vivid/lurker/vivid

« back to all changes in this revision

Viewing changes to debian/postinst

  • Committer: Bazaar Package Importer
  • Author(s): Jonas Meurer
  • Date: 2006-12-20 05:05:31 UTC
  • mfrom: (3.1.6 feisty)
  • Revision ID: james.westby@ubuntu.com-20061220050531-79inzy7o6uu95qx7
Tags: 2.1-7
* updated vi debconf translations, thanks to Clytie Siddall
  <clytie@riverland.net.au>
* fixed typo in one template (that you would like, not that
  would you like), thanks as well to Clytie Siddall
  - unfuzzied all translations

Show diffs side-by-side

added added

removed removed

Lines of Context:
2
2
# postinst script for lurker
3
3
#
4
4
 
5
 
set -e
6
5
. /usr/share/debconf/confmodule
7
6
 
 
7
# debhelper stuff
 
8
#DEBHELPER#
8
9
 
9
10
case "$1" in
10
11
  configure)
 
12
    # create the systemgroup 'lurker'
 
13
    # sg lurker -c true 2> /dev/null || addgroup --system lurker
 
14
    [ $LURKER_GROUP ] || LURKER_GROUP=lurker
 
15
    if ! getent group | grep -q "^$LURKER_GROUP:"; then
 
16
      echo -n "Adding group $LURKER_GROUP .."
 
17
      addgroup --quiet --system $LURKER_GROUP
 
18
      echo "..done"
 
19
    fi
 
20
 
 
21
    # adjust directory permissions
 
22
    if ! dpkg-statoverride --list /var/lib/lurker >/dev/null; then
 
23
      chown -R root:$LURKER_GROUP /var/lib/lurker
 
24
      chmod u=rwx,g=rwxs,o=rx /var/lib/lurker
 
25
    fi
 
26
 
 
27
    chown root:root /var/www/lurker
 
28
    www_data_files="attach list lurker.docroot mbox message mindex search splash thread zap"
 
29
    for f in $www_data_files; do
 
30
      chown -R www-data:www-data /var/www/lurker/$f
 
31
    done
 
32
 
11
33
    # apache configuration section
 
34
    apache_conf="/etc/lurker/apache.conf"
12
35
    db_get lurker/apache_config
13
 
    for server in $RET; do
14
 
      
15
 
      # check for obsolete Include entry
16
 
      if [ -f /etc/$server/httpd.conf ]; then
17
 
        includefile=/etc/lurker/apache.conf
18
 
        if grep -q "$includefile" /etc/$server/httpd.conf; then
19
 
          echo "Moving obsolete include out of /etc/$server/httpd.conf."
20
 
          mv -f /etc/$server/httpd.conf /etc/$server/httpd.conf.old.lurker
21
 
          grep -v "$includefile" /etc/$server/httpd.conf.old.lurker \
22
 
                > /etc/$server/httpd.conf
 
36
 
 
37
    if [ -z "$RET" ] && [ "$RET" = "none" ]; then
 
38
      echo "No servers selected to configure"
 
39
    else
 
40
      # create symlinks
 
41
      for server in $RET; do
 
42
        server=${server%,}
 
43
        
 
44
        if [ ! -f /etc/$server/conf.d/lurker ] && [ ! -h /etc/$server/conf.d/lurker ]; then
 
45
          case "$server" in
 
46
            apache|apache-ssl|apache-perl)
 
47
              if ! grep -q "^LoadModule rewrite_module " /etc/$server/modules.conf >/dev/null 2>&1; then
 
48
                echo
 
49
                echo "ERROR: lurker requires the $server rewrite module."
 
50
                echo "see README.Debian for more information."
 
51
                continue
 
52
              fi
 
53
            ;;
 
54
            apache2)
 
55
              if ! grep -q "^LoadModule rewrite_module" /etc/$server/mods-enabled/rewrite.load >/dev/null 2>&1; then
 
56
                echo
 
57
                echo "ERROR: lurker requires the $server rewrite module."
 
58
                echo "see README.Debian for more information."
 
59
                continue
 
60
              fi
 
61
            ;;
 
62
          esac
 
63
          echo -n "Automaticly configuring $server"
 
64
          ln -s $apache_conf /etc/$server/conf.d/lurker
 
65
          restart="$restart $server"
 
66
          echo "."
 
67
        else
 
68
          echo "$server already configured."
23
69
        fi
24
 
      fi
25
 
      
26
 
      # support new apache config style
27
 
      if [ -d /etc/$server/conf.d ]; then
28
 
 
29
 
        # create symlink
30
 
        if [ ! -f /etc/$server/conf.d/lurker -a ! -h /etc/$server/conf.d/lurker ]; then
31
 
          echo "Automaticly configuring $server."
32
 
          ln -s /etc/lurker/apache.conf /etc/$server/conf.d/lurker
33
 
          
34
 
          # restart apache
35
 
          if [ -x /usr/sbin/invoke-rc.d ]; then
36
 
              invoke-rc.d $server restart
37
 
          else
38
 
              /etc/init.d/$server restart
39
 
          fi
40
 
        else
41
 
          echo "$server already configured."
42
 
        fi
43
 
        export update=$server
44
 
      fi
45
 
    done
46
 
    if test ! $server; then
47
 
      echo "not configured any webserver. you have to configue it manually."
48
 
    fi
 
70
      done
 
71
      # restart servers
 
72
      for server in $restart; do
 
73
        invoke-rc.d $server restart
 
74
      done
 
75
    fi
 
76
    
 
77
    db_get lurker/upgrade_db
 
78
    if [ "$RET" = "automatic" ]; then
 
79
      echo "Automaticly regenerating lurker database."
 
80
      /usr/bin/lurker-regenerate
 
81
    fi
 
82
    
 
83
    # lurker configuration section
 
84
 
 
85
    db_get lurker/archive; archive=$RET
 
86
    db_get lurker/admin_name; admin_name=$RET
 
87
    db_get lurker/admin_address; admin_address=$RET
 
88
 
 
89
    # safely create a temporary file
 
90
    tempfile=`tempfile -m 644`
 
91
 
 
92
    sed -e "s/^[[:space:]]*archive[[:space:]]*=.*/archive = $archive/" \
 
93
        -e "s/^[[:space:]]*admin_name[[:space:]]*=.*/admin_name    = $admin_name/" \
 
94
        -e "s/^[[:space:]]*admin_address[[:space:]]*=.*/admin_address = $admin_address/" \
 
95
        < /usr/share/lurker/lurker.conf.template > $tempfile
49
96
    
50
97
    # ucf section
51
 
    ucf --three-way "/usr/share/lurker/lurker.conf" "/etc/lurker/lurker.conf"
52
 
 
53
 
    # lurker configuration section
54
 
    db_get lurker/archive
55
 
    sed -e "s/^[[:space:]]*archive[[:space:]]*=.*/archive = $RET/" < /etc/lurker/lurker.conf > /etc/lurker/lurker.conf.new
56
 
    
57
 
    db_get lurker/admin_name
58
 
    sed -e "s/^[[:space:]]*admin_name[[:space:]]*=.*/admin_name    = $RET/" < /etc/lurker/lurker.conf.new > /etc/lurker/lurker.conf.new2
59
 
    
60
 
    db_get lurker/admin_address
61
 
    sed -e "s/^[[:space:]]*admin_address[[:space:]]*=.*/admin_address = $RET/" < /etc/lurker/lurker.conf.new2 > /etc/lurker/lurker.conf.new
62
 
    
63
 
    mv -f /etc/lurker/lurker.conf.new /etc/lurker/lurker.conf
64
 
    rm /etc/lurker/lurker.conf.new2
65
 
    
66
 
    db_get lurker/upgrade_db
67
 
    case $RET in
68
 
      automatic)
69
 
        /usr/bin/lurker-regenerate /usr/bin/lurker-index /etc/lurker/lurker.conf
70
 
      ;;
71
 
    esac
 
98
    /usr/bin/ucf --three-way $tempfile /etc/lurker/lurker.conf
 
99
 
 
100
    # remove tempfile
 
101
    rm -f $tempfile
 
102
 
 
103
    # set the lurker system group password
 
104
    db_get lurker/group_passwd
 
105
    echo "lurker:$RET" | /usr/sbin/chgpasswd
 
106
    RET=""
72
107
 
73
108
    db_stop
74
 
    
75
 
    sg lurker -c true 2> /dev/null || addgroup --system lurker
76
 
    chown root.lurker -R /var/lib/lurker
77
 
    chmod g+ws /var/lib/lurker
78
 
    chown www-data.www-data -R /var/www/lurker/attach /var/www/lurker/list /var/www/lurker/m* /var/www/lurker/s* /var/www/lurker/thread /var/www/lurker/lurker.docroot
79
 
    chown root.root /var/www/lurker
80
 
    
81
 
    ;;
82
109
 
 
110
    # clean web cache
 
111
    if [ -x /usr/bin/lurker-prune ] && [ -f /etc/lurker/lurker.conf ] && [ -f /var/lib/lurker/db ]; then
 
112
      echo "Pruning the lurker webserver cache."
 
113
      su - www-data -c "/usr/bin/lurker-prune -p"
 
114
    fi
 
115
  ;;
83
116
  abort-upgrade|abort-remove|abort-deconfigure)
84
117
 
85
118
  ;;
86
 
 
87
119
  *)
88
120
    echo "postinst called with unknown argument \`$1'" >&2
89
121
    exit 0
90
122
  ;;
91
123
esac
92
 
 
93
 
#DEBHELPER#