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:
Aníbal Limón 2017-04-18 17:22:02 -05:00 committed by Richard Purdie
parent 33212a8129
commit 9cb58a7f2b
1 changed files with 0 additions and 26 deletions

View File

@ -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('')