public inbox for isar-users@googlegroups.com
 help / color / mirror / Atom feed
From: Henning Schild <henning.schild@siemens.com>
To: <isar-users@googlegroups.com>
Cc: Alexander Smirnov <asmirnov@ilbers.de>,
	"KISZKA, JAN" <jan.kiszka@siemens.com>,
	Baurzhan Ismagulov <ibr@radix50.net>
Subject: Why does Isar build multiple configs in one OUTDIR?
Date: Thu, 10 Aug 2017 09:10:59 +0200	[thread overview]
Message-ID: <20170810091059.4244e529@md1em3qc> (raw)

Hey,

at first i did not get the whole "extra-stamp" and ultra-deep directory
structure /DISTRO/ARCH/... But now i got it, Isar actually builds
multiple configs in a shared output directory. And in order to do so it
has to make sure that every single file does not create a name
collision. Coming up with extra-stamps and other funny stuff.

That way accidental reuse of any sort of build result is avoided. All
recipes inherit that complication and have to play along i.e. when
creating temporary files. Avoiding clashes is a very hard job to get
right throughout the whole system.

And at the end there seems to be absolutely no reuse of build results,
which would be the only justification for such madness. All Isar does
is come up with long names to avoid such reuse.

If you are building a kernel for two targets you use two O=, same is
true for cmake-projects and many other build systems out there.

The only reuse of a build step i see at the moment is the git-clone of
Isar itself. Where are the gains that justify the complexity? If there
is a good reason, that i did understand yet, please answer to this
point and you can stop reading here.

IMHO what should happen is:
- you clone your Isar once
- you clone your multiple target layers to _different_ dirs
- you run many (parallel) bitbakes in these dirs
- you _never_ build two targets in the same tree
- we drop all the complexity and do not force it down into
  end-users recipes

I think there is the one use-case where you build two very same images
with the same ARCH DISTRO etc. and actually want to reuse. That
probably already works out of the box and if it does not, coming up
with long stamps and directory names that carry the shared attributes
does not help at all.

Henning

             reply	other threads:[~2017-08-10  7:09 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-08-10  7:10 Henning Schild [this message]
2017-08-10 11:22 ` Alexander Smirnov
2017-08-10 12:17   ` Henning Schild
2017-08-10 12:46     ` Alexander Smirnov
2017-08-10 13:09     ` Baurzhan Ismagulov
2017-08-10 13:52       ` Henning Schild
2017-08-10 14:25         ` Baurzhan Ismagulov
2017-08-10 16:37           ` Jan Kiszka
2017-08-11 18:20             ` Baurzhan Ismagulov
2017-08-19 13:53               ` Jan Kiszka
2017-08-22  0:16                 ` Baurzhan Ismagulov
2017-08-11  8:16           ` Henning Schild

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=20170810091059.4244e529@md1em3qc \
    --to=henning.schild@siemens.com \
    --cc=asmirnov@ilbers.de \
    --cc=ibr@radix50.net \
    --cc=isar-users@googlegroups.com \
    --cc=jan.kiszka@siemens.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