aboutsummaryrefslogtreecommitdiffstats
path: root/meta
diff options
context:
space:
mode:
authorAndreas Oberritter <obi@opendreambox.org>2014-09-10 19:54:25 +0200
committerAndreas Oberritter <obi@opendreambox.org>2017-06-26 22:57:12 +0200
commitb5a8bdb36c9fa6ea909e7e4df53287dc93581fb9 (patch)
tree7aaedfc53bb1038570b7dc512409661f466f82ed /meta
parent08a075d2288a05e4a409f99261ea4e219c669f1f (diff)
downloadopenembedded-core-contrib-b5a8bdb36c9fa6ea909e7e4df53287dc93581fb9.tar.gz
{insane,package{,_deb,_ipk}}.bbclass: support 'Breaks' control field by introducing RBREAKS
Required by Debian Policy section 7.3. Signed-off-by: Andreas Oberritter <obi@opendreambox.org>
Diffstat (limited to 'meta')
-rw-r--r--meta/classes/insane.bbclass3
-rw-r--r--meta/classes/package.bbclass4
-rw-r--r--meta/classes/package_deb.bbclass4
-rw-r--r--meta/classes/package_ipk.bbclass4
4 files changed, 12 insertions, 3 deletions
diff --git a/meta/classes/insane.bbclass b/meta/classes/insane.bbclass
index a1d23d055b..c568a3b25a 100644
--- a/meta/classes/insane.bbclass
+++ b/meta/classes/insane.bbclass
@@ -955,6 +955,7 @@ def package_qa_check_deps(pkg, pkgdest, skip, d):
check_valid_deps('RPROVIDES')
check_valid_deps('RREPLACES')
check_valid_deps('RCONFLICTS')
+ check_valid_deps('RBREAKS')
QAPATHTEST[expanded-d] = "package_qa_check_expanded_d"
def package_qa_check_expanded_d(path,name,d,elf,messages):
@@ -1301,7 +1302,7 @@ python () {
if (d.getVar('PACKAGES', True) or "").split():
for dep in (d.getVar('QADEPENDS', True) 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)
diff --git a/meta/classes/package.bbclass b/meta/classes/package.bbclass
index ffd4eff7b1..50774a96ae 100644
--- a/meta/classes/package.bbclass
+++ b/meta/classes/package.bbclass
@@ -1342,6 +1342,7 @@ python emit_pkgdata() {
write_if_exists(sf, pkg, 'RSUGGESTS')
write_if_exists(sf, pkg, 'RREPLACES')
write_if_exists(sf, pkg, 'RCONFLICTS')
+ write_if_exists(sf, pkg, 'RBREAKS')
write_if_exists(sf, pkg, 'SECTION')
write_if_exists(sf, pkg, 'PKG')
write_if_exists(sf, pkg, 'ALLOW_EMPTY')
@@ -1958,7 +1959,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 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"
+PACKAGEVARS = "FILES RDEPENDS RRECOMMENDS SUMMARY DESCRIPTION RSUGGESTS RPROVIDES RCONFLICTS RBREAKS PKG ALLOW_EMPTY pkg_postinst pkg_postrm 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"
def gen_packagevar(d):
ret = []
@@ -2128,4 +2129,3 @@ def mapping_rename_hook(d):
runtime_mapping_rename("RDEPENDS", pkg, d)
runtime_mapping_rename("RRECOMMENDS", pkg, d)
runtime_mapping_rename("RSUGGESTS", pkg, d)
-
diff --git a/meta/classes/package_deb.bbclass b/meta/classes/package_deb.bbclass
index e1d05a74c2..6060cf738a 100644
--- a/meta/classes/package_deb.bbclass
+++ b/meta/classes/package_deb.bbclass
@@ -254,6 +254,8 @@ python do_package_deb () {
debian_cmp_remap(rreplaces)
rconflicts = bb.utils.explode_dep_versions2(localdata.getVar("RCONFLICTS", True) 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" % unicode(bb.utils.join_deps(rdepends)))
if rsuggests:
@@ -266,6 +268,8 @@ python do_package_deb () {
ctrlfile.write("Replaces: %s\n" % unicode(bb.utils.join_deps(rreplaces)))
if rconflicts:
ctrlfile.write("Conflicts: %s\n" % unicode(bb.utils.join_deps(rconflicts)))
+ if rbreaks:
+ ctrlfile.write("Breaks: %s\n" % unicode(bb.utils.join_deps(rbreaks)))
ctrlfile.close()
for script in ["preinst", "postinst", "prerm", "postrm"]:
diff --git a/meta/classes/package_ipk.bbclass b/meta/classes/package_ipk.bbclass
index 5dcbbcdac6..748f5a6980 100644
--- a/meta/classes/package_ipk.bbclass
+++ b/meta/classes/package_ipk.bbclass
@@ -197,6 +197,8 @@ python do_package_ipk () {
debian_cmp_remap(rreplaces)
rconflicts = bb.utils.explode_dep_versions2(localdata.getVar("RCONFLICTS", True) 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))
@@ -210,6 +212,8 @@ python do_package_ipk () {
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()