summaryrefslogtreecommitdiffstats
path: root/meta/classes
diff options
context:
space:
mode:
authorAníbal Limón <anibal.limon@linux.intel.com>2017-04-18 17:22:02 -0500
committerRichard Purdie <richard.purdie@linuxfoundation.org>2017-04-20 07:55:25 +0100
commit9cb58a7f2b1329d60e8e7c9af2291f548cb651e0 (patch)
treef3ab327be511e3f6f6fb2378036935842b2372e9 /meta/classes
parent33212a81298a1a74dd8b5ae9bea0b0e440d194c3 (diff)
downloadpoky-9cb58a7f2b1329d60e8e7c9af2291f548cb651e0.tar.gz
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>
Diffstat (limited to 'meta/classes')
-rw-r--r--meta/classes/package_rpm.bbclass26
1 files changed, 0 insertions, 26 deletions
diff --git a/meta/classes/package_rpm.bbclass b/meta/classes/package_rpm.bbclass
index 07ab5cdd9e..084546f733 100644
--- a/meta/classes/package_rpm.bbclass
+++ b/meta/classes/package_rpm.bbclass
@@ -433,19 +433,6 @@ python write_specfile () {
433 print_deps(splitrsuggests, "Suggests", spec_preamble_bottom, d) 433 print_deps(splitrsuggests, "Suggests", spec_preamble_bottom, d)
434 print_deps(splitrprovides, "Provides", spec_preamble_bottom, d) 434 print_deps(splitrprovides, "Provides", spec_preamble_bottom, d)
435 print_deps(splitrobsoletes, "Obsoletes", spec_preamble_bottom, d) 435 print_deps(splitrobsoletes, "Obsoletes", spec_preamble_bottom, d)
436
437 # conflicts can not be in a provide! We will need to filter it.
438 if splitrconflicts:
439 depends_dict = bb.utils.explode_dep_versions2(splitrconflicts)
440 newdeps_dict = {}
441 for dep in depends_dict:
442 if dep not in splitrprovides:
443 newdeps_dict[dep] = depends_dict[dep]
444 if newdeps_dict:
445 splitrconflicts = bb.utils.join_deps(newdeps_dict)
446 else:
447 splitrconflicts = ""
448
449 print_deps(splitrconflicts, "Conflicts", spec_preamble_bottom, d) 436 print_deps(splitrconflicts, "Conflicts", spec_preamble_bottom, d)
450 437
451 spec_preamble_bottom.append('') 438 spec_preamble_bottom.append('')
@@ -541,19 +528,6 @@ python write_specfile () {
541 print_deps(srcrsuggests, "Suggests", spec_preamble_top, d) 528 print_deps(srcrsuggests, "Suggests", spec_preamble_top, d)
542 print_deps(srcrprovides + (" /bin/sh" if srcname.startswith("nativesdk-") else ""), "Provides", spec_preamble_top, d) 529 print_deps(srcrprovides + (" /bin/sh" if srcname.startswith("nativesdk-") else ""), "Provides", spec_preamble_top, d)
543 print_deps(srcrobsoletes, "Obsoletes", spec_preamble_top, d) 530 print_deps(srcrobsoletes, "Obsoletes", spec_preamble_top, d)
544
545 # conflicts can not be in a provide! We will need to filter it.
546 if srcrconflicts:
547 depends_dict = bb.utils.explode_dep_versions2(srcrconflicts)
548 newdeps_dict = {}
549 for dep in depends_dict:
550 if dep not in srcrprovides:
551 newdeps_dict[dep] = depends_dict[dep]
552 if newdeps_dict:
553 srcrconflicts = bb.utils.join_deps(newdeps_dict)
554 else:
555 srcrconflicts = ""
556
557 print_deps(srcrconflicts, "Conflicts", spec_preamble_top, d) 531 print_deps(srcrconflicts, "Conflicts", spec_preamble_top, d)
558 532
559 spec_preamble_top.append('') 533 spec_preamble_top.append('')