diff options
author | Richard Purdie <richard.purdie@linuxfoundation.org> | 2022-08-10 14:35:29 +0100 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2022-08-12 15:27:17 +0100 |
commit | fd1517e2b51a170f2427122c6b95396db251d827 (patch) | |
tree | dabfe3e631339c2fc99a9ee7febb0f9c128e325e /meta/classes-recipe/multilib_script.bbclass | |
parent | 10317912ee319ccf7f83605d438b5cbf9663f296 (diff) | |
download | poky-fd1517e2b51a170f2427122c6b95396db251d827.tar.gz |
classes: Update classes to match new bitbake class scope functionality
Move classes to classes-global or classes-recipe as appropriate to take
advantage of new bitbake functionality to check class scope/usage.
(From OE-Core rev: f5c128008365e141082c129417eb72d2751e8045)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/classes-recipe/multilib_script.bbclass')
-rw-r--r-- | meta/classes-recipe/multilib_script.bbclass | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/meta/classes-recipe/multilib_script.bbclass b/meta/classes-recipe/multilib_script.bbclass new file mode 100644 index 0000000000..7011526254 --- /dev/null +++ b/meta/classes-recipe/multilib_script.bbclass | |||
@@ -0,0 +1,40 @@ | |||
1 | # | ||
2 | # Copyright OpenEmbedded Contributors | ||
3 | # | ||
4 | # SPDX-License-Identifier: MIT | ||
5 | # | ||
6 | |||
7 | # | ||
8 | # Recipe needs to set MULTILIB_SCRIPTS in the form <pkgname>:<scriptname>, e.g. | ||
9 | # MULTILIB_SCRIPTS = "${PN}-dev:${bindir}/file1 ${PN}:${base_bindir}/file2" | ||
10 | # to indicate which script files to process from which packages. | ||
11 | # | ||
12 | |||
13 | inherit update-alternatives | ||
14 | |||
15 | MULTILIB_SUFFIX = "${@d.getVar('base_libdir',1).split('/')[-1]}" | ||
16 | |||
17 | PACKAGE_PREPROCESS_FUNCS += "multilibscript_rename" | ||
18 | |||
19 | multilibscript_rename() { | ||
20 | : | ||
21 | } | ||
22 | |||
23 | python () { | ||
24 | # Do nothing if multilib isn't being used | ||
25 | if not d.getVar("MULTILIB_VARIANTS"): | ||
26 | return | ||
27 | # Do nothing for native/cross | ||
28 | if bb.data.inherits_class('native', d) or bb.data.inherits_class('cross', d): | ||
29 | return | ||
30 | |||
31 | for entry in (d.getVar("MULTILIB_SCRIPTS", False) or "").split(): | ||
32 | pkg, script = entry.split(":") | ||
33 | epkg = d.expand(pkg) | ||
34 | scriptname = os.path.basename(script) | ||
35 | d.appendVar("ALTERNATIVE:" + epkg, " " + scriptname + " ") | ||
36 | d.setVarFlag("ALTERNATIVE_LINK_NAME", scriptname, script) | ||
37 | d.setVarFlag("ALTERNATIVE_TARGET", scriptname, script + "-${MULTILIB_SUFFIX}") | ||
38 | d.appendVar("multilibscript_rename", "\n mv ${PKGD}" + script + " ${PKGD}" + script + "-${MULTILIB_SUFFIX}") | ||
39 | d.appendVar("FILES:" + epkg, " " + script + "-${MULTILIB_SUFFIX}") | ||
40 | } | ||