Properly disable apt-listchanges.
[carnet-upgrade.git] / src / functions.sh
index fa0406b..f5a0859 100644 (file)
@@ -128,6 +128,21 @@ 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
@@ -772,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