[PATCH 0/2] Fixes for apt swupdate

From: Royce Lv <lvroyce@linux.vnet.ibm.com> Tested: Ubuntu 13.10 Royce Lv (2): Fix swupdate listing Add lock in swupdate src/kimchi/swupdate.py | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) -- 1.8.3.2

From: Royce Lv <lvroyce@linux.vnet.ibm.com> In ubuntu 13.10, package does not have architecture method, using pkg.architecture() raises error. workaround by using _pkg.architecture. dir(pkg) output: ['_Package__set_candidate', '__class__', '__delattr__', '__dict__', '__doc__', '__format__', '__getattribute__', '__hash__', '__init__', '__lt__', '__module__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', '_changelog', '_pcache', '_pkg', 'candidate', 'commit', 'essential', 'fullname', 'get_changelog', 'id', 'installed', 'installed_files', 'is_auto_installed', 'is_auto_removable', 'is_inst_broken', 'is_installed', 'is_now_broken', 'is_upgradable', 'mark_auto', 'mark_delete', 'mark_install', 'mark_keep', 'mark_upgrade', 'marked_delete', 'marked_downgrade', 'marked_install', 'marked_keep', 'marked_reinstall', 'marked_upgrade', 'name', 'section', 'shortname', 'versions'] Signed-off-by: Royce Lv <lvroyce@linux.vnet.ibm.com> --- src/kimchi/swupdate.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/kimchi/swupdate.py b/src/kimchi/swupdate.py index 9489900..e2fdc29 100644 --- a/src/kimchi/swupdate.py +++ b/src/kimchi/swupdate.py @@ -209,9 +209,10 @@ class AptUpdate(object): for pkg in self._pkgs: package = {'package_name': pkg.shortname, 'version': pkg.candidate.version, - 'arch': pkg.architecture(), + 'arch': pkg._pkg.architecture, 'repository': pkg.candidate.origins[0].label} pkg_list.append(package) + return pkg_list -- 1.8.3.2

From: Royce Lv <lvroyce@linux.vnet.ibm.com> Add apt system lock to swupdate. Signed-off-by: Royce Lv <lvroyce@linux.vnet.ibm.com> --- src/kimchi/swupdate.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/kimchi/swupdate.py b/src/kimchi/swupdate.py index e2fdc29..bd0d4e9 100644 --- a/src/kimchi/swupdate.py +++ b/src/kimchi/swupdate.py @@ -184,6 +184,7 @@ class AptUpdate(object): """ def __init__(self): self._pkgs = {} + self.pkg_lock = getattr(__import__('apt_pkg'), 'SystemLock') self.update_cmd = ['apt-get', 'upgrade', '-y'] def _refreshUpdateList(self): @@ -191,9 +192,10 @@ class AptUpdate(object): Update the list of packages to be updated in the system. """ apt_cache = getattr(__import__('apt'), 'Cache')() - apt_cache.update() - apt_cache.upgrade() - self._pkgs = apt_cache.get_changes() + with self.pkg_lock(): + apt_cache.update() + apt_cache.upgrade() + self._pkgs = apt_cache.get_changes() def getPackagesList(self): """ -- 1.8.3.2
participants (2)
-
Aline Manera
-
lvroyce@linux.vnet.ibm.com