Permalink
Browse files

fixes for yum module for rhel5 and issue 269

  • Loading branch information...
1 parent c701e59 commit a3ab793ba862676efdfa27de7262f1c99aebc009 @skvidal skvidal committed Apr 27, 2012
Showing with 16 additions and 2 deletions.
  1. +16 −2 library/yum
View
@@ -57,13 +57,24 @@ def pkg_to_dict(po):
'epoch':po.epoch,
'release':po.release,
'version':po.version,
- 'repo':po.ui_from_repo,
- '_nevra':po.ui_nevra,
}
+
if type(po) == yum.rpmsack.RPMInstalledPackage:
d['yumstate'] = 'installed'
+ d['repo'] = 'installed'
else:
d['yumstate'] = 'available'
+ d['repo'] = po.repoid
+
+ if hasattr(po, 'ui_from_repo'):
+ d['repo'] = po.ui_from_repo
+
+ if hasattr(po, 'ui_nevra'):
+ d['_nevra'] = po.ui_nevra
+ else:
+ d['_nevra'] = '%s-%s-%s.%s' % (po.name, po.version, po.release, po.arch)
+
+
return d
@@ -215,6 +226,9 @@ def ensure(my, state, pkgspec):
if state == 'latest':
updates = my.doPackageLists(pkgnarrow='updates', patterns=[pkgspec]).updates
+ # sucks but this is for rhel5 - won't matter for rhel6 or fedora or whatnot
+ e,m,u = yum.parsePackages(updates, [pkgspec], casematch=True)
+ updates = e + m
avail = my.doPackageLists(pkgnarrow='available', patterns=[pkgspec]).available
if not updates and not avail:
if not my.doPackageLists(pkgnarrow='installed', patterns=[pkgspec]).installed:

0 comments on commit a3ab793

Please sign in to comment.