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>
This commit is contained in:
parent
11af6b042c
commit
a0d1ac7999
|
@ -0,0 +1,43 @@
|
|||
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
|
|
@ -11,13 +11,14 @@ LICENSE = "GPLv2"
|
|||
LIC_FILES_CHKSUM = "file://LICENSE;md5=393a5ca445f6965873eca0259a17f833"
|
||||
|
||||
DEPENDS = "python rpm"
|
||||
PR = "r0"
|
||||
PR = "r1"
|
||||
SRCNAME = "smart"
|
||||
|
||||
SRC_URI = "\
|
||||
http://launchpad.net/smart/trunk/${PV}/+download/${SRCNAME}-${PV}.tar.bz2 \
|
||||
file://smartpm-rpm5-nodig.patch \
|
||||
file://smart-rpm-root.patch \
|
||||
file://smart-missingok.patch \
|
||||
"
|
||||
|
||||
SRC_URI[md5sum] = "573ef32ba177a6b3c4bf7ef04873fcb6"
|
||||
|
|
Loading…
Reference in New Issue