[yocto] RREPLACES and RCONFLICTS when switching from linux-yocto to linux-yocto-custom

Bryan Evenson bevenson at melinkcorp.com
Thu Apr 9 11:31:36 PDT 2015


All,

> -----Original Message-----
> From: yocto-bounces at yoctoproject.org [mailto:yocto-
> bounces at yoctoproject.org] On Behalf Of Bryan Evenson
> Sent: Thursday, April 09, 2015 8:27 AM
> To: yocto at yoctoproject.org
> 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-
> standard"
> RCONFLICTS_${PN} = "kernel-image (<= 3.10) kernel-image-3.10.0-yocto-
> standard"
> 
> 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.

Regards,
Bryan

> 
> Thanks,
> Bryan
> --
> _______________________________________________
> yocto mailing list
> yocto at yoctoproject.org
> https://lists.yoctoproject.org/listinfo/yocto



More information about the yocto mailing list