Files
poky/meta/recipes-devtools/python/python-smartpm/smart-missingok.patch
Mark Hatle a0d1ac7999 python-smartpm: Add basic knowledge of RPMSENSE_MISSINGOK
Currently smart does not support recommend dependencies.  Add the first set
of 'support' for RPMSENSE_MISSINGOK (the flag that makes something a
recommend).  This initial support ends up ignoring the recommendation, but is
written in a way that it will be the basis of eventual support.

(From OE-Core rev: 4f1f6d39803c94cf9ff55f0a4616e7a1703bcef6)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-11-18 16:42:03 +00:00

44 lines
1.9 KiB
Diff

backends/rpm: Identify recommended packages
We identify and store recommended packages (and later throw that data away.)
This is indended to be the starting work to add support for recommended
packages to smart.
Upstream-status: Inappropriate [ Code isn't finished! ]
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Index: smart-1.4.1/smart/backends/rpm/header.py
===================================================================
--- smart-1.4.1.orig/smart/backends/rpm/header.py
+++ smart-1.4.1/smart/backends/rpm/header.py
@@ -292,6 +292,7 @@ class RPMHeaderLoader(Loader):
f = [0]
elif type(f) != list:
f = [f]
+ recdict = {}
reqdict = {}
for i in range(len(n)):
ni = n[i]
@@ -308,10 +309,17 @@ class RPMHeaderLoader(Loader):
# RPMSENSE_SCRIPT_PREUN |
# RPMSENSE_SCRIPT_POST |
# RPMSENSE_SCRIPT_POSTUN == 7744
- reqdict[(f[i]&7744 and PreReq or Req,
- intern(ni), r, vi)] = True
+ if (f[i]&rpm.RPMSENSE_MISSINGOK):
+ print "Ignoring Recommend Dependency: %s" % (ni)
+ recdict[(f[i]&7744 and PreReq or Req,
+ intern(ni), r, vi)] = True
+ else:
+ reqdict[(f[i]&7744 and PreReq or Req,
+ intern(ni), r, vi)] = True
+ recargs = collapse_libc_requires(recdict.keys())
reqargs = collapse_libc_requires(reqdict.keys())
else:
+ recargs = None
reqargs = None
n = h[1054] # RPMTAG_CONFLICTNAME