diff options
Diffstat (limited to 'meta/recipes-devtools/python/python-smartpm/smart-rpm4-fixes.patch')
-rw-r--r-- | meta/recipes-devtools/python/python-smartpm/smart-rpm4-fixes.patch | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/meta/recipes-devtools/python/python-smartpm/smart-rpm4-fixes.patch b/meta/recipes-devtools/python/python-smartpm/smart-rpm4-fixes.patch new file mode 100644 index 0000000000..708ffe67d3 --- /dev/null +++ b/meta/recipes-devtools/python/python-smartpm/smart-rpm4-fixes.patch | |||
@@ -0,0 +1,49 @@ | |||
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 | ||