diff options
Diffstat (limited to 'meta')
-rw-r--r-- | meta/classes/image.bbclass | 20 | ||||
-rw-r--r-- | meta/classes/multilib.bbclass | 9 |
2 files changed, 28 insertions, 1 deletions
diff --git a/meta/classes/image.bbclass b/meta/classes/image.bbclass index ea77ab8878..c38d97075e 100644 --- a/meta/classes/image.bbclass +++ b/meta/classes/image.bbclass @@ -183,7 +183,25 @@ IMAGE_POSTPROCESS_COMMAND ?= "" # some default locales IMAGE_LINGUAS ?= "de-de fr-fr en-gb" -LINGUAS_INSTALL ?= "${@" ".join(map(lambda s: "locale-base-%s" % s, d.getVar('IMAGE_LINGUAS', True).split()))}" +# Need all non-multilib and multilib of LINGUAS_INSTALL +LINGUAS_INSTALL ?= "${@locale_base_packages(d)}" +def locale_base_packages(d): + pkgs = [] + imagelinguas = (d.getVar('IMAGE_LINGUAS', True) or "").split() + mlvars = (d.getVar("MULTILIB_VARIANTS", True) or "").split() + for lang in imagelinguas: + # Add non-multilib packages + pkg = "locale-base-%s" % lang + if pkg not in pkgs: + pkgs.append(pkg) + + for prefix in mlvars: + # Add multilib packages + mlpkg = "%s-%s" % (prefix, pkg) + if mlpkg not in pkgs: + pkgs.append(mlpkg) + + return ' '.join(pkgs) # Prefer image, but use the fallback files for lookups if the image ones # aren't yet available. diff --git a/meta/classes/multilib.bbclass b/meta/classes/multilib.bbclass index d5a31287a8..47f229af94 100644 --- a/meta/classes/multilib.bbclass +++ b/meta/classes/multilib.bbclass @@ -86,8 +86,17 @@ python __anonymous () { if bb.data.inherits_class('image', d): clsextend.map_depends_variable("PACKAGE_INSTALL") + + # Need all non-multilib and multilib of LINGUAS_INSTALL + linguasinstall = (d.getVar("LINGUAS_INSTALL", True) or "").split() clsextend.map_depends_variable("LINGUAS_INSTALL") + for lang in linguasinstall: + if lang not in (d.getVar("LINGUAS_INSTALL", True) or "").split(): + d.appendVar("LINGUAS_INSTALL", " " + lang) clsextend.map_depends_variable("RDEPENDS") + for lang in linguasinstall: + if lang not in (d.getVar("RDEPENDS", True) or "").split(): + d.appendVar("RDEPENDS", " " + lang) pinstall = d.getVar("LINGUAS_INSTALL", True) + " " + d.getVar("PACKAGE_INSTALL", True) d.setVar("PACKAGE_INSTALL", pinstall) d.setVar("LINGUAS_INSTALL", "") |