Brad Bishop | 1a4b7ee | 2018-12-16 17:11:34 -0800 | [diff] [blame^] | 1 | # |
| 2 | # Recipe needs to set MULTILIB_SCRIPTS in the form <pkgname>:<scriptname>, e.g. |
| 3 | # MULTILIB_SCRIPTS = "${PN}-dev:${bindir}/file1 ${PN}:${base_bindir}/file2" |
| 4 | # to indicate which script files to process from which packages. |
| 5 | # |
| 6 | |
| 7 | inherit update-alternatives |
| 8 | |
| 9 | MULTILIB_SUFFIX = "${@d.getVar('base_libdir',1).split('/')[-1]}" |
| 10 | |
| 11 | PACKAGE_PREPROCESS_FUNCS += "multilibscript_rename" |
| 12 | |
| 13 | multilibscript_rename() { |
| 14 | : |
| 15 | } |
| 16 | |
| 17 | python () { |
| 18 | # Do nothing if multilib isn't being used |
| 19 | if not d.getVar("MULTILIB_VARIANTS"): |
| 20 | return |
| 21 | # Do nothing for native/cross |
| 22 | if bb.data.inherits_class('native', d) or bb.data.inherits_class('cross', d): |
| 23 | return |
| 24 | |
| 25 | for entry in (d.getVar("MULTILIB_SCRIPTS", False) or "").split(): |
| 26 | pkg, script = entry.split(":") |
| 27 | scriptname = os.path.basename(script) |
| 28 | d.appendVar("ALTERNATIVE_" + pkg, scriptname + " ") |
| 29 | d.setVarFlag("ALTERNATIVE_LINK_NAME", scriptname, script) |
| 30 | d.setVarFlag("ALTERNATIVE_TARGET", scriptname, script + "-${MULTILIB_SUFFIX}") |
| 31 | d.appendVar("multilibscript_rename", "\n mv ${PKGD}" + script + " ${PKGD}" + script + "-${MULTILIB_SUFFIX}") |
| 32 | } |