[OE-core] Suggested RREPLACES/RCONFLICTS for easier kernel-image upgrades
Bryan Evenson
bevenson at melinkcorp.com
Wed Feb 15 21:54:00 UTC 2017
For one project I'm using an Atmel AT91SAM9G25 processor, and I started when support for the chip wasn't fully integrated into the mainline kernel. As a result, I was using Atmel's Linux fork. Support has been in the mainline kernel for a while now, so in the middle of doing other updates I plan on switching to using one of the mainline LTS releases. I'm using the kernel recipe in the meta-sunxi layer as an example (located here: https://github.com/linux-sunxi/meta-sunxi/blob/master/recipes-kernel/linux/linux_4.4.40.bb). I also plan on keeping more up to date on releases. However, due to the package naming for the kernel images, the RREPLACES/RCONFLICTS statements for firmware upgrade for this recipe is getting ridiculous. I'm currently building for kernel version 4.1.38, and here's what I have so far to handle all previous cases:
RREPLACES_kernel-image = "kernel-image (<= 4.1) kernel-image-3.6.9-yocto-standard kernel-image-3.10.0-yocto-standard kernel-image-3.10.0-at91"
RCONFLICTS_kernel-image = "kernel-image (<= 4.1) kernel-image-3.6.9-yocto-standard kernel-image-3.10.0-yocto-standard kernel-image-3.10.0-at91"
If it makes a difference, I'm using opkg for a package manager. Since the kernel version is in the package name, I'm assuming that if I do keep going forward and relatively up to date with LTS release, I'll have to start adding "kernel-image-4.1.38 kernel-image-4.1.39 kernel-image 4.1.40 ...." to the RREPLACES/RCONFLICTS so opkg will upgrade the kernel.
Is there a better way to do this? I've tried using some wildcards in the package names without any success.
Thanks,
Bryan
More information about the Openembedded-core
mailing list