[meta-virtualization] [PATCH] xen: Add menuconfig task and enable menuconfig from devshell

Bruce Ashfield bruce.ashfield at gmail.com
Thu Sep 14 13:31:00 PDT 2017


merged.

Bruce

On Wed, Sep 13, 2017 at 9:16 PM, <christopher.w.clark at gmail.com> wrote:

> From: Christopher Clark <christopher.clark6 at baesystems.com>
>
> Xen supports Kconfig for configuring optional build settings.
> This commit adds the menuconfig task to simplify interactive use:
>
>     bitbake xen -c menuconfig
>
> and also ensures that menuconfig works when using the devshell.
> This change adds ncurses-native as a build dependency.
>
> Signed-off-by: Christopher Clark <christopher.clark6 at baesystems.com>
> ---
>
> Please use my gmail address for any correspondence.
>
>  recipes-extended/xen/xen.inc | 35 +++++++++++++++++++++++++++++++++++
>  1 file changed, 35 insertions(+)
>
> diff --git a/recipes-extended/xen/xen.inc b/recipes-extended/xen/xen.inc
> index ab69987..3ca38fb 100644
> --- a/recipes-extended/xen/xen.inc
> +++ b/recipes-extended/xen/xen.inc
> @@ -30,6 +30,7 @@ DEPENDS = " \
>      flex-native \
>      file-native \
>      iasl-native \
> +    ncurses-native \
>      util-linux-native \
>      xz-native \
>      bridge-utils \
> @@ -1006,3 +1007,37 @@ do_deploy() {
>  }
>
>  addtask deploy after do_populate_sysroot
> +
> +# Enable use of menuconfig directly from bitbake and also within the
> devshell
> +OE_TERMINAL_EXPORTS += "HOST_EXTRACFLAGS HOSTLDFLAGS TERMINFO"
> +HOST_EXTRACFLAGS = "${BUILD_CFLAGS} ${BUILD_LDFLAGS}"
> +HOSTLDFLAGS = "${BUILD_LDFLAGS}"
> +TERMINFO = "${STAGING_DATADIR_NATIVE}/terminfo"
> +do_devshell[depends] += "ncurses-native:do_populate_sysroot"
> +
> +KCONFIG_CONFIG_COMMAND ??= "menuconfig"
> +python do_menuconfig() {
> +    import shutil
> +
> +    try:
> +        mtime = os.path.getmtime("xen/.config")
> +        shutil.copy("xen/.config", "xen/.config.orig")
> +    except OSError:
> +        mtime = 0
> +
> +    oe_terminal("${SHELL} -c \"cd xen; XEN_CONFIG_EXPERT=y make %s; if [
> \$? -ne 0 ]; then echo 'Command failed.'; printf 'Press any key to
> continue... '; read r; fi\"" % d.getVar('KCONFIG_CONFIG_COMMAND'),
> +        d.getVar('PN') + ' Configuration', d)
> +
> +    try:
> +        newmtime = os.path.getmtime("xen/.config")
> +    except OSError:
> +        newmtime = 0
> +
> +    if newmtime > mtime:
> +        bb.note("Configuration changed, recompile will be forced")
> +        bb.build.write_taint('do_compile', d)
> +}
> +do_menuconfig[depends] += "ncurses-native:do_populate_sysroot"
> +do_menuconfig[nostamp] = "1"
> +do_menuconfig[dirs] = "${B}"
> +addtask menuconfig after do_configure
> --
> 2.7.4
>
>


-- 
"Thou shalt not follow the NULL pointer, for chaos and madness await thee
at its end"
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.yoctoproject.org/pipermail/meta-virtualization/attachments/20170914/87520e7f/attachment.html>


More information about the meta-virtualization mailing list