public inbox for isar-users@googlegroups.com
 help / color / mirror / Atom feed
From: Jan Kiszka <jan.kiszka@siemens.com>
To: Claudius Heine <claudius.heine.ext@siemens.com>,
	isar-users <isar-users@googlegroups.com>
Subject: Re: Incremental target images
Date: Mon, 27 Aug 2018 10:29:34 +0200	[thread overview]
Message-ID: <c30eb52d-dc04-1df7-5117-4f77aa289873@siemens.com> (raw)
In-Reply-To: <b40640c0-31bd-a076-9482-865e7f251ba0@siemens.com>

On 2018-08-27 09:44, Claudius Heine wrote:
> On 2018-08-27 09:25, [ext] Claudius Heine wrote:
>> Hi Jan,
>>
>> On 2018-08-27 08:41, [ext] Jan Kiszka wrote:
>>> Hi all,
>>>
>>> I was wondering if / how we could model the increasingly common case 
>>> of building very similar target images more efficiently.
>>>
>>> A devel image, e.g., likely consists of almost the same base package 
>>> set as the release image. It may only add further packages and maybe 
>>> replace very few (like customization packages). When building both, 
>>> we could save time - specifically when doing cross - by bootstrapping 
>>> the baseline only once. We already do that for the debootstrap step, 
>>> but not yet for further packages.
>>>
>>> What do you think? And how could that be modeled from user perspective?
>>
>> That is not very easy.
>>
>> A complex way this could be done by having a `common image` recipe 
>> that depends on other image recipes to deploy their required package 
>> list,
> 
> What I meant by that is each image recipe writes its package list into 
> its own text file in the 'deploy' directory.
> 
>> then figure out the common dependencies of all of them and build the 
>> custom image.
> 
> s/custom/common/
> 
> Problem scenario here is:
> 
>   Image A: depends on A which depends on D
>   Image B: depends on B which depends on D
> 
> Since D is not named in any recipes, but should be installed in the 
> `common image` as automatically selected package (not as manual). This 
> scripting is a bit tricky.
> 
>> Then those other image recipes depend of the `common image` recipe in 
>> turn to create it, copy it and base their own customizations on top.
>>
>>  From a user perspective they would have to add their image recipes 
>> into a global variable or bbappend, so that is available in the 
>> `common image` recipe. The rest could be done in the image classes.
>>
>> Cheers,
>> Claudius
> 

Hmm, I'm not seeing yet where the complication could come from. I would 
have expected the following:

- write a new image recipe include that takes a preexisting image in
   form of a rootfs as input (rather than using setup_root_file_system)

- create specialized images on top of that which depend on some base
   image recipe as well as additional IMAGE_INSTALL recipes and may come
   with own IMAGE_PREINSTALLs (always on top of base images)

- push all common IMAGE_PREINSTALLs into base image recipes, same for
   all IMAGE_INSTALLs

And done. What am I missing?

Jan

  reply	other threads:[~2018-08-27  8:29 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-08-27  6:41 Jan Kiszka
2018-08-27  7:25 ` Claudius Heine
2018-08-27  7:44   ` Claudius Heine
2018-08-27  8:29     ` Jan Kiszka [this message]
2018-08-27  8:52       ` Claudius Heine
2018-08-27 13:48       ` chombourger

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=c30eb52d-dc04-1df7-5117-4f77aa289873@siemens.com \
    --to=jan.kiszka@siemens.com \
    --cc=claudius.heine.ext@siemens.com \
    --cc=isar-users@googlegroups.com \
    /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