[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