diff options
Diffstat (limited to 'meta/classes')
| -rw-r--r-- | meta/classes/multilib.bbclass | 3 | ||||
| -rw-r--r-- | meta/classes/package.bbclass | 14 |
2 files changed, 16 insertions, 1 deletions
diff --git a/meta/classes/multilib.bbclass b/meta/classes/multilib.bbclass index 286b806cf0..5d975fd33e 100644 --- a/meta/classes/multilib.bbclass +++ b/meta/classes/multilib.bbclass | |||
| @@ -72,8 +72,9 @@ python __anonymous () { | |||
| 72 | 72 | ||
| 73 | d.setVar("PACKAGES", " ".join([row[1] for row in pkgs_mapping])) | 73 | d.setVar("PACKAGES", " ".join([row[1] for row in pkgs_mapping])) |
| 74 | 74 | ||
| 75 | vars = (d.getVar("PACKAGEVARS", True) or "").split() | ||
| 75 | for pkg_mapping in pkgs_mapping: | 76 | for pkg_mapping in pkgs_mapping: |
| 76 | for subs in ["FILES", "RDEPENDS", "RRECOMMENDS", "SUMMARY", "DESCRIPTION", "RSUGGESTS", "RPROVIDES", "RCONFLICTS", "PKG", "ALLOW_EMPTY", "pkg_postinst", "pkg_postrm", "INITSCRIPT_NAME", "INITSCRIPT_PARAMS"]: | 77 | for subs in vars: |
| 77 | d.renameVar("%s_%s" % (subs, pkg_mapping[0]), "%s_%s" % (subs, pkg_mapping[1])) | 78 | d.renameVar("%s_%s" % (subs, pkg_mapping[0]), "%s_%s" % (subs, pkg_mapping[1])) |
| 78 | 79 | ||
| 79 | map_dependencies("DEPENDS", d) | 80 | map_dependencies("DEPENDS", d) |
diff --git a/meta/classes/package.bbclass b/meta/classes/package.bbclass index 15c414274f..73e8f6365f 100644 --- a/meta/classes/package.bbclass +++ b/meta/classes/package.bbclass | |||
| @@ -1620,6 +1620,19 @@ python package_depchains() { | |||
| 1620 | pkg_addrrecs(pkg, base, suffix, func, rdeps, d) | 1620 | pkg_addrrecs(pkg, base, suffix, func, rdeps, d) |
| 1621 | } | 1621 | } |
| 1622 | 1622 | ||
| 1623 | # Since bitbake can't determine which variables are accessed during package | ||
| 1624 | # iteration, we need to list them here: | ||
| 1625 | PACKAGEVARS = "FILES RDEPENDS RRECOMMENDS SUMMARY DESCRIPTION RSUGGESTS RPROVIDES RCONFLICTS PKG ALLOW_EMPTY pkg_postinst pkg_postrm INITSCRIPT_NAME INITSCRIPT_PARAMS" | ||
| 1626 | |||
| 1627 | def gen_packagevar(d): | ||
| 1628 | ret = [] | ||
| 1629 | pkgs = (d.getVar("PACKAGES", True) or "").split() | ||
| 1630 | vars = (d.getVar("PACKAGEVARS", True) or "").split() | ||
| 1631 | for p in pkgs: | ||
| 1632 | for v in vars: | ||
| 1633 | ret.append(v + "_" + p) | ||
| 1634 | return " ".join(ret) | ||
| 1635 | |||
| 1623 | PACKAGE_PREPROCESS_FUNCS ?= "" | 1636 | PACKAGE_PREPROCESS_FUNCS ?= "" |
| 1624 | PACKAGEFUNCS ?= "package_get_auto_pr \ | 1637 | PACKAGEFUNCS ?= "package_get_auto_pr \ |
| 1625 | perform_packagecopy \ | 1638 | perform_packagecopy \ |
| @@ -1656,6 +1669,7 @@ python do_package () { | |||
| 1656 | } | 1669 | } |
| 1657 | 1670 | ||
| 1658 | do_package[dirs] = "${SHLIBSWORKDIR} ${PKGDESTWORK} ${D}" | 1671 | do_package[dirs] = "${SHLIBSWORKDIR} ${PKGDESTWORK} ${D}" |
| 1672 | do_package[vardeps] += "${PACKAGEFUNCS} ${@gen_packagevar(d)}" | ||
| 1659 | addtask package before do_build after do_install | 1673 | addtask package before do_build after do_install |
| 1660 | 1674 | ||
| 1661 | PACKAGELOCK = "${STAGING_DIR}/package-output.lock" | 1675 | PACKAGELOCK = "${STAGING_DIR}/package-output.lock" |
