X-Git-Url: http://ftp.carnet.hr/pub/carnet-debian/scm?a=blobdiff_plain;ds=sidebyside;f=src%2Ffunctions.sh;h=7511bc2908664605644bf434db4b09165dcf7b9c;hb=3d86bafffc213b905aa72dfcaba045d22997e7c2;hp=ff9003333cff112b3df17d727654439e8c394df9;hpb=bf6e2a53d68e0eb92c170a04747cc18c28df84d5;p=carnet-upgrade.git diff --git a/src/functions.sh b/src/functions.sh index ff90033..7511bc2 100644 --- a/src/functions.sh +++ b/src/functions.sh @@ -451,8 +451,11 @@ 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 Etch potrebno je napraviti nadogradnju sa PHP 4 na PHP 5. +Prije prelaska na Debian Lenny potrebno je napraviti nadogradnju sa PHP 4 na PHP 5. Pokrenite: # apt-get update @@ -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` @@ -659,7 +689,7 @@ backup_slapd_db () { [ -x /etc/init.d/freeradius ] && /etc/init.d/freeradius start || true else log "slapd backup already at $ldap_backup, skipping." - notice "Backup slapd baze u $ldap_backup vec postoji!" + #notice "Backup slapd baze u $ldap_backup vec postoji!" fi } @@ -683,7 +713,7 @@ backup_etc_dir () { umask $old_umask else log "/etc backup already present in $etc_backup, skipping." - notice "Backup /etc direktorija u $etc_backup vec postoji!" + #notice "Backup /etc direktorija u $etc_backup vec postoji!" fi } @@ -898,6 +928,12 @@ remove_skey () { fi } +# remove unsupported php version +remove_php4 () { + # leave the configuration just in case + pkgrm_only php4-common +} + # check if package is orphaned (nothing depends on it) is_orphaned () { local package deps