[OE-core] Weird ALTERNATIVES and staging conflict.
Richard Purdie
richard.purdie at linuxfoundation.org
Thu Oct 30 17:47:18 UTC 2014
On Thu, 2014-10-30 at 15:17 +0100, Mike Looijmans wrote:
> I have this base script that builds FPGA bitstreams:
>
> https://github.com/topic-embedded-products/meta-topic/blob/master/recipes-bsp/fpga/fpga-image.inc
>
> Now you can have multiple recipes using it, and as such, it seemed a good idea
> to add these lines to that recipe:
>
> +ALTERNATIVE_${PN} = "fpga.bin bitstreams"
> +ALTERNATIVE_LINK_NAME[fpga.bin] = "${datadir}/fpga.bin"
> +ALTERNATIVE_TARGET[fpga.bin] = "${datadir}/fpga.bin"
> +ALTERNATIVE_LINK_NAME[bitstreams] = "${datadir}/bitstreams"
> +ALTERNATIVE_TARGET[bitstreams] = "${datadir}/bitstreams"
>
>
> This still resulted in staging conflicts.
This isn't surprising since update-alternatives only works for target
systems. It is not designed for operating on the sysroot.
> But looking at the contents of the fake packages, the fpga.bin has been
> renamed by alternatives (as expected), and the symlink will be created after
> installing, so how come I still get this?
The "staging" code uses the output of do_install directly and does
different things to the packaging code path. We've never had someone
with this problem before. Binaries in *bindir only get installed into
the sysroot in the -native case.
I appreciate that tells you why it doesn't work and not how to fix it
but hopefully that helps a bit.
Cheers,
Richard
More information about the Openembedded-core
mailing list