public inbox for isar-users@googlegroups.com
 help / color / mirror / Atom feed
From: Alexander Smirnov <asmirnov@ilbers.de>
To: isar-users@googlegroups.com
Subject: Re: [PATCH 3/4 v2] buildchroot: Add prepare and cleanup tasks
Date: Mon, 11 Dec 2017 17:12:31 +0300	[thread overview]
Message-ID: <18a32ba4-fe05-9812-7a24-0011490a749b@ilbers.de> (raw)
In-Reply-To: <20171211133732.kmsyncnhm3mmq24e@MD1KR9XC.ww002.siemens.net>

On 12/11/2017 04:37 PM, Storm, Christian (CT RDA ITP SES-DE) wrote:
>>>>> 2. 'do_cleanup': This task is executed after all the packages are
>>>>> deployed. Some notes:
>>>>>    - This task also should not have stamp.
>>>>>    - This task depends from the recipes listed in IMAGE_INSTALL.
>>>>
>>>> This breaks build dependencies when building two packages from
>>>> source (same example I've given in other posts as well):
>>>>
>>>> Consider A-dev required by B, both to be built from source. B cannot
>>>> install the A-dev.deb since B depending on A-dev's deploy_deb() and
>>>> installing it the ugly way via dpkg -i (as no other option is
>>>> currently available in Isar) puts B as late in the task order so
>>>> that it's git repo is not mounted anymore. Failure.
>>>>
>>>> If A-dev installs it's produced .deb as last step in its
>>>> dpkg_runbuild(), which is also ugly, then there's a potential race
>>>> in dpkg. Failure.
>>>
>>> Seems I don't fully understand your usecase, could you please comment
>>> if it's correct:
>>>
>>> 1. You have two Isar recipes A and B that build packages from source
>>> code.
>>>
>>> 2. After building of package A, apart from binary A, A-dev also
>>> provided.
>>>
>>> 3. Package B depends on A-dev.
>>>
>>> Also, have you added dependency from A in B recipe?
>>
>> Dependencies will not help here, Isar simply does not support that
>> case ... yet.
>> You have B depending on A both at runtime and on build-time. So you need
>> a buildchroot to build A in. And for B you need a buildchroot which has
>> A installed.
>>
>> To get the buildchroot for B you either have to install A into its own
>> buildchroot or multistrap again.
>>
>> I think Christian currently installs A, but with "dpkg -i". I think
>> multistrapping again would be overkill. IMHO the best solution would be
>> to install such packages in buildchroot with apt-get, after they have
>> been repreproed to the "Isar" repo.
> 
> Yes, right, ugly, I know, but currently the only way to reflect my use
> case -- which Henning described very well -- in Isar. Without this hack
> or preferably a proper solution to this, I cannot use Isar for my use
> case. Since this change, in fact, I can't.
> 

Sorry, but I still don't understand how this patch brakes your build 
because it doesn't influence on dependencies at all. If you need strict 
order for packages to be built, then anyway you have to specify this in 
recipe:

In recipe B:

DEPENDS += "A"
do_build[deptask] = "do_build"

It would be very helpful for me if you could provide recipes and workaround.

> So, in some sense I relied on a workaround for a missing feature that's
> now broken and hence you may rightfully argue that nothing can break a
> missing feature. Nonetheless, it did so for me and my hack :)
> 
> 
>> I suggested improvements on "[PATCH 0/4 v5] Isar apt deployment" but
>> the feedback was delayed until a v2.
>>
>> Essentially deploy_deb needs to reprepro, do_populate needs to go away,
>> builchroot needs aptsources=Isar in its multistrap.conf. Now the
>> apt-get in build.sh should work.
> 
> I very much appreciate a proper solution to this to resume using Isar
> for my use case.

Could handle this after your top-prio issues.

Alex

  reply	other threads:[~2017-12-11 14:12 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-11-23 10:25 [PATCH 0/4 v2] Buildchroot prepare/cleanup Alexander Smirnov
2017-11-23 10:25 ` [PATCH 1/4 v2] dpkg-base: Fix buildchroot dependancy Alexander Smirnov
2017-11-23 10:25 ` [PATCH 2/4 v2] image: Add do_rootfs template to image class Alexander Smirnov
2017-11-23 10:25 ` [PATCH 3/4 v2] buildchroot: Add prepare and cleanup tasks Alexander Smirnov
2017-11-24 14:55   ` Henning Schild
2017-11-24 15:48     ` Alexander Smirnov
2017-11-24 16:34   ` Henning Schild
2017-11-24 16:51     ` Alexander Smirnov
2017-11-27  7:56       ` Henning Schild
2017-11-27  8:15         ` Alexander Smirnov
2017-12-08  7:58   ` Christian Storm
2017-12-11  9:23     ` Alexander Smirnov
2017-12-11 12:16       ` Henning Schild
2017-12-11 13:37         ` Storm, Christian (CT RDA ITP SES-DE)
2017-12-11 14:12           ` Alexander Smirnov [this message]
2017-12-11 15:14             ` Christian Storm
2017-12-12  7:39               ` Alexander Smirnov
2017-12-12  8:01                 ` Christian Storm
2017-12-12  8:21                   ` Alexander Smirnov
2017-12-11 11:32     ` Henning Schild
2017-12-11 18:29   ` Henning Schild
2017-12-11 19:56     ` Alexander Smirnov
2017-12-12  8:04       ` Christian Storm
2017-12-12 12:05       ` Henning Schild
2017-12-13  5:43         ` Jan Kiszka
2017-12-11 18:32   ` Henning Schild
2017-11-23 10:25 ` [PATCH 4/4 v2] dpkg-base: Update git alternates Alexander Smirnov
2017-11-24 14:57   ` Henning Schild
2017-11-24 15:12     ` Alexander Smirnov
2017-11-27  7:44       ` Henning Schild
2017-11-27  8:03         ` Alexander Smirnov
2017-11-27 15:42           ` 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=18a32ba4-fe05-9812-7a24-0011490a749b@ilbers.de \
    --to=asmirnov@ilbers.de \
    --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