Openembedded Core Discussions
 help / color / mirror / Atom feed
* [PATCH] kernel-devsrc: add 'make scripts' postinstall
@ 2015-11-22 22:40 Ming Liu
  2015-11-23 13:46 ` Bruce Ashfield
  0 siblings, 1 reply; 3+ messages in thread
From: Ming Liu @ 2015-11-22 22:40 UTC (permalink / raw)
  To: openembedded-core; +Cc: bruce.ashfield, darren, Ming Liu, yue.tao

From: Ming Liu <peter.x.liu@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.

[YOCTO #6630]

Signed-off-by: Ming Liu <peter.x.liu@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"
-- 
1.9.1



^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH] kernel-devsrc: add 'make scripts' postinstall
  2015-11-22 22:40 [PATCH] kernel-devsrc: add 'make scripts' postinstall Ming Liu
@ 2015-11-23 13:46 ` Bruce Ashfield
  2015-11-23 20:56   ` Ming Liu
  0 siblings, 1 reply; 3+ messages in thread
From: Bruce Ashfield @ 2015-11-23 13:46 UTC (permalink / raw)
  To: Ming Liu, openembedded-core; +Cc: darren, Ming Liu, yue.tao

On 15-11-22 05:40 PM, Ming Liu wrote:
> From: Ming Liu <peter.x.liu@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@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"
>



^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] kernel-devsrc: add 'make scripts' postinstall
  2015-11-23 13:46 ` Bruce Ashfield
@ 2015-11-23 20:56   ` Ming Liu
  0 siblings, 0 replies; 3+ messages in thread
From: Ming Liu @ 2015-11-23 20:56 UTC (permalink / raw)
  To: Bruce Ashfield, openembedded-core; +Cc: darren, Ming Liu, yue.tao



On 11/23/2015 02:46 PM, Bruce Ashfield wrote:
> On 15-11-22 05:40 PM, Ming Liu wrote:
>> From: Ming Liu <peter.x.liu@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.
Yes, that makes more sense from the dependency point of view, I also 
thought about that, but I did not want to introduce extra dependencies 
at that time. But maybe it's a better solution, I will send the V1 soon.

>
> 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.
I am on board.

>
> 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.
Thanks, good to know that.

>
>>
>> [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 ?
Really sorry about that, I just started to look at it on last Sunday, 
then this solution came out of my mind, but I should talk to you before 
submitting it.

//Ming Liu
>
> Bruce
>
>>
>> Signed-off-by: Ming Liu <peter.x.liu@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"
>>
>



^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2015-11-23 20:56 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-11-22 22:40 [PATCH] kernel-devsrc: add 'make scripts' postinstall Ming Liu
2015-11-23 13:46 ` Bruce Ashfield
2015-11-23 20:56   ` Ming Liu

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox