| Message ID | 20260227072110.2807435-1-hongxu.jia@windriver.com |
|---|---|
| State | Under Review |
| Headers | show |
| Series | classes/yocto-check-layer: allow to explicitly skip check_network_flag in recipe | expand |
Hi hongxu, hongxu via lists.openembedded.org <hongxu.jia= windriver.com@lists.openembedded.org> escreveu (sexta, 27/02/2026 à(s) 07:21): > The yocto-check-layer add a new test that checks that no tasks > between do_fetch (exclusive) and do_build (inclusive) are allowed > to use the network, with rare exceptions. > > The only exception currently is build-appliance-image's do_image task, > which is hardcoded in yocto-check-layer bbclass. > > This commit adds variable SKIP_CHECK_NETWORK_FLAG to allow user to > explicitly skip check_network_flag in recipe > > Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> > --- > meta/classes-global/yocto-check-layer.bbclass | 7 +++++-- > 1 file changed, 5 insertions(+), 2 deletions(-) > > diff --git a/meta/classes-global/yocto-check-layer.bbclass > b/meta/classes-global/yocto-check-layer.bbclass > index ba93085325..9fb36f5646 100644 > --- a/meta/classes-global/yocto-check-layer.bbclass > +++ b/meta/classes-global/yocto-check-layer.bbclass > @@ -27,13 +27,16 @@ def check_insane_skip(d): > d.setVar("QA_ERRORS_FOUND", "True") > > > +# Format: "BPN1:task1 BPN2:task2", separate by space > +# build-appliance-image uses pip at image time > +SKIP_CHECK_NETWORK_FLAG = "build-appliance-image:do_image" > + > # Check that no tasks (with rare exceptions) between do_fetch and do_build > # use the network. > def check_network_flag(d): > # BPN:task names that are allowed to reach the network, using fnmatch > to compare. > allowed = [] > - # build-appliance-image uses pip at image time > - allowed += ["build-appliance-image:do_image"] > + allowed += (d.getVar('SKIP_CHECK_NETWORK_FLAG') or '').split() > This could introduce severe reproducibility problems for someone who claims to have a Yocto compatible layer. Can you tell what other recipes require this? Jose > > def is_allowed(bpn, task): > from fnmatch import fnmatch > -- > 2.34.1 > > > -=-=-=-=-=-=-=-=-=-=-=- > Links: You receive all messages sent to this group. > View/Reply Online (#232081): > https://lists.openembedded.org/g/openembedded-core/message/232081 > Mute This Topic: https://lists.openembedded.org/mt/118026872/5052612 > Group Owner: openembedded-core+owner@lists.openembedded.org > Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [ > quaresma.jose@gmail.com] > -=-=-=-=-=-=-=-=-=-=-=- > >
diff --git a/meta/classes-global/yocto-check-layer.bbclass b/meta/classes-global/yocto-check-layer.bbclass index ba93085325..9fb36f5646 100644 --- a/meta/classes-global/yocto-check-layer.bbclass +++ b/meta/classes-global/yocto-check-layer.bbclass @@ -27,13 +27,16 @@ def check_insane_skip(d): d.setVar("QA_ERRORS_FOUND", "True") +# Format: "BPN1:task1 BPN2:task2", separate by space +# build-appliance-image uses pip at image time +SKIP_CHECK_NETWORK_FLAG = "build-appliance-image:do_image" + # Check that no tasks (with rare exceptions) between do_fetch and do_build # use the network. def check_network_flag(d): # BPN:task names that are allowed to reach the network, using fnmatch to compare. allowed = [] - # build-appliance-image uses pip at image time - allowed += ["build-appliance-image:do_image"] + allowed += (d.getVar('SKIP_CHECK_NETWORK_FLAG') or '').split() def is_allowed(bpn, task): from fnmatch import fnmatch
The yocto-check-layer add a new test that checks that no tasks between do_fetch (exclusive) and do_build (inclusive) are allowed to use the network, with rare exceptions. The only exception currently is build-appliance-image's do_image task, which is hardcoded in yocto-check-layer bbclass. This commit adds variable SKIP_CHECK_NETWORK_FLAG to allow user to explicitly skip check_network_flag in recipe Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> --- meta/classes-global/yocto-check-layer.bbclass | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-)