]> git.ipfire.org Git - thirdparty/openembedded/openembedded-core-contrib.git/commitdiff
{insane,package{,_deb,_ipk}}.bbclass: support 'Breaks' control field by introducing...
authorAndreas Oberritter <obi@opendreambox.org>
Wed, 10 Sep 2014 17:54:25 +0000 (19:54 +0200)
committerAndreas Oberritter <obi@opendreambox.org>
Thu, 2 Jul 2020 10:18:38 +0000 (12:18 +0200)
Required by Debian Policy section 7.3.

Signed-off-by: Andreas Oberritter <obi@opendreambox.org>
meta/classes/insane.bbclass
meta/classes/package.bbclass
meta/classes/package_deb.bbclass
meta/classes/package_ipk.bbclass

index 9605ac2baeefb506d81e78b7b5ae59a2d1ca581b..08e769481097b4663ab0b891c5a47880dae87303 100644 (file)
@@ -782,6 +782,7 @@ def package_qa_check_deps(pkg, pkgdest, d):
     check_valid_deps('RPROVIDES')
     check_valid_deps('RREPLACES')
     check_valid_deps('RCONFLICTS')
+    check_valid_deps('RBREAKS')
 
 QAPKGTEST[usrmerge] = "package_qa_check_usrmerge"
 def package_qa_check_usrmerge(pkg, d, messages):
