93754a0ccb1fbe1dd32c4131930d7adddb506079
[php5-cn.git] / debian / config
1 #!/bin/sh
2
3 set -e
4
5 # Load debconf
6 . /usr/share/debconf/confmodule
7
8 if [ "$1" != reconfigure ]; then
9
10     php5_done=1
11
12     for SAPI in apache2 cli; do
13         db_fget php5-cn/${SAPI} seen
14         if [ "$RET" != "true" ]; then
15             php5_done=0
16             break
17         fi
18     done
19
20     test $php5_done -eq 1 && exit 0
21 fi
22
23 PHP5DIR="/etc/php5"
24
25 # phpmemlimit ()
26 #
27 #   Calculate memory size for PHP memory_limit option.
28 #
29 phpmemlimit () {
30
31     local memtotal memlimit
32     memtotal=`awk 'tolower($1) == "memtotal:" { printf("%i", $2/1024); }' /proc/meminfo`
33
34     if [ $memtotal -lt 512 ]; then memlimit=16; fi
35     if [ $memtotal -ge 512 ]; then memlimit=32; fi
36     if [ $memtotal -gt 1024 ]; then memlimit=64; fi
37
38     echo $memlimit
39 }
40
41
42 # Check for PHP5 SAPI configuration.
43 #
44 for SAPI in apache2 cli; do
45
46     if [ ! -d "$PHP5DIR/$SAPI" ]; then
47         continue
48     fi
49
50     ini_diff=0
51     ini_file="$PHP5DIR/$SAPI/php.ini"
52     
53     phplimit="$(phpmemlimit)M"
54
55     if [ -f "$ini_file" ]; then
56
57         if egrep -q "^[[:space:]]*(upload_max_filesize|post_max_size|memory_limit)[[:space:]]*=" $ini_file; then
58
59             upload_max_filesize=`awk '$1 == "upload_max_filesize" { print $3; exit(0) }' $ini_file`
60             post_max_size=`awk '$1 == "post_max_size" { print $3; exit(0) }' $ini_file`
61             memory_limit=`awk '$1 == "memory_limit" { print $3; exit(0) }' $ini_file`
62
63             if [ "$upload_max_filesize" != "256M" ]; then ini_diff=1; fi
64             if [ "$post_max_size" != "$phplimit" ]; then ini_diff=1; fi
65             if [ "$memory_limit" != "$phplimit" ]; then ini_diff=1; fi
66         else
67         
68             ini_diff=1
69         fi
70     else
71     
72         ini_diff=1
73     fi
74     
75     if [ $ini_diff -eq 1 ]; then
76
77         # Configurations are not the same - ask user what to do.
78         test -z "$upload_max_filesize" && upload_max_filesize="2M"
79         test -z "$post_max_size" && post_max_size="8M"
80         test -z "$memory_limit" && memory_limit="16M"
81         
82         db_title php5-cn - konfiguracija za $(echo ${SAPI} | sed 's/a/A/;s/cli/CLI/')
83         db_subst php5-cn/${SAPI} ini_file "$ini_file"
84
85         db_subst php5-cn/${SAPI} upload_max_filesize "$upload_max_filesize"
86         db_subst php5-cn/${SAPI} post_max_size "$post_max_size"
87         db_subst php5-cn/${SAPI} memory_limit "$memory_limit"
88         
89         db_subst php5-cn/${SAPI} new_phplimit "$phplimit"
90
91         db_input critical php5-cn/${SAPI} || true
92         db_go || true
93     else
94     
95         db_set php5-cn/${SAPI} false || true
96         db_fset php5-cn/${SAPI} seen true
97     fi
98
99 done
100
101 exit 0