| |
| This patch checks for rpm5 related functions in order to allow rpm4 |
| to work correctly. Currently the rpm4 archscore and filter work |
| differently enough that they need to be changed. |
| |
| Upstream-Status: Inappropriate [OE-Core Specific] |
| |
| Signed-off-by: Saul Wold <sgw@linux.intel.com> |
| |
| Index: smart-1.4.1/smart/backends/rpm/base.py |
| =================================================================== |
| --- smart-1.4.1.orig/smart/backends/rpm/base.py |
| +++ smart-1.4.1/smart/backends/rpm/base.py |
| @@ -338,10 +338,14 @@ class RPMObsoletes(Depends): |
| |
| _SCOREMAP = {} |
| def getArchScore(arch, _sm=_SCOREMAP): |
| - if arch not in _sm: |
| - score = rpm.archscore(arch) |
| - _sm[arch] = score |
| - return _sm.get(arch, 0) |
| + try: |
| + rpm.platformscore(arch) |
| + if arch not in _sm: |
| + score = rpm.archscore(arch) |
| + _sm[arch] = score |
| + return _sm.get(arch, 0) |
| + except AttributeError: |
| + return 1 |
| |
| # TODO: Embed color into nameprovides and obsoletes relations. |
| _COLORMAP = {"noarch": 0, "x86_64": 2, "ppc64": 2, "s390x": 2, "sparc64": 2} |
| Index: smart-1.4.1/smart/backends/rpm/pm.py |
| =================================================================== |
| --- smart-1.4.1.orig/smart/backends/rpm/pm.py |
| +++ smart-1.4.1/smart/backends/rpm/pm.py |
| @@ -235,6 +235,12 @@ class RPMPackageManager(PackageManager): |
| if sysconf.get("rpm-order"): |
| ts.order() |
| probfilter = rpm.RPMPROB_FILTER_OLDPACKAGE |
| + try: |
| + # Test for RPM5 function |
| + rpm.platformscore("") |
| + except AttributeError: |
| + probfilter |= rpm.RPMPROB_FILTER_IGNOREARCH |
| + |
| if force or reinstall: |
| probfilter |= rpm.RPMPROB_FILTER_REPLACEPKG |
| probfilter |= rpm.RPMPROB_FILTER_REPLACEOLDFILES |