@@ -1245,7 +1246,7 @@ python () {
     if (d.getVar('PACKAGES') or "").split():
         for dep in (d.getVar('QADEPENDS') or "").split():
             d.appendVarFlag('do_package_qa', 'depends', " %s:do_populate_sysroot" % dep)
-        for var in 'RDEPENDS', 'RRECOMMENDS', 'RSUGGESTS', 'RCONFLICTS', 'RPROVIDES', 'RREPLACES', 'FILES', 'pkg_preinst', 'pkg_postinst', 'pkg_prerm', 'pkg_postrm', 'ALLOW_EMPTY':
+        for var in 'RDEPENDS', 'RRECOMMENDS', 'RSUGGESTS', 'RCONFLICTS', 'RPROVIDES', 'RREPLACES', 'RBREAKS', 'FILES', 'pkg_preinst', 'pkg_postinst', 'pkg_prerm', 'pkg_postrm', 'ALLOW_EMPTY':
             if d.getVar(var, False):
                 issues.append(var)
 
index d8bef3afb00f824b743c6c833b3213d9120b968b..5781c3a0e5c01eec5b451d8cb6b1d01b8698bae8 100644 (file)
@@ -1351,7 +1351,7 @@ EXPORT_FUNCTIONS package_name_hook
 
 PKGDESTWORK = "${WORKDIR}/pkgdata"
 
-PKGDATA_VARS = "PN PE PV PR PKGE PKGV PKGR LICENSE DESCRIPTION SUMMARY RDEPENDS RPROVIDES RRECOMMENDS RSUGGESTS RREPLACES RCONFLICTS SECTION PKG ALLOW_EMPTY FILES CONFFILES FILES_INFO pkg_postinst pkg_postrm pkg_preinst pkg_prerm"
+PKGDATA_VARS = "PN PE PV PR PKGE PKGV PKGR LICENSE DESCRIPTION SUMMARY RDEPENDS RPROVIDES RRECOMMENDS RSUGGESTS RREPLACES RCONFLICTS RBREAKS SECTION PKG ALLOW_EMPTY FILES CONFFILES FILES_INFO pkg_postinst pkg_postrm pkg_preinst pkg_prerm"
 
 python emit_pkgdata() {
     from glob import glob
@@ -2116,7 +2116,7 @@ python package_depchains() {
 
 # Since bitbake can't determine which variables are accessed during package
 # iteration, we need to list them here:
-PACKAGEVARS = "FILES RDEPENDS RRECOMMENDS SUMMARY DESCRIPTION RSUGGESTS RPROVIDES RCONFLICTS PKG ALLOW_EMPTY pkg_postinst pkg_postrm pkg_postinst_ontarget INITSCRIPT_NAME INITSCRIPT_PARAMS DEBIAN_NOAUTONAME ALTERNATIVE PKGE PKGV PKGR USERADD_PARAM GROUPADD_PARAM CONFFILES SYSTEMD_SERVICE LICENSE SECTION pkg_preinst pkg_prerm RREPLACES GROUPMEMS_PARAM SYSTEMD_AUTO_ENABLE SKIP_FILEDEPS PRIVATE_LIBS"
+PACKAGEVARS = "FILES RDEPENDS RRECOMMENDS SUMMARY DESCRIPTION RSUGGESTS RPROVIDES RCONFLICTS RBREAKS PKG ALLOW_EMPTY pkg_postinst pkg_postrm pkg_postinst_ontarget INITSCRIPT_NAME INITSCRIPT_PARAMS DEBIAN_NOAUTONAME ALTERNATIVE PKGE PKGV PKGR USERADD_PARAM GROUPADD_PARAM CONFFILES SYSTEMD_SERVICE LICENSE SECTION pkg_preinst pkg_prerm RREPLACES GROUPMEMS_PARAM SYSTEMD_AUTO_ENABLE SKIP_FILEDEPS PRIVATE_LIBS"
 
 def gen_packagevar(d):
     ret = []
index fa0f8a373fb94ad583643a0c2eab43f3c51266fc..b6ce271b117a5f67aa4e84bcac8405665c6cb977 100644 (file)
@@ -225,6 +225,8 @@ def deb_write_pkg(pkg, d):
         debian_cmp_remap(rreplaces)
         rconflicts = bb.utils.explode_dep_versions2(localdata.getVar("RCONFLICTS") or "")
         debian_cmp_remap(rconflicts)
+        rbreaks = bb.utils.explode_dep_versions2(localdata.getVar("RBREAKS", True) or "")
+        debian_cmp_remap(rbreaks)
         if rdepends:
             ctrlfile.write("Depends: %s\n" % bb.utils.join_deps(rdepends))
         if rsuggests:
@@ -237,6 +239,8 @@ def deb_write_pkg(pkg, d):
             ctrlfile.write("Replaces: %s\n" % bb.utils.join_deps(rreplaces))
         if rconflicts:
             ctrlfile.write("Conflicts: %s\n" % bb.utils.join_deps(rconflicts))
+        if rbreaks:
+            ctrlfile.write("Breaks: %s\n" % bb.utils.join_deps(rbreaks))
         ctrlfile.close()
 
         for script in ["preinst", "postinst", "prerm", "postrm"]:
index 9f9da2f91deb361edd678118a6f16376e04e6a68..efd7759b4d86ce8542c464a0b64ab4c31713173c 100644 (file)
@@ -190,6 +190,8 @@ def ipk_write_pkg(pkg, d):
         debian_cmp_remap(rreplaces)
         rconflicts = bb.utils.explode_dep_versions2(localdata.getVar("RCONFLICTS") or "")
         debian_cmp_remap(rconflicts)
+        rbreaks = bb.utils.explode_dep_versions2(localdata.getVar("RBREAKS", True) or "")
+        debian_cmp_remap(rbreaks)
 
         if rdepends:
             ctrlfile.write("Depends: %s\n" % bb.utils.join_deps(rdepends))
@@ -203,6 +205,8 @@ def ipk_write_pkg(pkg, d):
             ctrlfile.write("Replaces: %s\n" % bb.utils.join_deps(rreplaces))
         if rconflicts:
             ctrlfile.write("Conflicts: %s\n" % bb.utils.join_deps(rconflicts))
+        if rbreaks:
+            ctrlfile.write("Breaks: %s\n" % bb.utils.join_deps(rbreaks))
         ctrlfile.write("Source: %s\n" % recipesource)
         ctrlfile.close()