summaryrefslogtreecommitdiff
path: root/apt
diff options
context:
space:
mode:
authorDaniel Hartwig <mandyke@gmail.com>2012-09-05 11:31:03 +0800
committerJulian Andres Klode <jak@debian.org>2013-10-10 12:45:02 +0200
commit03b1e193ecf6ef09f38982ab752ee6998cf626d8 (patch)
treee4b1aca4e416ba26aa3c2ef3a51e99f4408dae92 /apt
parent0c14ca98b696f25e6359da695601c50a8217c423 (diff)
downloadpython-apt-03b1e193ecf6ef09f38982ab752ee6998cf626d8.tar.gz
apt/package.py: mark_upgrade misuses FromUser to set auto-installed
Package.mark_upgrade uses FromUser for it's side effect of setting a package as auto-installed (or not). However, FromUser is also influential in pkgDepCache::IsModeChangeOk to determine whether an action should override a dpkg hold, etc.. Closes: #686726
Diffstat (limited to 'apt')
-rw-r--r--apt/package.py5
1 files changed, 3 insertions, 2 deletions
diff --git a/apt/package.py b/apt/package.py
index f5aa5237..04d4dddd 100644
--- a/apt/package.py
+++ b/apt/package.py
@@ -1109,11 +1109,12 @@ class Package(object):
fixer.resolve(True)
self._pcache.cache_post_change()
- def mark_upgrade(self):
+ def mark_upgrade(self, from_user=True):
"""Mark a package for upgrade."""
if self.is_upgradable:
- from_user = not self._pcache._depcache.is_auto_installed(self._pkg)
+ auto = self.is_auto_installed
self.mark_install(from_user=from_user)
+ self.mark_auto(auto)
else:
# FIXME: we may want to throw a exception here
sys.stderr.write(("MarkUpgrade() called on a non-upgrable pkg: "