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 | } | ||
