On Wed, Jul 6, 2022 at 10:54 AM Martin Jansa <martin.ja...@gmail.com> wrote:
>
> FWIW: I have noticed yesterday that some of our builds were able to fetch 
> external dependencies in do_configure again and found that it was caused by 
> this commit.
>
> I understand why this was needed to make icecc.bbclass working again.
>
> Our (LGE) use-case is a bit special, because we inherit icecc by default 
> (through INHERIT_DISTRO) even when most builders might have it disabled with 
> ICECC_DISABLED - it's set this way, so that jenkins builders with icecc 
> enabled produce sstate-cache which can be re-used in local build machines 
> where icecc might be disabled.
>
> So to support this I've changed icecc.bbclass to respect ICECC_DISABLED when 
> setting network varFlag:
> https://git.openembedded.org/openembedded-core-contrib/commit/?h=jansa/kirkstone&id=5bbb735c3285a16bf2ec9548a58b887f93f4900e
>
> but that requires expand to be True in bitbake-worker as in:
> https://git.openembedded.org/bitbake-contrib/commit/?h=jansa/2.0&id=4a6c8e61a545152776c0c76304c4225f79de94d2
>
> But that has parsing performance penalty as discussed with RP on #yocto, here 
> is relevant part:
>
> 16:03 < JaMa> RP: do you remember if there was specific reason for using 
> expand=False for network varFlag in 
> https://git.openembedded.org/bitbake/commit/?id=0746b6a2a32fec4c18bf1a52b1454ca4c04bf543
>  ? I wanted to change
>               
> https://git.openembedded.org/openembedded-core/commit/?h=kirkstone&id=25ea276a13a6ac2342c2b0945c8fafe878d56095
>  to enable network only when ICECC_DISABLED isn't set
> 16:24 < RP> JaMa: it was efficiency
> 16:24 < RP> JaMa: saved any expansion call
> 16:24 < RP> and any processing to determine if the value was true or false
> 16:26 < JaMa> RP: and would it be acceptable to enable to support 
> https://git.openembedded.org/openembedded-core-contrib/commit/?h=jansa/kirkstone&id=5bbb735c3285a16bf2ec9548a58b887f93f4900e
>  ?
> 16:28 < JaMa> I guess I can delVarFlag when ICECC_DISABLED is set, but then 
> it would delete it even where it was explicitly enabled in the recipe
> 16:32 < RP> JaMa: well, I'd prefer not to as all these things mount up to 
> increase parsing time but I'm starting to feel like I should just not care. 
> I'm tired of saying no
> 16:33 < RP> JaMa: you could just equally set or delete those in anon python I 
> guess. I really just don't know what to do for the best any more
> 16:34 < JaMa> RP: yes delVarFlag in anon python was my backup plan if the 
> price for expand is too high, thanks
> 16:35 < RP> JaMa: it is sad in that "0" won't work in there are a value today 
> either but I really don't know what price people want to pay on parsing speed 
> vs usability and consistency
> 16:37 < JaMa> understood, thanks
> 16:39 < RP> JaMa: memories are paging back in, I think I did this to see 
> whether anyone complained which they now have. It isn't unreasonable to 
> properly check it :/
> 16:40 < RP> it is a bit like the cleandirs change for externalsrc. It will 
> slow things down a lot :/
>
> Does anyone have some strong opinion either way or some other idea how to 
> support this without parsing time penalty?

The only thing I can think of is maybe anonymous python? If that
works, it would at least limit the performance penalty to the case
where icecc.bbclass is inherited.

>
> Regards,
>
> On Mon, Feb 28, 2022 at 5:10 PM Jose Quaresma <quaresma.j...@gmail.com> wrote:
>>
>> This patch can't be the right fix but currently the icecc.bbclass doesn't 
>> work on master.
>>
>> Jose
>>
>> Jose Quaresma via lists.openembedded.org 
>> <quaresma.jose=gmail....@lists.openembedded.org> escreveu no dia quarta, 
>> 16/02/2022 à(s) 23:27:
>>>
>>> The icecc.bbclass needs network access to work properly.
>>>
>>> Currently I build with icecc inside a container with network isolation and
>>> my icecc daemon runs outside of the build container in my host.
>>> The only thing I need to do for using the icecc inside my build container is
>>> mounting the unix socket /var/run/icecc/iceccd.socket inside the container.
>>>
>>> I think we need something like this mount functionality to have access to
>>> some sockets connections inside the tasks that runs on the new namespace
>>> created with unshare system call.
>>>
>>> This patch is not a the real solution for the problem and is more like
>>> an hack so we can use the icecc.bbclass again.
>>>
>>> Signed-off-by: Jose Quaresma <quaresma.j...@gmail.com>
>>> ---
>>>  meta/classes/icecc.bbclass | 4 ++++
>>>  1 file changed, 4 insertions(+)
>>>
>>> diff --git a/meta/classes/icecc.bbclass b/meta/classes/icecc.bbclass
>>> index 3bbd2645af..68415b04c7 100644
>>> --- a/meta/classes/icecc.bbclass
>>> +++ b/meta/classes/icecc.bbclass
>>> @@ -428,18 +428,22 @@ set_icecc_env() {
>>>      bbnote "Using icecc tarball: $ICECC_VERSION"
>>>  }
>>>
>>> +do_configure[network] = "1"
>>>  do_configure:prepend() {
>>>      set_icecc_env
>>>  }
>>>
>>> +do_compile[network] = "1"
>>>  do_compile:prepend() {
>>>      set_icecc_env
>>>  }
>>>
>>> +do_compile_kernelmodules[network] = "1"
>>>  do_compile_kernelmodules:prepend() {
>>>      set_icecc_env
>>>  }
>>>
>>> +do_install[network] = "1"
>>>  do_install:prepend() {
>>>      set_icecc_env
>>>  }
>>> --
>>> 2.35.1
>>>
>>>
>>>
>>>
>>
>>
>> --
>> Best regards,
>>
>> José Quaresma
>>
>>
>>
>
> 
>
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#167732): 
https://lists.openembedded.org/g/openembedded-core/message/167732
Mute This Topic: https://lists.openembedded.org/mt/89198407/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to