Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 1 | |
| 2 | This patch checks for rpm5 related functions in order to allow rpm4 |
| 3 | to work correctly. Currently the rpm4 archscore and filter work |
| 4 | differently enough that they need to be changed. |
| 5 | |
| 6 | Upstream-Status: Inappropriate [OE-Core Specific] |
| 7 | |
| 8 | Signed-off-by: Saul Wold <sgw@linux.intel.com> |
| 9 | |
| 10 | Index: smart-1.4.1/smart/backends/rpm/base.py |
| 11 | =================================================================== |
| 12 | --- smart-1.4.1.orig/smart/backends/rpm/base.py |
| 13 | +++ smart-1.4.1/smart/backends/rpm/base.py |
| 14 | @@ -338,10 +338,14 @@ class RPMObsoletes(Depends): |
| 15 | |
| 16 | _SCOREMAP = {} |
| 17 | def getArchScore(arch, _sm=_SCOREMAP): |
| 18 | - if arch not in _sm: |
| 19 | - score = rpm.archscore(arch) |
| 20 | - _sm[arch] = score |
| 21 | - return _sm.get(arch, 0) |
| 22 | + try: |
| 23 | + rpm.platformscore(arch) |
| 24 | + if arch not in _sm: |
| 25 | + score = rpm.archscore(arch) |
| 26 | + _sm[arch] = score |
| 27 | + return _sm.get(arch, 0) |
| 28 | + except AttributeError: |
| 29 | + return 1 |
| 30 | |
| 31 | # TODO: Embed color into nameprovides and obsoletes relations. |
| 32 | _COLORMAP = {"noarch": 0, "x86_64": 2, "ppc64": 2, "s390x": 2, "sparc64": 2} |
| 33 | Index: smart-1.4.1/smart/backends/rpm/pm.py |
| 34 | =================================================================== |
| 35 | --- smart-1.4.1.orig/smart/backends/rpm/pm.py |
| 36 | +++ smart-1.4.1/smart/backends/rpm/pm.py |
| 37 | @@ -235,6 +235,12 @@ class RPMPackageManager(PackageManager): |
| 38 | if sysconf.get("rpm-order"): |
| 39 | ts.order() |
| 40 | probfilter = rpm.RPMPROB_FILTER_OLDPACKAGE |
| 41 | + try: |
| 42 | + # Test for RPM5 function |
| 43 | + rpm.platformscore("") |
| 44 | + except AttributeError: |
| 45 | + probfilter |= rpm.RPMPROB_FILTER_IGNOREARCH |
| 46 | + |
| 47 | if force or reinstall: |
| 48 | probfilter |= rpm.RPMPROB_FILTER_REPLACEPKG |
| 49 | probfilter |= rpm.RPMPROB_FILTER_REPLACEOLDFILES |