X-Git-Url: http://ftp.carnet.hr/carnet-debian/scm?a=blobdiff_plain;f=debian%2Fpostinst;h=bd93964ba60f2e6fb4a7670f92b17f74fdd258d1;hb=e206da1fdeb7945986319d4f8338c9b8b3dbec4b;hp=6979c4eea7d25e9ba4bed187ad623b483b0be69e;hpb=906c6d4612c3e766f947a1d1ebb332fed30ae2f1;p=php4-cn.git diff --git a/debian/postinst b/debian/postinst index 6979c4e..bd93964 100755 --- a/debian/postinst +++ b/debian/postinst @@ -51,6 +51,20 @@ phpmemlimit () { echo $memlimit } +# phpinivalidate () +# +# Validate php.ini values. +# +phpinivalidate () { + + local ini_file + ini_file="$1" + + awk -F'[[:space:]]*=[[:space:]]*' \ + '/^[[:space:]]*[[:alpha:]_]+[[:space:]]*=[[:space:]]*[[:digit:]]+[MGK]B/ {print $1" = "$2}' \ + "$ini_file" +} + # Disable PHP5 module and enable Apache2 PHP4 module. # @@ -96,6 +110,7 @@ for SAPI in apache2 cli; do cp_mv $ini_file_tmp $ini_file need_restart=1 fi + chmod 644 $ini_file done @@ -139,7 +154,7 @@ for php4ext in $EXTENSIONS; do cp_echo "CN: Adding $php4ext extension to file $PHP4CONFD/$php4ext.ini" - printf "# configuration for php %s module\nextension=%s\n" "${php4ext_up}" "${php4ext}" >> "$INITMP" + printf "# configuration for php %s module\nextension=%s.so\n" "${php4ext_up}" "${php4ext}" >> "$INITMP" cp_mv "$INITMP" "$PHP4CONFD/$php4ext.ini" need_restart=1 @@ -157,6 +172,7 @@ for php4ext in $EXTENSIONS; do need_restart=1 fi fi + chmod 644 $PHP4CONFD/$php4ext.ini done @@ -172,11 +188,10 @@ for SAPI in apache2 cli; do continue fi + ini_file="$PHP4DIR/$SAPI/php.ini" db_get php4-cn/${SAPI} || true if [ "$RET" = "true" ]; then - ini_file="$PHP4DIR/$SAPI/php.ini" - cp_echo "CN: Checking and enabling some specific parameters in file $ini_file" phplimit="$(phpmemlimit)M" @@ -214,11 +229,27 @@ for SAPI in apache2 cli; do need_restart=1 fi cp_mv "$ini_file_tmp" "$ini_file" + chmod 644 "$ini_file" if [ -e "$ini_file_tmp" ]; then rm -f "$ini_file_tmp" fi fi + + # Validate php.ini values. + if [ -f "$ini_file" ]; then + php4_inivalues="$(phpinivalidate "$ini_file")" + if [ -n "$php4_inivalues" ]; then + db_fset php4-cn/inivalues seen false + db_title php4-cn - konfiguracija za $(echo ${SAPI} | sed 's/a/A/;s/cli/CLI/') + db_subst php4-cn/inivalues php4_sapi $(echo ${SAPI} | sed 's/a/A/;s/cli/CLI/') + db_subst php4-cn/inivalues ini_file "$ini_file" + db_capb escape + db_subst php4-cn/inivalues php4_inivalues "$(echo -n "$php4_inivalues" | debconf-escape -e)" + db_input critical php4-cn/inivalues || true + db_go || true + fi + fi done