mirror of
https://git.yoctoproject.org/poky
synced 2026-04-05 08:02:25 +02:00
package_rpm: Clean up unset runtime package variable handling
If the R* runtime package variables are unset it could cause trackbacks. There were some fallbacks already, clean this up to handle consistently. The code was expecting strings but setting defaults of empty lists which silently were converted to strings by the "or" statements which was a nightmare to understand or alter. (From OE-Core rev: 06bf68012302330c2b14f59541f78f48c7389c37) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
@@ -300,13 +300,13 @@ python write_specfile () {
|
||||
srccustomtagschunk = get_package_additional_metadata("rpm", localdata)
|
||||
|
||||
srcdepends = d.getVar('DEPENDS')
|
||||
srcrdepends = []
|
||||
srcrrecommends = []
|
||||
srcrsuggests = []
|
||||
srcrprovides = []
|
||||
srcrreplaces = []
|
||||
srcrconflicts = []
|
||||
srcrobsoletes = []
|
||||
srcrdepends = ""
|
||||
srcrrecommends = ""
|
||||
srcrsuggests = ""
|
||||
srcrprovides = ""
|
||||
srcrreplaces = ""
|
||||
srcrconflicts = ""
|
||||
srcrobsoletes = ""
|
||||
|
||||
srcrpreinst = []
|
||||
srcrpostinst = []
|
||||
@@ -365,13 +365,13 @@ python write_specfile () {
|
||||
# Map the dependencies into their final form
|
||||
mapping_rename_hook(localdata)
|
||||
|
||||
splitrdepends = localdata.getVar('RDEPENDS')
|
||||
splitrrecommends = localdata.getVar('RRECOMMENDS')
|
||||
splitrsuggests = localdata.getVar('RSUGGESTS')
|
||||
splitrprovides = localdata.getVar('RPROVIDES')
|
||||
splitrreplaces = localdata.getVar('RREPLACES')
|
||||
splitrconflicts = localdata.getVar('RCONFLICTS')
|
||||
splitrobsoletes = []
|
||||
splitrdepends = localdata.getVar('RDEPENDS') or ""
|
||||
splitrrecommends = localdata.getVar('RRECOMMENDS') or ""
|
||||
splitrsuggests = localdata.getVar('RSUGGESTS') or ""
|
||||
splitrprovides = localdata.getVar('RPROVIDES') or ""
|
||||
splitrreplaces = localdata.getVar('RREPLACES') or ""
|
||||
splitrconflicts = localdata.getVar('RCONFLICTS') or ""
|
||||
splitrobsoletes = ""
|
||||
|
||||
splitrpreinst = localdata.getVar('pkg_preinst')
|
||||
splitrpostinst = localdata.getVar('pkg_postinst')
|
||||
@@ -439,9 +439,9 @@ python write_specfile () {
|
||||
spec_preamble_bottom.append(splitcustomtagschunk)
|
||||
|
||||
# Replaces == Obsoletes && Provides
|
||||
robsoletes = bb.utils.explode_dep_versions2(splitrobsoletes or "")
|
||||
rprovides = bb.utils.explode_dep_versions2(splitrprovides or "")
|
||||
rreplaces = bb.utils.explode_dep_versions2(splitrreplaces or "")
|
||||
robsoletes = bb.utils.explode_dep_versions2(splitrobsoletes)
|
||||
rprovides = bb.utils.explode_dep_versions2(splitrprovides)
|
||||
rreplaces = bb.utils.explode_dep_versions2(splitrreplaces)
|
||||
for dep in rreplaces:
|
||||
if not dep in robsoletes:
|
||||
robsoletes[dep] = rreplaces[dep]
|
||||
@@ -533,9 +533,9 @@ python write_specfile () {
|
||||
tail_source(d)
|
||||
|
||||
# Replaces == Obsoletes && Provides
|
||||
robsoletes = bb.utils.explode_dep_versions2(srcrobsoletes or "")
|
||||
rprovides = bb.utils.explode_dep_versions2(srcrprovides or "")
|
||||
rreplaces = bb.utils.explode_dep_versions2(srcrreplaces or "")
|
||||
robsoletes = bb.utils.explode_dep_versions2(srcrobsoletes)
|
||||
rprovides = bb.utils.explode_dep_versions2(srcrprovides)
|
||||
rreplaces = bb.utils.explode_dep_versions2(srcrreplaces)
|
||||
for dep in rreplaces:
|
||||
if not dep in robsoletes:
|
||||
robsoletes[dep] = rreplaces[dep]
|
||||
|
||||
Reference in New Issue
Block a user