From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 6594287117104316416 X-Received: by 2002:a1c:3091:: with SMTP id w139-v6mr781111wmw.7.1535358575815; Mon, 27 Aug 2018 01:29:35 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com Received: by 2002:a1c:8012:: with SMTP id b18-v6ls1903373wmd.11.gmail; Mon, 27 Aug 2018 01:29:35 -0700 (PDT) X-Google-Smtp-Source: ANB0VdZQrNE+7kWV3Okn36KUsR/9Q47IenhbsvyzYfeMEFbblKu4DYufY8b2+i86kV9NjYrWgUOH X-Received: by 2002:a1c:e3d6:: with SMTP id a205-v6mr828147wmh.1.1535358575295; Mon, 27 Aug 2018 01:29:35 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1535358575; cv=none; d=google.com; s=arc-20160816; b=gKl7viFlIIpYYzjHo0+Dqi44qaD++8bna11osckKfBdC3evvFex/JYxCtZxlOzxKwK wZckjGpJ1tyZlLt32NrI6WLWlBkPmohk8ZnVubrocyM8WAyWp9VtumkWPKyqkLv0LwpI d4ZEGORRX3vYAyz5aDSaIIRWOFoORQqGOKoHEUFq7nZsdt6ZcVNdkAJOp8PQycmaJtHs 0GfW4fyDhGL3xCKR3yksFezl9+rACWFUC8WAelN+ok3VHlOoSbTWBcxeFXiK/kqq0+Ef k5zMav6rLd2lM1+Hcjwb3sJI4uOjtk3Ge7awEC3EYCqRNhLkjhIzEeYCEfQ5fcfmBCIW qu3A== 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:to:subject :arc-authentication-results; bh=DdEHomrYhBhFGXotz5PYnge8+xfLg0wXQvKMBfM2ByE=; b=gGLg2IFcSfg87lQpD9TE3dKpj16iOVcuNTBiUFSL9l7dlbfsviEImx7NvwGP3Q+JA+ To5epnORcuwSVRrxuMrccQVsej0AnLlGxlANvJFQDtU41uqo0lgN8MPjjimd8zftdQV+ OSSD/I0QlLBY9jxBW6zhbmDX2h25U1LXzm6+M7xmKvFNMODGb/Cxo0LbVdgDC9Fa8mtd QjW2M0gM9xcOuxfMEa0bx+fM7nyC2bZuPbz7ArvXniwTrHRVilupBX2/2ZhRqDFVsY5E kLI6Epx1r4mQ0RbqPeqfaMRg4GO4zn78oUWYxmWoeIq773lBI808TWEYgxJJvGeJzItO sB+g== ARC-Authentication-Results: i=1; gmr-mx.google.com; spf=pass (google.com: domain of jan.kiszka@siemens.com designates 194.138.37.40 as permitted sender) smtp.mailfrom=jan.kiszka@siemens.com Return-Path: Received: from gecko.sbs.de (gecko.sbs.de. [194.138.37.40]) by gmr-mx.google.com with ESMTPS id l2-v6si260014wmh.1.2018.08.27.01.29.35 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 27 Aug 2018 01:29:35 -0700 (PDT) Received-SPF: pass (google.com: domain of jan.kiszka@siemens.com designates 194.138.37.40 as permitted sender) client-ip=194.138.37.40; Authentication-Results: gmr-mx.google.com; spf=pass (google.com: domain of jan.kiszka@siemens.com designates 194.138.37.40 as permitted sender) smtp.mailfrom=jan.kiszka@siemens.com Received: from mail1.sbs.de (mail1.sbs.de [192.129.41.35]) by gecko.sbs.de (8.15.2/8.15.2) with ESMTPS id w7R8TYB7003662 (version=TLSv1.2 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Mon, 27 Aug 2018 10:29:34 +0200 Received: from [167.87.11.147] ([167.87.11.147]) by mail1.sbs.de (8.15.2/8.15.2) with ESMTP id w7R8TYc7000971; Mon, 27 Aug 2018 10:29:34 +0200 Subject: Re: Incremental target images To: Claudius Heine , isar-users References: <1db1ee65-3af9-8789-7c0f-169c452597b5@siemens.com> From: Jan Kiszka Message-ID: Date: Mon, 27 Aug 2018 10:29:34 +0200 User-Agent: Mozilla/5.0 (X11; U; Linux i686 (x86_64); de; rv:1.8.1.12) Gecko/20080226 SUSE/2.0.0.12-1.1 Thunderbird/2.0.0.12 Mnenhy/0.7.5.666 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 8bit X-TUID: bbYz+BMVcppB 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