X-Git-Url: http://ftp.carnet.hr/pub/carnet-debian/scm?a=blobdiff_plain;f=src%2Ffunctions.sh;h=2d3df43a0b08075189cb085a4bf0995634714c83;hb=2220806fde634c565bbc2b1ca0be78cccacf0df6;hp=175d263fdebb00c63a78a3ad5f6d7141fb0cfd2e;hpb=9ff871ffc7188d48d09a445a395f01428c8aaf82;p=carnet-upgrade.git diff --git a/src/functions.sh b/src/functions.sh index 175d263..2d3df43 100644 --- a/src/functions.sh +++ b/src/functions.sh @@ -451,6 +451,9 @@ check_my_version () { check_php_version () { if pkg php4-cn && ! pkg php5-cn; then + # prepare for php upgrade by installing php5 extensions + install_php5_extensions + notice " Prije prelaska na Debian Lenny potrebno je napraviti nadogradnju sa PHP 4 na PHP 5. @@ -464,6 +467,33 @@ Nakon sto provjerite da sve web aplikacije rade ispravno, ponovno pozovite ovu s fi } +# install php5 extensions based on installed php4 extensions +install_php5_extensions () { + local php4_list php5_pkg + + # get a list of installed php4 packages + php4_list=$(mktemp /var/lib/carnet-upgrade/php4_list.XXXXXX) + dpkg -l php4-\* | awk '/^ii/ { + pkg=$2; sub("^php4", "php5", pkg); print pkg }' > $php4_list + + # compare it with the list of available php5 packages + php5_pkg=$(apt-cache search -n ^php5- | cut -d' ' -f 1 \ + | grep -F -x -f $php4_list | grep -F -x -v php5-cn) + + # handle special cases + if pkg php4-xslt; then + php5_pkg="$php5_pkg php5-xsl" + fi + + # install the required php5 modules + if [ "$php5_pkg" ]; then + pkgadd $php5_pkg + fi + + # cleanup + rm -f $php4_list +} + # if grsec is installed make sure it is fresh check_grsec_kernel () { local ver=`uname -r` @@ -787,6 +817,8 @@ restore_configs () { restore_config kernel-2.6-cn libpam-modules 1.0.1-5 /etc/security/limits.conf restore_config samba-cn samba-common 2:3.2.5-4lenny2 /etc/samba/smb.conf restore_config '' base-files 5lenny2 /etc/issue /etc/issue.net + restore_config php5-cn php5-cli 5.2.6.dfsg.1-1+lenny2 /etc/php5/cli/php.ini + restore_config php5-cn libapache2-mod-php5 5.2.6.dfsg.1-1+lenny2 /etc/php5/apache2/php.ini # check if monitrc is template based if [ -f /etc/monit/monitrc -a ! -f /etc/monit/monitrc.$backup_ext ]; then @@ -949,18 +981,17 @@ upgrade_libc () { DEBIAN_FRONTEND=noninteractive pkgadd libc6 tzdata } -# upgrade apache2 to etch +# upgrade apache2 to lenny upgrade_apache2 () { local package packages for package in \ - libapache2-mod-php4 \ - php4-cli \ - php4-cgi \ - php4-cn \ + libapache2-mod-php5 \ + php5-cli \ + php5-cn \ apache2-cn \ - php4-odbc \ - php4-suhosin \ + php5-odbc \ + php5-suhosin \ php-suhosin-cn do if pkg $package; then @@ -968,11 +999,6 @@ upgrade_apache2 () { fi done - # enable suhosin downgrade to etch version - if pkg php4-suhosin; then - pkgrm php4-suhosin php-suhosin-cn - fi - eval pkgadd $packages }