Explorar el Código

Only run Download-Upgradable and Unattended-Upgrades if the initial
update was successful Closes: #341970

Michael Vogt hace 17 años
padre
commit
aff278bfea
Se han modificado 2 ficheros con 8 adiciones y 6 borrados
  1. 5 3
      debian/apt.cron.daily
  2. 3 3
      debian/changelog

+ 5 - 3
debian/apt.cron.daily

@@ -335,7 +335,7 @@ if which on_ac_power >/dev/null; then
 fi
 
 # check if we can lock the cache and if the cache is clean
-if which apt-get >/dev/null && ! eval apt-get check $XAPTOPT $XSTDERR ; then
+if which apt-get >/dev/null && ! eval apt-get check -f $XAPTOPT $XSTDERR ; then
     debug_echo "error encountered in cron job with \"apt-get check\"."
     exit 0
 fi
@@ -378,6 +378,7 @@ do_cache_backup $BackupArchiveInterval
 random_sleep
 
 # update package lists
+UPDATED=0
 UPDATE_STAMP=/var/lib/apt/periodic/update-stamp
 if check_stamp $UPDATE_STAMP $UpdateInterval; then
     if eval apt-get $XAPTOPT -y update $XSTDERR; then
@@ -392,6 +393,7 @@ if check_stamp $UPDATE_STAMP $UpdateInterval; then
 	    debug_echo "dbus signal not send (command not available)"
 	fi
 	update_stamp $UPDATE_STAMP
+	UPDATED=1
     else
 	debug_echo "download updated metadata (error)"
     fi
@@ -401,7 +403,7 @@ fi
 	
 # download all upgradeable packages (if it is requested)
 DOWNLOAD_UPGRADEABLE_STAMP=/var/lib/apt/periodic/download-upgradeable-stamp
-if check_stamp $DOWNLOAD_UPGRADEABLE_STAMP $DownloadUpgradeableInterval; then
+if [ $UPDATED -eq 1 ] && check_stamp $DOWNLOAD_UPGRADEABLE_STAMP $DownloadUpgradeableInterval; then
     if  eval apt-get $XAPTOPT -y -d dist-upgrade $XSTDERR; then
 	update_stamp $DOWNLOAD_UPGRADEABLE_STAMP
 	debug_echo "download upgradable (success)"
@@ -414,7 +416,7 @@ fi
 
 # auto upgrade all upgradeable packages
 UPGRADE_STAMP=/var/lib/apt/periodic/upgrade-stamp
-if which unattended-upgrade >/dev/null && check_stamp $UPGRADE_STAMP $UnattendedUpgradeInterval; then
+if [ $UPDATED -eq 1 ] && which unattended-upgrade >/dev/null && check_stamp $UPGRADE_STAMP $UnattendedUpgradeInterval; then
     if unattended-upgrade $XUUPOPT; then
 	update_stamp $UPGRADE_STAMP
 	debug_echo "unattended-upgrade (success)"

+ 3 - 3
debian/changelog

@@ -4,8 +4,6 @@ apt (0.7.21) UNRELEASED; urgency=low
   * Updated cron script to support backups by hardlinks and 
     verbose levels.  All features turned off by default. 
   * Added more error handlings.  Closes: #438803, #462734, #454989, 
-  * Refactored condition structure to make download and upgrade performed 
-    if only previous steps succeeded. Closes: #341970
   * Documented all cron script related configuration items in 
     configure-index.
 
@@ -29,7 +27,9 @@ apt (0.7.21) UNRELEASED; urgency=low
       HttpMethod::ServerDie() (LP: #385144)
   * apt-pkg/deb/dpkgpm.cc:
     - provide DPkg::Chroot-Directory config option (useful for testing)
-
+  * Only run Download-Upgradable and Unattended-Upgrades if the initial
+    update was successful Closes: #341970
+  
  -- Michael Vogt <michael.vogt@ubuntu.com>  Thu, 28 May 2009 17:51:42 +0200
 
   [ Michael Vogt ]