[OE-core] [PATCH] kernel-devsrc: add 'make scripts' postinstall

Bruce Ashfield bruce.ashfield at windriver.com
Mon Nov 23 13:46:24 UTC 2015


On 15-11-22 05:40 PM, Ming Liu wrote:
> From: Ming Liu <peter.x.liu at external.atlascopco.com>
>
> Run 'make scripts' inside qemu in order to create script binaries that
> needed by external modules build on the target.
>
> This 'make scripts' might fail in some cases, for instance, if toolchain or
> make command is not installed on the target, but the postinstall should
> always succeed, it will not break the package installation so the behaviour
> is consistent.

What about just making the package depend on the toolchain ? That was
the approach that I was going to take .. but haven't gotten there yet.

The compilation step worried me at first, but since devsrc is already
quite heavy, adding the extra dependency and compile phase shouldn't be
a big issue.

For Yocto 2.1, I'm changing the packaging of the kernel source, headers
and development chunks. But this change shouldn't be an issue with that.
I'll let you know when I get a bit further along with that work.

>
> [YOCTO #6630]

Once minor 'nit .. if you are submitting a change for a bug that
is assigned to me .. why haven't I heard anything about it until
now ?

Bruce

>
> Signed-off-by: Ming Liu <peter.x.liu at external.atlascopco.com>
> ---
>   meta/recipes-kernel/linux/kernel-devsrc.bb | 13 ++++++++++++-
>   1 file changed, 12 insertions(+), 1 deletion(-)
>
> diff --git a/meta/recipes-kernel/linux/kernel-devsrc.bb b/meta/recipes-kernel/linux/kernel-devsrc.bb
> index 196c8c7..8b366c3 100644
> --- a/meta/recipes-kernel/linux/kernel-devsrc.bb
> +++ b/meta/recipes-kernel/linux/kernel-devsrc.bb
> @@ -11,7 +11,7 @@ LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/GPL-2.0;md5=801f80980d171dd6425
>   inherit linux-kernel-base
>
>   # Whilst not a module, this ensures we don't get multilib extended (which would make no sense)
> -inherit module-base
> +inherit module-base qemu
>
>   # We need the kernel to be staged (unpacked, patched and configured) before
>   # we can grab the source and make the source package. We also need the bits from
> @@ -71,6 +71,17 @@ do_install() {
>   # Ensure we don't race against "make scripts" during cpio
>   do_install[lockfiles] = "${TMPDIR}/kernel-scripts.lock"
>
> +pkg_postinst_${PN} () {
> +	if [ -n "$D" ]; then
> +		${@qemu_run_binary(d, '$D', '${bindir}/make')} \
> +			-C $D${KERNEL_SRC_PATH} O=$D${KERNEL_SRC_PATH} scripts
> +	else
> +		make -C ${KERNEL_SRC_PATH} O=${KERNEL_SRC_PATH} scripts \
> +			>/dev/null 2>&1 || true
> +	fi
> +}
> +
>   PACKAGES = "kernel-devsrc"
>   FILES_${PN} = "${KERNEL_SRC_PATH}"
> +DEPENDS = "qemu-native"
>   RDEPENDS_${PN} = "bc"
>




More information about the Openembedded-core mailing list