Remove desktop applications via xserver-xorg.
[carnet-upgrade.git] / src / functions.sh
index 94db9b0..deffe51 100644 (file)
@@ -128,11 +128,26 @@ apt_autoremove () {
   }
 }
 
+# remove stale package information from available
+#   warning, in file '/var/lib/dpkg/available'
+#   near line 58185 package 'vim-cn': missing architecture
+cleanup_available () {
+  log "Cleaning dpkg available file"
+
+  available=$(mktemp /var/lib/carnet-upgrade/available.XXXXXX)
+  apt-cache dumpavail > $available
+
+  dpkg --clear-avail
+  dpkg --update-avail $available
+
+  rm -f $available
+}
+
 remove_x() {
   LC_MESSAGES=hr_HR dialog --backtitle "$title" --yesno "$msg_remove_x" 18 75
   if [ $? -eq 0 ]; then
     log "Removing X Window System"
-    pkgrm x11-common
+    pkgrm xserver-xorg
   else
     log "Skipping X Window System removal"
   fi
@@ -500,7 +515,12 @@ install_new () {
 create_sources_list () {
     local sl sl_new
     sl=/etc/apt/sources.list
-    sl_new=/usr/share/carnet-upgrade/files/etc/apt/sources.list
+    sl_new=$( copy_template $sl )
+
+    # comment aai repository if not in use
+    if ! pkg srce-keyring; then
+        sed -i 's/^\(deb.*ftp.srce.hr\)/#\1/' $sl_new
+    fi
 
     # check if already installed
     if ! cmp $sl $sl_new >/dev/null; then
@@ -516,8 +536,9 @@ create_sources_list () {
 
 `cat /etc/apt/sources.list`"
     fi
-}
 
+    rm $sl_new
+}
 
 # funkcija koja brise grupu proc
 remove_group_proc () {
@@ -766,14 +787,14 @@ apt_listchanges () {
       case $command in
            disable)
                if [ -f $file ]; then
-                   dpkg-divert --local --rename --divert $file.$backup_ext \
+                   dpkg-divert --local --rename --divert $file.disabled \
                                --add $file || true
                fi
                ;;
 
            enable)
-               if [ -f $file.$backup_ext ]; then
-                   dpkg-divert --remove $file || true
+               if [ -f $file.disabled ]; then
+                   dpkg-divert --rename --remove $file || true
                fi
                ;;
      esac
@@ -782,9 +803,14 @@ apt_listchanges () {
 
 # make a silent installation of carnet and srce keyrings
 install_keyrings () {
-  pkgadd carnet-keyring srce-keyring debian-archive-keyring
+  pkgadd carnet-keyring debian-archive-keyring
+  dpkg-reconfigure carnet-keyring debian-archive-keyring
+
+  if pkg srce-keyring; then
+    pkgadd srce-keyring
+    dpkg-reconfigure srce-keyring
+  fi
 
-  dpkg-reconfigure carnet-keyring srce-keyring debian-archive-keyring
   apt_update
 }
 
@@ -952,8 +978,10 @@ upgrade_munin () {
   local config backup hostname domain
 
   # new htmldir location
-  mkdir -p /var/cache/munin
-  mv /var/www/munin /var/cache/munin/www
+  if [ -d /var/www/munin -a ! -e /var/cache/munin/www ]; then
+    mkdir -p /var/cache/munin
+    mv /var/www/munin /var/cache/munin/www
+  fi
 
   for pkg_name in munin munin-node; do
      pkg $pkg_name lt '1.4.5-3' || continue