summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Vogt <michael.vogt@ubuntu.com>2009-07-21 17:50:54 +0200
committerMichael Vogt <michael.vogt@ubuntu.com>2009-07-21 17:50:54 +0200
commitaff278bfea6ebb29cad5de272eb9539057ddd3bd (patch)
treee278c2fae1b2d8be0e1035d7ffdb947de758acf5
parent0fad7309fbc20a7ca838e241e5118bf56f39946c (diff)
Only run Download-Upgradable and Unattended-Upgrades if the initial
update was successful Closes: #341970
-rw-r--r--debian/apt.cron.daily8
-rw-r--r--debian/changelog6
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 <michael.vogt@ubuntu.com> Thu, 28 May 2009 17:51:42 +0200
[ Michael Vogt ]