package_rpm.bbclass: Dosen't filter Conflicts if found in Provides
This filter was add to make compilence with debian packaging but in package_deb.bbclass is allowed to have the same values in Conflicts and Provides. With this filtering errors in recipe meta-data are hidden and could end on install two packages that conflicts [2]. Reviewing the RPM spec from Fedora doesn't have anything that denies to use the both Conflicts and Provides with the same value [3], also in debian manual section 7.6.2 of [4] this behaviour is allowed to force the removal of the conflicted package and RPM is compilence with this behaviour after remove the filtering this is seen [5]. [1] http://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/?id=4b611b66743a5ec220aef34d796af63029bb5fd9 [2] https://bugzilla.yoctoproject.org/show_bug.cgi?id=9349#c9 [3] https://docs.fedoraproject.org/en-US/Fedora_Draft_Documentation/0.1/html/RPM_Guide/ch-advanced-packaging.html [4] https://www.debian.org/doc/debian-policy/ch-relationships.html [5] https://bugzilla.yoctoproject.org/show_bug.cgi?id=9349#c12 (From OE-Core rev: 2ba9dd490d69544553fc8a837fb5034a6746ab51) Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
parent
33212a8129
commit
9cb58a7f2b
|
@ -433,19 +433,6 @@ python write_specfile () {
|
|||
print_deps(splitrsuggests, "Suggests", spec_preamble_bottom, d)
|
||||
print_deps(splitrprovides, "Provides", spec_preamble_bottom, d)
|
||||
print_deps(splitrobsoletes, "Obsoletes", spec_preamble_bottom, d)
|
||||
|
||||
# conflicts can not be in a provide! We will need to filter it.
|
||||
if splitrconflicts:
|
||||
depends_dict = bb.utils.explode_dep_versions2(splitrconflicts)
|
||||
newdeps_dict = {}
|
||||
for dep in depends_dict:
|
||||
if dep not in splitrprovides:
|
||||
newdeps_dict[dep] = depends_dict[dep]
|
||||
if newdeps_dict:
|
||||
splitrconflicts = bb.utils.join_deps(newdeps_dict)
|
||||
else:
|
||||
splitrconflicts = ""
|
||||
|
||||
print_deps(splitrconflicts, "Conflicts", spec_preamble_bottom, d)
|
||||
|
||||
spec_preamble_bottom.append('')
|
||||
|
@ -541,19 +528,6 @@ python write_specfile () {
|
|||
print_deps(srcrsuggests, "Suggests", spec_preamble_top, d)
|
||||
print_deps(srcrprovides + (" /bin/sh" if srcname.startswith("nativesdk-") else ""), "Provides", spec_preamble_top, d)
|
||||
print_deps(srcrobsoletes, "Obsoletes", spec_preamble_top, d)
|
||||
|
||||
# conflicts can not be in a provide! We will need to filter it.
|
||||
if srcrconflicts:
|
||||
depends_dict = bb.utils.explode_dep_versions2(srcrconflicts)
|
||||
newdeps_dict = {}
|
||||
for dep in depends_dict:
|
||||
if dep not in srcrprovides:
|
||||
newdeps_dict[dep] = depends_dict[dep]
|
||||
if newdeps_dict:
|
||||
srcrconflicts = bb.utils.join_deps(newdeps_dict)
|
||||
else:
|
||||
srcrconflicts = ""
|
||||
|
||||
print_deps(srcrconflicts, "Conflicts", spec_preamble_top, d)
|
||||
|
||||
spec_preamble_top.append('')
|
||||
|
|
Loading…
Reference in New Issue