From: Henning Schild <henning.schild@siemens.com>
To: Alexander Smirnov <asmirnov@ilbers.de>
Cc: Jan Kiszka <jan.kiszka@siemens.com>,
"[ext] Claudius Heine" <claudius.heine.ext@siemens.com>,
<isar-users@googlegroups.com>
Subject: Re: [PATCH v4 0/4] Basic binary cache implementation
Date: Wed, 4 Oct 2017 18:58:20 +0200 [thread overview]
Message-ID: <20171004185820.5f7bd95b@md1em3qc> (raw)
In-Reply-To: <596a836b-10fa-b876-9e40-26c1920b767d@ilbers.de>
Am Wed, 4 Oct 2017 19:50:09 +0300
schrieb Alexander Smirnov <asmirnov@ilbers.de>:
> Hi,
>
> On 10/04/2017 06:40 PM, Henning Schild wrote:
> > Am Wed, 4 Oct 2017 17:29:08 +0300
> > schrieb Alexander Smirnov <asmirnov@ilbers.de>:
> >
> >> On 10/04/2017 02:57 PM, Jan Kiszka wrote:
> >>> On 2017-10-04 10:32, [ext] Claudius Heine wrote:
> >>>> Hi,
> >>>>
> >>>> On 10/0 '2/2017 05:45 PM, Alexander Smirnov wrote:
> >>>>> Hello everybody,
> >>>>>
> >>>>> this series introduces basic binary caching for Isar.
> >>>>>
> >>>>> There is a new layer: meta-isar-bin which is intended to be the
> >>>>> binary cache. All the packages that are built in Isar are stored
> >>>>> in this cache using reprepro.
> >>>>>
> >>>>> Having the separate layer makes possible to manage this cache
> >>>>> separately from the Isar build tree. So once you have built your
> >>>>> packages, you could re-use this cache for further builds.
> >>>>
> >>>> We still have to talk about your requirement for the cache to be
> >>>> sharable and your resulting implementation of it as a meta layer.
> >>>>
> >>>> Since I still don't see the benefit of a sharable cache and think
> >>>> that putting binary packages into some kind of strange meta layer
> >>>> is not the right solution and could potentially create more
> >>>> problems that is solves because its very much in conflict with
> >>>> the fundamental idea of a meta layer.
> >>
> >> The last statement is a bit strange for me. The idea of meta layers
> >> is to split software stack into logical layers that could be
> >> enabled/disabled on demand. Having binaries or recipes doesn't
> >> matter here, it's just the way how software is provided to build.
> >
> > Binaries that can be rebuild should not become part of the build
> > system. The need to distribute them to the targets or other
> > developers/images later is what we all agree on. But that should be
> > mostly outside of isar.
>
> Each binary could be re-built from sources (at least for Debian :-)
> ). Moreover Debian provides sources for them, so they are open for
> use.
>
> But for me it looks like:
>
> - Installing binaries to target from 'ftp.debian.org' is allowed.
> - Installing binary dependencies for custom built package from
> 'ftp.debian.org' is allowed.
> - Installing my binary application from 'my.debian.repo' is not
> allowed. I have to build it from sources.
That is not only allowed it is absolutely wanted! But for that step you
would add that repo to your multistrap config or /etc/apt/, which is in
the scope of isar.
Building the repo is also in the scope of isar, but holding the
artefacts and publishing the repo outside the build-dir is not.
Henning
> What is the idea here? For me it's something like traditional OE
> philosophy, but without benefit for Isar.
>
> One of the typical usecase: if I'm, for example, developing 'hello'
> application, why it's so critical for me to build, lets say, kernel
> from sources?
>
> Alex
>
> >
> > Building an Image will result in the Image and a repo. Both have to
> > somehow make their way to the target, but that is somewhat out of
> > scope of the build system.
> >
> >>>
> >>> Indeed, state like this (disclaimer: i didn't look into all
> >>> details), it sounds like a weird architecture to me as well.
> >>> Thinking of an artifact cache, I would rather expect something
> >>> like OE's sstate that one may preserve across builds, share
> >>> between devs, or whatever. If it's there, the build system
> >>> consults it, if not, it rebuilds. But sstate is not a layer, for
> >>> some good reasons.
> >>
> >> Let me again summarize major points here. Isar is the build system
> >> designed to work with binary packages. That's the key feature of
> >> this product and main difference from OE-like systems. The Isar
> >> architecture assumes to be designed around binary packages, what
> >> provides absolutely different approach how binary images could be
> >> generated using bitbake.
> >>
> >> According to the Claudius's vision, that everything should always
> >> be built from sources - Isar is not the best option here, Yocto
> >> and OE are much better, because they were initially designed for
> >> this work. Attempts to apply OE design and philosophy to Isar
> >> could have negative impact and limit possible ways to implement
> >> custom features, because OE wasn't designed for this features.
> >> Also I wonder why we are able to use binary Debian packages, while
> >> the rest of software should be built from sources.
> >>
> >> This series introduces support for binary apt repositories in Isar.
> >> This feature is response to the following cases:
> >>
> >> 1. Publish custom apt layer in web. When I need to install some
> >> custom software to my Debian system, I frequently see instructions
> >> like:
> >> - Add 'blablabla' to your /etc/apt/source.list
> >> - Run apt-get update
> >> - Run apt-get install
> >>
> >> That's for example how Jenkins and GitLab are distributed:
> >>
> >> https://pkg.jenkins.io/debian/
> >
> > I think we all get that and agree on it.
> >
> >> The management of this public apt could require some manual effort,
> >> while Isar (in plans) could update it automatically, so you update
> >> source code for your product, run Isar and it provides complete apt
> >> that you could upload to your server.
> >
> > Exactly, those manual steps or custom scripts are outside the scope
> > of Isar. Just like the flashing of the Images onto the targets.
> >
> >> 2. Implement easy software update. On our host systems we usually
> >> do not flash whole image if we need to update some packages. The
> >> update is performed using 'apt-get install' (or by similar tool).
> >> But in this case binary repo is needed, what could be again
> >> provided by Isar.
> >>
> >> Please do not limit Isar by deep embedded application, host systems
> >> also could be managed by Isar.
> >
> > If the repo ends up in the output directory all those scenarios are
> > still possible, _and_ your source tree will not contain
> > build-output.
> > Henning
> >
> >> 3. In long term, help Debian community to manage Debian
> >> infrastructure, what includes publishing apt updates.
> >>
> >
>
next prev parent reply other threads:[~2017-10-04 16:58 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-10-02 15:45 Alexander Smirnov
2017-10-02 15:45 ` [PATCH 1/4] meta-isar-bin: Add reprepro configs Alexander Smirnov
2017-10-02 15:45 ` [PATCH 2/4] meta-isar-bin: Generate cache repos Alexander Smirnov
2017-10-04 9:03 ` Henning Schild
2017-10-04 10:57 ` Alexander Smirnov
2017-10-04 14:09 ` Henning Schild
2017-10-02 15:45 ` [PATCH 3/4] meta-isar-bin: Populate cache Alexander Smirnov
2017-10-02 15:45 ` [PATCH 4/4] meta-isar-bin: Install packages via multistrap Alexander Smirnov
2017-10-04 9:05 ` Henning Schild
2017-10-04 10:59 ` Alexander Smirnov
2017-10-04 8:32 ` [PATCH v4 0/4] Basic binary cache implementation Claudius Heine
2017-10-04 11:57 ` Jan Kiszka
2017-10-04 14:29 ` Alexander Smirnov
2017-10-04 15:40 ` Henning Schild
2017-10-04 16:50 ` Alexander Smirnov
2017-10-04 16:58 ` Henning Schild [this message]
2017-10-04 17:34 ` Claudius Heine
2017-10-04 18:47 ` Alexander Smirnov
2017-10-05 8:38 ` Claudius Heine
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=20171004185820.5f7bd95b@md1em3qc \
--to=henning.schild@siemens.com \
--cc=asmirnov@ilbers.de \
--cc=claudius.heine.ext@siemens.com \
--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