bitbake - Yocto: how to remove/blacklist some dependency from RDEPENDS of a package? -
i have custom machine layer based on https://github.com/jumpnow/meta-wandboard.
i've upgraded kernel 4.8.6 , want add x11 image. i'm modifying image recipe (console-image.bb
). since wandboard based on i.mx6, want include xf86-video-imxfb-vivante
package meta-fsl-arm
. however, fails complaining inability build kernel-module-imx-gpu-viv
. believe happens because xf86-video-imxfb-vivante
depends on imx-gpu-viv
in turn rdepends on kernel-module-imx-gpu-viv
.
i realize dependencies have been created meta-fsl-arm bsp , vanilla poky distribution. things way outdated wandboard, hence using custom machine layer modern kernel. kernel configured include vivante drm module , don't want kernel-module-imx-gpu-viv
package built.
is there way exclude rdepends? can somehow swear health build system take care of specific run-time dependency myself?
i have tried blacklisting 'kernel-module-imx-gpu-viv' setting pnblacklist[kernel-module-imx-gpu-viv]
in local.conf, that's part of solution. helps avoid build failures, packaging process still fails.
iiuc problem comes these lines in img-gpu-viv
recipe:
files_libgal-mx6 = "${libdir}/libgal${solibs} ${libdir}/libgal_egl${solibs}" files_libgal-mx6-dev = "${libdir}/libgal${solibsdev} ${includedir}/hal" rdepends_libgal-mx6 += "kernel-module-imx-gpu-viv" insane_skip_libgal-mx6 += "build-deps"
i qualify rdepends
bug, kernel module dependencies specified rrecommends
because modules can compiled kernel making no separate package @ while still providing functionality. that's issue.
there several ways fix problem, first general route tweak rdepends package. it's bitbake variable, can either assign other value or remove portion of it. in first case it's going this:
rdepends_libgal-mx6 = ""
in second one:
rdepends_libgal-mx6_remove = "kernel-module-imx-gpu-viv"
obviously, these 2 options have different implications present , future work. in general opt softer 1 second, because has less potential breakage when you're update meta-fsl-arm
layer, can change imx-gpu-viv
recipe in kind of way. when you're overriding more complex recipe big lists in variables , you're modifying heavily (not removing thing or two) might easier maintain full hard assignment of variables.
now there question of where variable mangling. main option .bbappend
in layer, that's appends made for, can distro configuration (if you're maintaining own distro might easier have these tweaks in 1 place, rather sprayed numerous appends) or local.conf
(which nice place try out, not use in longer term). use .bbappend
.
but there different approach problem, rather fixing package dependencies can fix some other package provides. if example have kernel configured have imx-gpu-viv
module built right main zimage can do
rprovides_kernel-image += "kernel-module-imx-gpu-viv"
(also in .bbappend
, distro configuration or local.conf
) , that's it.
in case approach fixing problem should reflect difference between setup , recipe assumptions. if have module, in different package, go rprovides
, if have other module providing same functionality libgal-mx6
package fix libgal-mx6
dependencies (and it's better fix them, meaning not drop don't need, add things relevant setup).
Comments
Post a Comment