public inbox for isar-users@googlegroups.com
 help / color / mirror / Atom feed
From: Alexander Smirnov <asmirnov@ilbers.de>
To: Henning Schild <henning.schild@siemens.com>
Cc: isar-users@googlegroups.com
Subject: Re: [RFC][PATCH 0/3] Experiments with .dsc backend
Date: Mon, 23 Apr 2018 18:26:10 +0300	[thread overview]
Message-ID: <52a4801e-ef31-bdc8-5a77-b2def3b90503@ilbers.de> (raw)
In-Reply-To: <20180423163616.6f038064@mmd1pvb1c.ad001.siemens.net>

On 04/23/2018 05:36 PM, Henning Schild wrote:
> Am Mon, 23 Apr 2018 16:21:43 +0300
> schrieb Alexander Smirnov <asmirnov@ilbers.de>:
> 
>> Hi everybody,
>>
>> as it was planned initially, one of the Isar feature is the ability to
>> rebuild original Debian packages with/without customizations. Doing
>> this manually in classical Yocto/OE style requires manual setting of
>> lots of variables and having a copy of Debian patch (*.debian.tar.xz)
>> for this package in your recipe's folder. Maintenance of this system
>> becomes very complicated.
>>
>> I performed a small research regarding bitbake capabilities and found
>> an interesting trick: during bitbake parsing stage (in anonymous
>> tasks) we could re-construct whole recipe (including tasks and
>> variable), and this snapshot will be stored in recipe's dynamic
>> context, that is used during pipeline execution.
>>
>> This series is just a PoC, lots of issues are still open, like:
>>   - Patching upstream packages
>>   - Automatic cross-recipe dependency detection to avoid duplications
>> in recipe and debian/control files
>>   - etc...
>>
>> To test this series just run:
>>
>>   $ bitbake hello
>>
>> After build, in hello workdir there will be a newly-baked identical
>> copy of upstream package :-)
> 
> Interesting idea, but my personal feeling is that Isar already uses a
> lot of bitbake magic and we should maybe try to avoid introducing more
> where feasible.
> 

Bitbake was designed for Open Embedded, so it doesn't consider our 
Isar/Debian usecases. And roughly speaking, bitbake usage in Isar is a 
kind of hack at all. In such questions, I'd more prefer to focus on the 
features we need and extend bitbake, instead of applying Yocto 
philosophy to Isar. But this also is only my personal feeling.

>> Feedbacks, ideas, proposals are welcome!
> 
> So my feedback would be that the .dsc to recipe step should be put in a
> helper tool in the scripts directory. People that want to modifiy
> upstream packages would generate an isar-recipe with the tool once.
> Modifications in the form of patches could go on top.
> Or would this limit the envisioned feature in any way?

IMHO this is undesired behavior:
  - Extra step to generate new recipes
  - Extra step to add these recipes to build
  - Headache with maintenance: you touch some dsc -> you need to 
regenerate new recipes etc...
  - You should somehow/somewhere list of .dsc files
So this looks like a completely new ecosystem.

.dsc is standard format to describe Debian source packages. So anyway, 
to be Debian compliant Isar should support this format.

> 
> I also fear that this could complicate the reproducable build story.

In general this doesn't affect reproducibility at all. The key 
difference from typical recipe (build from tarball), that SRC_URI is 
derived dynamically from .dsc file during parsing stage. The remaining 
part of the pipeline stays untouched.

> 
> Henning
> 
>> With best regards,
>> Alex
>>
>> Alexander Smirnov (3):
>>    buildchroot: Include texinfo to base system
>>    classes/dsc: Basic Debian .dsc backend implementation
>>    recipes-debian: Add example recipe to test Debian .dsc support
>>
>>   meta-isar/recipes-debian/hello/hello.bb          |  10 ++
>>   meta/classes/debian-dsc.bbclass                  | 112
>> +++++++++++++++++++++++
>> meta/recipes-devtools/buildchroot/buildchroot.bb |   3 +- 3 files
>> changed, 124 insertions(+), 1 deletion(-) create mode 100644
>> meta-isar/recipes-debian/hello/hello.bb create mode 100644
>> meta/classes/debian-dsc.bbclass
>>
>

  reply	other threads:[~2018-04-23 15:26 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-04-23 13:21 Alexander Smirnov
2018-04-23 13:21 ` [RFC][PATCH 1/3] buildchroot: Include texinfo to base system Alexander Smirnov
2018-04-23 13:21 ` [RFC][PATCH 2/3] classes/dsc: Basic Debian .dsc backend implementation Alexander Smirnov
2018-04-23 15:04   ` Henning Schild
2018-04-23 16:11     ` Alexander Smirnov
2018-04-23 17:27       ` Henning Schild
2018-04-25 10:11         ` Jan Kiszka
2018-05-08 17:40   ` Henning Schild
2018-04-23 13:21 ` [RFC][PATCH 3/3] recipes-debian: Add example recipe to test Debian .dsc support Alexander Smirnov
2018-04-23 14:36 ` [RFC][PATCH 0/3] Experiments with .dsc backend Henning Schild
2018-04-23 15:26   ` Alexander Smirnov [this message]
2018-04-23 16:03     ` Henning Schild
2018-04-27 15:46       ` Alexander Smirnov
2018-05-02  8:19         ` Henning Schild
2018-05-08 17:37 ` Henning Schild
2018-05-08 18:31   ` Alexander Smirnov
2018-05-09  7:37     ` 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=52a4801e-ef31-bdc8-5a77-b2def3b90503@ilbers.de \
    --to=asmirnov@ilbers.de \
    --cc=henning.schild@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