[yocto] RFC: Improving the developer workflow
Alex J Lennon
ajlennon at dynamicdevices.co.uk
Thu Aug 7 03:13:02 PDT 2014
On 07/08/2014 10:10, Paul Eggleton wrote:
> Hi folks,
>
> As most of you know within the Yocto Project and OpenEmbedded we've been
> trying to figure out how to improve the OE developer workflow. This potentially
> covers a lot of different areas, but one in particular I where think we can
> have some impact is helping application developers - people who are working on
> some application or component of the system, rather than the OS as a whole.
>
> Currently, what we provide is an installable SDK containing the toolchain,
> libraries and headers; we also have the ADT which additionally provides some
> Eclipse integration (which I'll leave aside for the moment) and has some
> ability to be extended / updated using opkg only.
>
> The pros:
>
> * Self contained, no extra dependencies
> * Relocatable, can be installed anywhere
> * Runs on lots of different systems
> * Mostly pre-configured for the desired target machine
>
> The cons:
>
> * No ability to migrate into the build environment
> * No helper scripts/tools beyond the basic environment setup
> * No real upgrade workflow (package feed upgrade possible in theory, but no
> tools to help manage the feeds and difficult to scale with multiple releases and
> targets)
>
Very interesting Paul.
fwiw Upgrade solutions are something that is still a read need imho, as
I think we discussed at one of the FOSDEMs.
(The other real need being an on-board test framework, again imho, and
which I believe is ongoing)
Historically I, and I suspect others, have done full image updates of
the storage medium, onboard flash or whatever but these images are
getting so big now that I am trying to move away from that and into
using package feeds for updates to embedded targets.
My initial experience has been that
- as you mention it would be really helpful to have something "more"
around management of package feed releases / targets.
- some automation around deployment of package feeds to production
servers would help, or at least some documentation on best practice.
The other big issue I am seeing, which is mostly my own fault thus far,
is that I have sometimes taken the easy option of modifying the root
filesystem image in various ways within the image recipe (for example
changing a Webmin configuration perhaps)
However when I then come to upgrade a package in-situ, such as Webmin,
the changes are then overwritten.
I think this is probably also an issue when upgrading packages that have
had local modifications made, and I wonder whether there's a solution to
this that I'm not aware of?
I am aware of course that mainstream package management tools allow
diffing, upgrading, ignoring and such but I am unsure as to how that is
supported under Yocto at present?
As a minimum I will have to make sure my OEM recipe changes are all in
the correct .bbappends I believe think (more best practice notes there)
and I definitely need to understand better how configuration file
changes are handled when upgrading packages.
Cheers,
Alex
More information about the yocto
mailing list