From: Jan Kiszka <jan.kiszka@siemens.com>
To: Alexander Smirnov <asmirnov@ilbers.de>,
isar-users <isar-users@googlegroups.com>
Subject: Re: [PATCH 4/6] Enable proper rebuilds on dependency changes
Date: Tue, 13 Feb 2018 21:04:26 +0100 [thread overview]
Message-ID: <939ee5ae-0dee-8a19-579c-41c9dc40b928@siemens.com> (raw)
In-Reply-To: <a30eac5a-f169-a145-5b45-f19ca1cd7789@ilbers.de>
On 2018-02-13 20:38, Alexander Smirnov wrote:
>
>
> On 02/13/2018 10:22 PM, Jan Kiszka wrote:
>> On 2018-02-13 20:02, Alexander Smirnov wrote:
>>>
>>> On 02/13/2018 09:44 PM, Jan Kiszka wrote:
>>>> On 2018-02-13 19:08, Alexander Smirnov wrote:
>>>>> On 02/13/2018 08:57 PM, Jan Kiszka wrote:
>>>>>> On 2018-02-13 17:21, Jan Kiszka wrote:
>>>>>>> On 2018-02-13 14:03, Alexander Smirnov wrote:
>>>>>>>> On 02/12/2018 10:59 AM, Jan Kiszka wrote:
>>>>>>>>> From: Jan Kiszka <jan.kiszka@siemens.com>
>>>>>>>>>
>>>>>>>>> Install a basichash as signature handler and set the stamp
>>>>>>>>> policy to
>>>>>>>>> full - and suddenly we get proper rebuilds of the image and all
>>>>>>>>> affected
>>>>>>>>> packages when some recipe down the dependency chain changed!
>>>>>>>>>
>>>>>>>>> We are using the legacy bitbake mechanism here as we do not have
>>>>>>>>> setscene machinery like OE. Still good enough for us.
>>>>>>>>>
>>>>>>>>
>>>>>>>> BTW: have you tried this? Two years ago I tried it in Yocto and it
>>>>>>>> didn't work properly, not all the dependents were rebuilt. If it
>>>>>>>> works,
>>>>>>>> it's a very good feature!
>>>>>>>
>>>>>>> Yes, I'm using it since this weekend for both Isar as well as
>>>>>>> jailhouse-images development, and it helped a lot already. The only
>>>>>>> limitation I found, but I do not remember right now if that isn't
>>>>>>> inherent to bitbake, is that it does not detect changes in files
>>>>>>> that
>>>>>>> the recipes carries in its SRC_URI (file://...). Then you need "-c
>>>>>>> clean" for the affected target - which now works as well.
>>>>>>>
>>>>>>
>>>>>> Found another issue, which worked surprisingly well so far despite
>>>>>> being
>>>>>> fairly broken: do_setup_mounts is not re-run on rebuilds.
>>>>>
>>>>> Investigating exactly this issue. It occures for clean builds also. My
>>>>> guess is patch #3, currently I'm building with only 2 first applied.
>>>>> With 3rd one applied build failed.
>>>>>
>>>>
>>>> That's not the right approach, the concept of the setup_mounts task is
>>>> broken.
>>>
>>> Why you think it's broken? Just tested, it works good:
>>
>> It's broken in its design: you stamp a task and then remove that stamp
>> again on restarts. That only works because we didn't generate the full
>> dependency chain. Once you do, all dependent tasks we be kicked for
>> re-run. Removing patch 3 is voodoo debugging. I bet you can't explain
>> why that works around the issue, and I'm sure it will break eventually
>> again. Moreover, it's needlessly complex.
>
> CI was green, I apply this series, CI became red, I've reset the head
> patch by patch to get CI green again. After reset patch #2 CI became
> green. Which voodoo you found here? This series brakes the build without
> re-run.
>
>>
>> The much simpler solution is to try-mount when needed, at user side.
>> Patch will follow, likely by resending the whole series
>
> Mount when needed like you proposed could lead to lots of mounts on the
> same folder, because do_build works in parallel.
All solved, in a single line. Hold your breath, it's getting better.
Jan
next prev parent reply other threads:[~2018-02-13 20:04 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-02-12 7:59 [PATCH 0/6] Add support for automatic partial rebuilds on recipe changes Jan Kiszka
2018-02-12 7:59 ` [PATCH 1/6] Fix indention of base_do_build Jan Kiszka
2018-02-12 7:59 ` [PATCH 2/6] Add clean and cleanall tasks Jan Kiszka
2018-02-13 12:49 ` Alexander Smirnov
2018-02-13 12:51 ` Jan Kiszka
2018-02-12 7:59 ` [PATCH 3/6] Enable recipe caching Jan Kiszka
2018-02-12 7:59 ` [PATCH 4/6] Enable proper rebuilds on dependency changes Jan Kiszka
2018-02-13 13:03 ` Alexander Smirnov
2018-02-13 16:21 ` Jan Kiszka
2018-02-13 17:57 ` Jan Kiszka
2018-02-13 18:08 ` Alexander Smirnov
2018-02-13 18:44 ` Jan Kiszka
2018-02-13 19:02 ` Alexander Smirnov
2018-02-13 19:22 ` Jan Kiszka
2018-02-13 19:38 ` Alexander Smirnov
2018-02-13 20:04 ` Jan Kiszka [this message]
2018-02-12 7:59 ` [PATCH 5/6] dpkg-raw: Clean DEBIAN dir prior to filling it Jan Kiszka
2018-02-13 14:06 ` Alexander Smirnov
2018-02-13 16:22 ` Jan Kiszka
2018-02-13 16:31 ` Alexander Smirnov
2018-02-13 16:33 ` Jan Kiszka
2018-02-12 7:59 ` [PATCH 6/6] isar-image-base: Clean rootfs folder prior to building Jan Kiszka
2018-02-13 13:49 ` Alexander Smirnov
2018-02-13 16:24 ` Jan Kiszka
2018-02-13 7:40 ` [PATCH 0/6] Add support for automatic partial rebuilds on recipe changes Jan Kiszka
2018-02-13 14:01 ` Alexander Smirnov
2018-02-13 16:28 ` Jan Kiszka
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=939ee5ae-0dee-8a19-579c-41c9dc40b928@siemens.com \
--to=jan.kiszka@siemens.com \
--cc=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