From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 6547633542169362432 X-Received: by 2002:adf:b64f:: with SMTP id i15-v6mr1813822wre.9.1524497180002; Mon, 23 Apr 2018 08:26:20 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com Received: by 10.28.206.14 with SMTP id e14ls1969116wmg.11.canary-gmail; Mon, 23 Apr 2018 08:26:19 -0700 (PDT) X-Google-Smtp-Source: AIpwx4/mhx0lnifW0N34kU6wc/nSwcwvYm5wHAUFE4YdEKeAg9r4D3T7Y8LLtF46YYyNZHs1dzom X-Received: by 10.28.191.81 with SMTP id p78mr1202669wmf.28.1524497179494; Mon, 23 Apr 2018 08:26:19 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1524497179; cv=none; d=google.com; s=arc-20160816; b=SkLVagreGXKZNCSlepdMF6D/3gtutdSNi5C/fGlZLlV2BF3OCA/4xVnjnT20alNFey p6JRsH2ePhna5jI/daX/2d14y04FRTulxhWKMlhtTZLe+sUgt3S3LLUt/WEHiZ2s2xp9 SCa5yVW92cc4uPTSbjBZY9Ru2krU2J6/XR24m8+Ptj37agd+1oLmYAoRNtSl8+oslEYx /ciPgpSfyiS6pGg6p6Dog41Q9E20yF1XHNv2VcQ1wrG9D4saP3O3VHv7xNuzWXCp5hfK 7ul1NGjPBilIEo2frdPveZHyCfzqoPc3e8vzyyk2QuVQOc2snoQC3IwSeJTkFr6Vdgg4 K5Pw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:content-language:in-reply-to:mime-version :user-agent:date:message-id:from:references:cc:to:subject :arc-authentication-results; bh=JtYlluqXiKzokSQdCPaOovexuq4DbrUbz46qEQwpdLE=; b=0us+ZTYeh7SQBkVN3eJQw608ljwAGRX03sTwKREO1dAc5HZA29aKhRgAHwZBZVRmaY ze0GYQRqQcvBAA+HPZXz0ev3QJJc8GJXB1F3r6Fo/4jdDeD3gBSKyQA72rsrwI7tGwFF gYkYNm50SbKNkI7Oqo2A/RZk2hvokL2JbWcM+V0W4IUoziC1jffGEAQfKoubRNVmyMY6 Vk2nqYBwwRIM7lfSjc7JkzTOenuHWbrL9ADGDyWpio4m6izJJbEmYoHydABcomrt+Ez1 nga5mALXn3xw9shuk95Ff0+0bEWpqcDcKIg0yr/VynQ/5IgtfjHiLwCR0pwbNsbvAg6m 59yg== ARC-Authentication-Results: i=1; gmr-mx.google.com; spf=pass (google.com: best guess record for domain of asmirnov@ilbers.de designates 85.214.62.211 as permitted sender) smtp.mailfrom=asmirnov@ilbers.de Return-Path: Received: from aqmola.ilbers.de (aqmola.ilbers.de. [85.214.62.211]) by gmr-mx.google.com with ESMTPS id g12-v6si420663wrm.4.2018.04.23.08.26.19 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 23 Apr 2018 08:26:19 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of asmirnov@ilbers.de designates 85.214.62.211 as permitted sender) client-ip=85.214.62.211; Authentication-Results: gmr-mx.google.com; spf=pass (google.com: best guess record for domain of asmirnov@ilbers.de designates 85.214.62.211 as permitted sender) smtp.mailfrom=asmirnov@ilbers.de Received: from [10.0.2.15] ([188.227.110.165]) (authenticated bits=0) by aqmola.ilbers.de (8.14.4/8.14.4/Debian-4+deb7u1) with ESMTP id w3NFQFmd012858 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES128-SHA bits=128 verify=NOT); Mon, 23 Apr 2018 17:26:18 +0200 Subject: Re: [RFC][PATCH 0/3] Experiments with .dsc backend To: Henning Schild Cc: isar-users@googlegroups.com References: <20180423132146.14743-1-asmirnov@ilbers.de> <20180423163616.6f038064@mmd1pvb1c.ad001.siemens.net> From: Alexander Smirnov Message-ID: <52a4801e-ef31-bdc8-5a77-b2def3b90503@ilbers.de> Date: Mon, 23 Apr 2018 18:26:10 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.4.0 MIME-Version: 1.0 In-Reply-To: <20180423163616.6f038064@mmd1pvb1c.ad001.siemens.net> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit X-TUID: ZYshQ/K7cHg4 On 04/23/2018 05:36 PM, Henning Schild wrote: > Am Mon, 23 Apr 2018 16:21:43 +0300 > schrieb Alexander Smirnov : > >> 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 >> >