diff options
author | Saul Wold <sgw@linux.intel.com> | 2014-09-30 10:16:53 -0700 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2014-09-30 21:36:13 +0100 |
commit | 6be3386e78ec8aac1fd1631047ddf967f4843f3d (patch) | |
tree | b2a1286d6b07865e04caa4f81da0bb90f4a72ded /meta/recipes-devtools/python/python-smartpm/smart-rpm4-fixes.patch | |
parent | 5ad57f4562110ed389c81ce958788014a49f592a (diff) | |
download | poky-6be3386e78ec8aac1fd1631047ddf967f4843f3d.tar.gz |
python-smartpm: Add patches for rpm4
Add DEPENDS for python-rpm package from either rpm4 or rpm5
Extend the smart-dflags patch to catch an exception if the api does exist
(From OE-Core rev: 756e499a95cc928688684cc52bde8e31306e6bbc)
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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 | ||