[OE-core] [PATCH v4 2/4] ptest.bbclass: Add feature to populate a binary directory
Richard Purdie
richard.purdie at linuxfoundation.org
Thu Apr 11 20:11:56 UTC 2019
On Tue, 2019-04-09 at 00:44 -0500, Mariano Lopez wrote:
> This adds the functionality to create a binary directory within
> PTEST_PATH directory. This directory will be populated with
> symlinks pointing to the binaries installed by the package and
> then renamed by update-alternatives. This way the ptest only needs
> to source this binary directory in order to use the expected
> binaries.
>
> To enable this feature just add PTEST_BINDIR = "1" to the recipe.
>
> [YOCTO #12597]
> [YOCTO #13238]
>
> Signed-off-by: Mariano Lopez <just.another.mariano at gmail.com>
> ---
> meta/classes/ptest.bbclass | 32 ++++++++++++++++++++++++++++++++
> 1 file changed, 32 insertions(+)
>
> diff --git a/meta/classes/ptest.bbclass b/meta/classes/ptest.bbclass
> index 97865c9338..e87a9659cb 100644
> --- a/meta/classes/ptest.bbclass
> +++ b/meta/classes/ptest.bbclass
> @@ -65,6 +65,38 @@ do_install_ptest_base() {
> done
> }
>
> +PTEST_BINDIR_PKGD_PATH = "${PKGD}${PTEST_PATH}/bin"
> +
> +# This function needs to run after apply_update_alternative_renames
> because the
> +# aforementioned function will update the ALTERNATIVE_LINK_NAME
> flag. Append is
> +# used here to make this function to run as late as possible.
> +PACKAGE_PREPROCESS_FUNCS_append = "${@bb.utils.contains('PTEST_BINDI
> R', '1', \
> + bb.utils.contains('PTEST_ENABLED
> ', '1', ' ptest_update_alternatives', '', d), '', d)}"
> +
> +python ptest_update_alternatives() {
> + """
> + This function will generate the symlinks in the
> PTEST_BINDIR_PKGD_PATH
> + to match the renamed binaries by update-alternatives.
> + """
> +
> + if not bb.data.inherits_class('update-alternatives', d) \
> + or not update_alternatives_enabled(d):
> + return
> +
> + bb.note("Generating symlinks for ptest")
> + bin_paths = { os.environ["bindir"], os.environ["base_bindir"],
I'm going to merge this but is there a good reason you're using
os.environ[] here? If not we should merge a small fixup to use
d.getVar() since ultimately we don't really want these things in the
environment if we can help it.
Cheers,
Richard
More information about the Openembedded-core
mailing list