mirror of
https://git.yoctoproject.org/poky
synced 2026-02-10 10:43:02 +01:00
python-smartpm: add support for recommends
Implement support within Smart for handling RRECOMMENDS relationships between RPM packages as used by OE. This includes support within the base system for caching and resolving these relationships as well as specific support in the RPM backend for reading the information from packages, and reading the "missingok" flag added to createrepo for rpm-md feeds. (From OE-Core rev: 35e3bc90ec3bae824804bd176b3128efdb5b4e2b) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
5443525de8
commit
69b9c6bd0c
@@ -1,43 +0,0 @@
|
||||
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
|
||||
1362
meta/recipes-devtools/python/python-smartpm/smart-recommends.patch
Normal file
1362
meta/recipes-devtools/python/python-smartpm/smart-recommends.patch
Normal file
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user