From aff278bfea6ebb29cad5de272eb9539057ddd3bd Mon Sep 17 00:00:00 2001 From: Michael Vogt Date: Tue, 21 Jul 2009 17:50:54 +0200 Subject: Only run Download-Upgradable and Unattended-Upgrades if the initial update was successful Closes: #341970 --- debian/apt.cron.daily | 8 +++++--- debian/changelog | 6 +++--- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/debian/apt.cron.daily b/debian/apt.cron.daily index 39bf5bc1d..cc81a3a69 100644 --- a/debian/apt.cron.daily +++ b/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)" diff --git a/debian/changelog b/debian/changelog index cf9231105..668cf5596 100644 --- a/debian/changelog +++ b/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 Thu, 28 May 2009 17:51:42 +0200 [ Michael Vogt ] -- cgit v1.2.3