public inbox for openembedded-core@lists.openembedded.org
 help / color / mirror / Atom feed
From: "David Nyström" <david.nystrom@enea.com>
To: Richard Purdie <richard.purdie@linuxfoundation.org>,
	openembedded-core <openembedded-core@lists.openembedded.org>
Subject: Re: My thoughts on the future of OE?
Date: Mon, 5 May 2014 13:39:40 +0200	[thread overview]
Message-ID: <5367787C.1080503@enea.com> (raw)
In-Reply-To: <1398963761.12731.1.camel@ted>

On 2014-05-01 19:02, Richard Purdie wrote:
> I was asked what I thought were things that needed discussion at OEDAM.
> Sadly I won't be there but I thought it might help to write down my
> thoughts in a few areas.
>
> Developer Workflow
> ------------------
>
> Firstly, I think the big piece we need to address as a project is
> "developer workflow" as this is where people are struggling using it.

Good initiative.

> Unfortunately "developer workflow" means different things to different
> people? Which one do I mean then? I actually mean all of them. As some
> examples:

Whilst OE supplies a superior interface towards distribution engineers, 
and one-man-army developers who usually work top-down on the entire 
software stack, its currently supplies a suboptimal user experience for 
bigger teams, where each team tend to care only about their app, and its 
dependencies.

IMHO, the biggest issue is maintainable interfaces between different 
participants within the larger projects.
The package repository should be able to facilitate a good user facing 
interface for Application developers and kernel developers.

I fear that an item in a locked sstate might not be a small enough 
cross-section for reporting bugs against. How do I trace a buggy package 
installed on my target rootfs, back to an item in the locked sstate?

> -----------------------------------------------------------------------
>
> * A kernel developer wanting to rebuild a kernel
>    [on/off target, with the ADT/SDK or a recipe]
> * A kernel developer wanting to build a kernel module
>    [on/off target, with the ADT/SDK or a recipe]
> * An application developer wanting to build a single App
>    [on/off target, with the ADT/SDK or a recipe]
> * An application developer wanting to (re)build a library, linking an
>    App to it
>    [on/off target, with the ADT/SDK or a recipe]
> * A user wanting to rebuild an image with a package added
>    [on and off target - feeds or a build]
> * A user wanting to rebuild an image with more advanced changes

An example of a low-overhead scenario for a bigger project:

** Distribution Engineers
* Works in the bitbake/OE environment and against the upstream Yocto 
community.
* Makes sure the distribution package repository is kept up to date..
* Syncs releses, upgrades and bugfixes with the upstream community.
* Recieves patches and configuration from Developers and integrate them 
into the distribution, either by SRCREV:s or patches.

** Kernel Developers
* Uses on SDK/ADT tarball provided by the SI.
* Upstreams patches to Upstream.
* Backports patches, sends new SCM revisions, and kernel configuration 
shards to the SI.
* Creates the rootfs image by method X[1] from the package repository.
* Expands the rootfs image by method X[1] from the package repository.
* Bugreports on other ADs or KDs packages using the package versions.

** Application Developers
* Uses on SDK/ADT tarball provided by the SI.
* Determines application dependencies/configuration and notifies SI of 
requirements.
* Maintains the applications recipe.
* Creates the rootfs image by method X[1] from the package repository.
* Expands the rootfs image by method X[1] from the package repository.
* Upstreams recipes, patches or SCM revisions to the SI for his 
application/s for distribution.
* Bugreports on other ADs or KDs packages using the package versions.


Ref:[1]
The current options are:

1. Static core-image-best-guess with package-management delivered by DE.
--
Works OK with static storage. This is a pain with volatile storage 
though, or read-only rootfs:s.
And it is bloaty with bigger repos, and limited storage size.
Different teams images will differ over time.

2. BUILD_IMAGES_FROM_FEEDS
--
Works only for ipk. Still requires bitbake/OE env for rather lightweight 
use-case.

Possible Future for [1]:
Step 1:
Let AD/KD create rootfs images from the package repository with a 
lightweight tool in the SDK tarball. Dependencies needed by postinstall 
hooks needs to be available in the nativesdk sysroot.
This would also allow customization of the SDK targets sysroot, and SDK 
nativesdk sysroots on a per-package level.
i.e. If I'm cross compiling and missing libcurl from the target sysroot, 
I should be able to expand it easily with the distributions version of 
libcurl.






  parent reply	other threads:[~2014-05-05 11:45 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-05-01 17:02 My thoughts on the future of OE? Richard Purdie
2014-05-01 17:44 ` Stewart, David C
2014-05-02 13:00 ` Mike Looijmans
2014-05-02 13:47   ` Burton, Ross
2014-05-02 14:10     ` Mike Looijmans
2014-05-02 16:05       ` Philip Balister
2014-05-02 14:23     ` Jack Mitchell
2014-05-02 19:16 ` Koen Kooi
2014-05-02 19:59   ` Richard Purdie
2014-05-02 20:11 ` Martin Jansa
2014-05-05 11:39 ` David Nyström [this message]
2014-05-15  9:58   ` Barros Pena, Belen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=5367787C.1080503@enea.com \
    --to=david.nystrom@enea.com \
    --cc=openembedded-core@lists.openembedded.org \
    --cc=richard.purdie@linuxfoundation.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox