[OE-core] RDEPENDS kernel-image-zimage & kernel.bbclass PKG name

André Draszik git at andred.net
Wed May 15 07:41:42 UTC 2019


On Tue, 2019-05-14 at 17:32 +0100, André Draszik wrote:
> On Tue, 2019-05-14 at 14:35 +0100, André Draszik wrote:
> > Hi,
> > 
> > As part of the build, kernel packages are renamed, e.g.
> > kernel-image-zimage basically becomes
> > kernel-image-zimage-${KERNEL_VERSION}
> > 
> > When a package created by recipe B RDEPENDS on kernel-image-zimage,
> > the ipk generated ultimately depends on
> > kernel-image-zimage-${KERNEL_VERSION} (not kernel-image-zimage).
> > Once the kernel is updated, it appears as though recipe B is not
> > repackaged, so the package still runtime depends on the original
> > kernel, which doesn't exist anymore, and thus building the image
> > fails.
> > 
> > Specifically, I have
> > MACHINE_EXTRA_RDEPENDS += "kernel-image-zimage"
> > in my BSP, and hence packagegroup-machine-base runtime depends on
> > kernel-image-zimage-4.9.11-cl-som-imx7-5.1+gc27010d99a3d.
> > Updating the kernel doesn't trigger a rebuild of packagegroup-machine-base,
> > so things fail for me.
> > 
> > 
> > Am I missing something in my BSP? I could probably do a bbappend
> > on packagegroup-base.bb and add something like
> > do_packagedata[depends] += "virtual/kernel:do_packagedata"
> 
> BTW, I've tried the following packagegroup-base.bbappend to no avail:
> 
> python do_get_kernel_zimage_name() {
>     new_dep = get_package_mapping('kernel-image-zimage', 'packagegroup-machine-base', d)
>     d.appendVarFlag('do_package_write_ipk', 'vardeps', new_dep)
> }
> addtask get_kernel_zimage_name after do_package before do_package_write_ipk
> do_get_kernel_zimage_name[depends] += "virtual/kernel:do_packagedata"

The above snippet was wrong, I meant to post this snippet:

KERNEL_ZIMAGE_PKG_NAME = ""
do_package_write_ipk[vardeps] += "KERNEL_ZIMAGE_PKG_NAME"

python do_get_kernel_zimage_name() {
    new_dep = get_package_mapping('kernel-image-zimage', 'packagegroup-machine-base', d)
    bb.warn ('new dep is %s' % new_dep)
    d.setVar('KERNEL_ZIMAGE_PKG_NAME', new_dep)
}
addtask get_kernel_zimage_name after do_package before do_package_write_ipk
do_get_kernel_zimage_name[depends] += "virtual/kernel:do_package_write_ipk"


(still with the same behaviour)

A.

> 
> 
> I suspect adding the varflag happens too late in this case, as the package
> still isn't rebuilt on kernel updates.
> 
> > This doesn't seem right, though.
> 
> A.
> 
> > 
> > Any ideas or thoughts?
> > 
> > 
> > Cheers,
> > Andre'
> > 
> > 



More information about the Openembedded-core mailing list