More fixes for apache upgrade function.
[carnet-upgrade.git] / src / functions.sh
index b638104..09821a3 100644 (file)
@@ -328,11 +328,8 @@ add_group_proc () {
     log "groupadd -g 99 proc"
 
     # update oidentd so it uses the proc group
-    if [ -x /etc/init.d/oidentd -a -f /etc/default/oidentd ]; then
-       if check_and_sed '^OIDENT_GROUP=oident' \
-                         's/^\(OIDENT_GROUP\)=.*/\1=proc/' \
-                         /etc/default/oidentd;
-        then
+    if [ -x /etc/init.d/oidentd ]; then
+        if gpasswd -a oident proc; then
             /etc/init.d/oidentd restart
         fi
     fi
@@ -473,6 +470,16 @@ install_keyrings () {
   update
 }
 
+# remove skey (not supported anymore)
+remove_skey () {
+  pkgrm skey-cn libpam-skey
+
+  if getent group skey > /dev/null; then
+    groupdel skey || true
+    log "groupdel skey"
+  fi
+}
+
 # make a silent upgrade to new libc6
 upgrade_libc () {
   DEBIAN_FRONTEND=noninteractive pkgadd libc6
@@ -485,14 +492,31 @@ upgrade_apache () {
   mkdir -p /etc/apache2
   touch /etc/apache2/httpd.conf
 
+  # register cn changes in modules.conf
+  modules_conf=/etc/apache/modules.conf
+  if [ ! -e "$modules_conf.cn4-upgrade" ]; then
+      cp "$modules_conf" "$modules_conf.cn4-upgrade"
+      ucf $modules_conf $modules_conf
+  fi
+
   # temporary remove packages conflicting with apache2
   delpkg=""
   for p in aosi-aai aosi-www-aai \
            php4-cn php4-odbc php4-xslt \
            squirrelmail-cn; do
-     pkg p && delpkg="$delpkg $p"
+
+     # remember installed packages
+     if pkg $p; then
+         delpkg="$delpkg $p"
+     fi
   done
-  eval pkgrm $delpkg
+
+  # remove problematic stuff
+  if [ "$delpkg" ]; then
+      eval apt-get --yes remove $delpkg
+  fi
+
+  # remove old apache
   pkgrm apache apache-common
 
   # install new packages