blob: 708ffe67d3470fc9328452ad7bcf56794626b406 [file] [log] [blame]
Patrick Williamsc124f4f2015-09-15 14:41:29 -05001
2This patch checks for rpm5 related functions in order to allow rpm4
3to work correctly. Currently the rpm4 archscore and filter work
4differently enough that they need to be changed.
5
6Upstream-Status: Inappropriate [OE-Core Specific]
7
8Signed-off-by: Saul Wold <sgw@linux.intel.com>
9
10Index: 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}
33Index: 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