* [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