* Skipping network-required recipes automatically?
@ 2019-12-19 15:03 Joel A Cohen
2019-12-19 17:15 ` [yocto] " Khem Raj
0 siblings, 1 reply; 2+ messages in thread
From: Joel A Cohen @ 2019-12-19 15:03 UTC (permalink / raw)
To: yocto
[-- Attachment #1: Type: text/plain, Size: 1249 bytes --]
Hi all,
My layer has a bunch of "development" recipes that contain something like:
PV = "1.1.2+git${SRCPV}"
SRCREV = "${AUTOREV}"
DEFAULT_PREFERENCE = "-1"
In these cases, my recipes have a "known good" version that has a specific
known-good version number (recipe_1.1.2.bb), and then the "recipe_git.bb"
file that I only enable using PREFERRED_VERSION when I'm wanting to use the
latest source code.
My problem with this is that it seems to defeat BB_NO_NETWORK, and I'm not
sure how to handle it. I would like my layer to work correctly with no
network, but the mere presence of these development recipes causes my build
to fail during parsing if the network is not available.
My last failed attempt was to create a "skip-git" class that I inherit in
local.conf with the following:
python () {
no_network = d.getVar('BB_NO_NETWORK')
pn = d.getVar('PN')
pv = d.getVar('PV')
if no_network and 'git' in pv:
raise bb.parse.SkipRecipe("Recipe requires git, but no network:
%s-%s" % (pn, pv))
}
Unfortunately, bitbake seems to fail in data_smart.py before my class
actually has a chance to skip the recipe even in this case.
Is there a better way to handle this?
Thanks,
Aaron
[-- Attachment #2: Type: text/html, Size: 1734 bytes --]
^ permalink raw reply [flat|nested] 2+ messages in thread* Re: [yocto] Skipping network-required recipes automatically?
2019-12-19 15:03 Skipping network-required recipes automatically? Joel A Cohen
@ 2019-12-19 17:15 ` Khem Raj
0 siblings, 0 replies; 2+ messages in thread
From: Khem Raj @ 2019-12-19 17:15 UTC (permalink / raw)
To: Joel A Cohen, yocto
On Thu, 2019-12-19 at 10:03 -0500, Joel A Cohen wrote:
> Hi all,
>
> My layer has a bunch of "development" recipes that contain something
> like:
>
> PV = "1.1.2+git${SRCPV}"
> SRCREV = "${AUTOREV}"
> DEFAULT_PREFERENCE = "-1"
>
>
> In these cases, my recipes have a "known good" version that has a
> specific known-good version number (recipe_1.1.2.bb), and then the
> "recipe_git.bb" file that I only enable using PREFERRED_VERSION when
> I'm wanting to use the latest source code.
>
> My problem with this is that it seems to defeat BB_NO_NETWORK, and
> I'm not sure how to handle it. I would like my layer to work
> correctly with no network, but the mere presence of these development
> recipes causes my build to fail during parsing if the network is not
> available.
>
> My last failed attempt was to create a "skip-git" class that I
> inherit in local.conf with the following:
>
> python () {
> no_network = d.getVar('BB_NO_NETWORK')
> pn = d.getVar('PN')
> pv = d.getVar('PV')
>
> if no_network and 'git' in pv:
> raise bb.parse.SkipRecipe("Recipe requires git, but no
> network: %s-%s" % (pn, pv))
> }
>
>
> Unfortunately, bitbake seems to fail in data_smart.py before my class
> actually has a chance to skip the recipe even in this case.
>
> Is there a better way to handle this?
>
you might add PREFERRED_VERSION to select the given recipe, in that
case recipe in your layer should have different version than the
original one. Then you can do something like
python () {
if d.getVar("PREFERRED_VERSION_<pn>") != d.getVar("PV"):
d.delVar("BB_DONT_CACHE")
raise bb.parse.SkipRecipe("Skip it")
}
not too sure if it will ignore it.
another option is to look at devupstream.bbclass it might have some
ideas for you.
> Thanks,
> Aaron
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> You automatically follow any topics you start or reply to.
>
> View/Reply Online (#47773):
> https://lists.yoctoproject.org/g/yocto/message/47773
> Mute This Topic: https://lists.yoctoproject.org/mt/68832469/1997914
> Group Owner: yocto+owner@lists.yoctoproject.org
> Unsubscribe: https://lists.yoctoproject.org/g/yocto/unsub [raj.khem@
> gmail.com]
> -=-=-=-=-=-=-=-=-=-=-=-
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2019-12-19 17:15 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-12-19 15:03 Skipping network-required recipes automatically? Joel A Cohen
2019-12-19 17:15 ` [yocto] " Khem Raj
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.