Hi,

For the past 2 weeks I've been trying to fix the angstrom feeds manually due to 
a combination of PRSERV deciding that going backwards is OK and multiple layers 
getting updates that make PR go backwards as well.

Getting a simple reduction for PRSERV going backwards is nigh impossible[1], so 
I can't complain too much about that, but I can complain about what people do :)

What triggered PR going backwards this time was a BSP removing its netbase 
bbappend because it wasn't needed anymore. That's great, I hate netbase 
bbappends since they tend to be ifupdown specific and don't work as intended 
with connman/NM/netctl/etc. Long story short:

        ERROR: Package version for package netbase-dbg went backwards which 
would break package feeds from (0:5.0-r3.1 to 0:5.0-r1.2)
        ERROR: Package version for package netbase-staticdev went backwards 
which would break package feeds from (0:5.0-r3.1 to 0:5.0-r1.2)
        ERROR: Package version for package netbase-dev went backwards which 
would break package feeds from (0:5.0-r3.1 to 0:5.0-r1.2)
        ERROR: Package version for package netbase-doc went backwards which 
would break package feeds from (0:5.0-r3.1 to 0:5.0-r1.2)
        ERROR: Package version for package netbase-locale went backwards which 
would break package feeds from (0:5.0-r3.1 to 0:5.0-r1.2)
        ERROR: Package version for package netbase went backwards which would 
break package feeds from (0:5.0-r3.1 to 0:5.0-r1.2)

To avoid things like that in the future I have a few recommendations I'd like 
to get feedback on:

1) For a given BSP split it in multiple layers:
        a) One 'core' BSP layer with only:
                o Bootloader
                o Kernel
                o Tooling to build bootloader/kernel/image
        b) One BSP layer with bbappends for shadow/netbase/xorg-conf/etc
        c) One or more layers with bbappends for libav/clutter/etc[2]


2) *Never* use PRINC in type b) bbappends

3) Avoid PRINC in general

4) make buildhistory.bbclass mandatory in OE-core

There's another use case that suffers from PRINC problems and that is removing 
layers when they break parsing and the maintainer is slow to push patches. With 
the current situation I have to choose between "being able to do builds" and 
"having working feeds".

During the last TSC meeting we discussed that there is currently no way to 
force maintainers to behave. I think the most we can do is have clear 
guidelines on the OE side and enforce those during the "Yocto Project 
Compatible" process. 
And have the layer index orange/red flag layers that do stupid things. Come to 
think of it, that would actually be the most visible way to go, having 
wikipedia style warning banners on the offending layers.

Thanks,

Koen

[1] It always happens after editing bblayers.conf and dragging in major update 
to layers. Since I tend to do both at the same time I can't say which action 
triggers it or if it's the combination.
[2] I spent 3 days trying to figure out why mesa was so *$(*$(@ broken before I 
finally located the bbappends in meta-ti that were causing this breakage
_______________________________________________
Openembedded-devel mailing list
[email protected]
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-devel

Reply via email to