Re: RREPLACES and RCONFLICTS when switching from linux-yocto to linux-yocto-custom

Bryan Evenson


-----Original Message-----
From: yocto-bounces@... [mailto:yocto-
bounces@...] On Behalf Of Bryan Evenson
Sent: Thursday, April 09, 2015 8:27 AM
To: yocto@...
Subject: [yocto] RREPLACES and RCONFLICTS when switching from linux-
yocto to linux-yocto-custom

I am on poky/dizzy and I am using opkg for package management. I recently
discovered I had a problem with my custom kernel image recipe and instead
of the package name being called "kernel-image-3.10.0-custom" it was called
"kernel-image-3.10.0-yocto-standard" (as shown by "opkg list-installed" on
the device). However, with the updated package name opkg does not
recognize the "kernel-image-3.10.0-custom" package as an available upgrade
for "kernel-image-3.10.0-yocto-standard". I know I can fix this with
RREPLACES and RCONFLICTS, but what I have tried has not yet worked and I
am looking for suggestions.

In my kernel bbappend, I have the following lines:
RREPLACES_${PN} = "kernel-image (<= 3.10)"
RCONFLICTS_${PN} = "kernel-image (<= 3.10)"

I tried changing this to:
RREPLACES_${PN} = "kernel-image (<= 3.10) kernel-image-3.10.0-yocto-
RCONFLICTS_${PN} = "kernel-image (<= 3.10) kernel-image-3.10.0-yocto-

Opkg still does not recognize the custom package as an upgrade option. I
also noticed for my installed kernel, I don't see any listing for it providing
"kernel-image", but the updated package does provide "kernel-image".
However, typing "opkg info kernel-image" doesn't report anything. So I think
I may have several problems related to the package naming. I suspect that I
need to do RREPLACES/RCONFLICTS for something other than ${PN} in this
situation, but I'm not sure what.

Any suggestions on how to get opkg to recognize the custom kernel as an
upgrade for the yocto-standard kernel?
I figured it out. The PN for this recipe is linux-yocto-custom, but that is not the package name as installed on the device. So if I instead do:

RREPLACES_kernel-image = "kernel-image (<= 3.10) kernel-image-3.10.0-yocto-standard"
RCONFLICTS_kernel-image = "kernel-image (<= 3.10) kernel-image-3.10.0-yocto-standard"

Then the old kernel image sees the incoming one as an upgrade. And if I hadn't previously made a mistake on the RPROVIDES on my previous kernel recipes, then I could have done away with "kernel-image-3.10.0-yocto-standard" in the RREPLACES and RPROVIDES.


yocto mailing list

Join { to automatically receive all group messages.