* dodana config skripta (slicno kao kod php4-cn za Debian sarge)
[php4-cn.git] / debian / config
diff --git a/debian/config b/debian/config
new file mode 100755 (executable)
index 0000000..6140a86
--- /dev/null
@@ -0,0 +1,105 @@
+#!/bin/sh
+
+set -e
+
+# Load debconf
+. /usr/share/debconf/confmodule
+
+if [ "$1" != reconfigure ]; then
+
+    php4_done=1
+
+    for SAPI in apache2 cli; do
+       db_fget php4-cn/${SAPI} seen
+       if [ "$RET" != "true" ]; then
+           php4_done=0
+           break
+       fi
+    done
+
+    test $php4_done -eq 1 && exit 0
+fi
+
+PHP4DIR="/etc/php4"
+
+# phpmemlimit ()
+#
+#   Calculate memory size for PHP memory_limit option.
+#
+phpmemlimit () {
+
+    local memtotal memlimit
+    memtotal=`awk 'tolower($1) == "memtotal:" { printf("%i", $2/1024); }' /proc/meminfo`
+
+    if [ $memtotal -lt 512 ]; then memlimit=16; fi
+    if [ $memtotal -ge 512 ]; then memlimit=32; fi
+    if [ $memtotal -gt 1024 ]; then memlimit=64; fi
+
+    echo $memlimit
+}
+
+
+# Check for PHP4 SAPI configuration.
+#
+for SAPI in apache2 cli; do
+
+    if [ ! -d "$PHP4DIR/$SAPI" ]; then
+        continue
+    fi
+
+    ini_diff=0
+    ini_file="$PHP4DIR/$SAPI/php.ini"
+    
+    phplimit="$(phpmemlimit)M"
+
+    if [ -f "$ini_file" ]; then
+
+        if egrep -q "^[[:space:]]*(upload_max_filesize|post_max_size|memory_limit)[[:space:]]*=" $ini_file; then
+
+           upload_max_filesize=`awk '$1 == "upload_max_filesize" { print $3; exit(0) }' $ini_file`
+           post_max_size=`awk '$1 == "post_max_size" { print $3; exit(0) }' $ini_file`
+           memory_limit=`awk '$1 == "memory_limit" { print $3; exit(0) }' $ini_file`
+
+           if [ "$upload_max_filesize" != "256M" ]; then ini_diff=1; fi
+           if [ "$post_max_size" != "$phplimit" ]; then ini_diff=1; fi
+           if [ "$memory_limit" != "$phplimit" ]; then ini_diff=1; fi
+       else
+       
+           ini_diff=1
+       fi
+    else
+    
+       ini_diff=1
+    fi
+    
+    if [ $ini_diff -eq 1 ]; then
+
+       # Configurations are not the same - ask user what to do.
+       test -z "$upload_max_filesize" && upload_max_filesize="2M"
+       test -z "$post_max_size" && post_max_size="8M"
+       if [ "$SAPI" = "cli" ]; then
+           test -z "$memory_limit" && memory_limit="32M"
+       else
+           test -z "$memory_limit" && memory_limit="8M"
+       fi
+       
+       db_title php4-cn - konfiguracija za $(echo ${SAPI} | sed 's/a/A/;s/cli/CLI/')
+       db_subst php4-cn/${SAPI} ini_file "$ini_file"
+
+       db_subst php4-cn/${SAPI} upload_max_filesize "$upload_max_filesize"
+       db_subst php4-cn/${SAPI} post_max_size "$post_max_size"
+       db_subst php4-cn/${SAPI} memory_limit "$memory_limit"
+       
+       db_subst php4-cn/${SAPI} new_phplimit "$phplimit"
+
+       db_input critical php4-cn/${SAPI} || true
+       db_go || true
+    else
+    
+       db_set php4-cn/${SAPI} false || true
+       db_fset php4-cn/${SAPI} seen true
+    fi
+
+done
+
+exit 0