Bitbake without fetch


as i had a flawlessly running bitbake of my own recipe that now broke because of failing to fetch the meta-toradex.git layer I’d like to know if it is possible to do all regular bitbake commands while skipping all the fetches.

When the build ran once any fetches should be unnecessary as long as the included packages don’t change, isn’t that correct?

Sadly I cannot rely on a build system that fails every Month or so because of changes or internet connection glitches, so I’d like to tie bitbake to a known state and keep it there independently is that possible somehow?

Thank you very much,
Moritz Wagner

Bitbake shouldn’t be fetching meta-toradex. Rather repo during the repo sync command will clone meta-toradex. You can do this manually using git - just git clone meta-toradex to oe-core/stuff/meta-toradex. There’s no need to rerun repo sync once the build system’s layers are in place. So if you want your build system to remain static, don’t rerun repo commands (ie. repo init or repo sync).

You can go a bit further and upon your initial repo init, sync with a specific BSP rev, ie.:

repo init -u -b refs/tags/Colibri_iMX6_LinuxImageV2.6Beta2_20160701
repo sync

That way, if you ever repo init & repo sync again, you’re at least using a static manifest.

Maybe fetch is failing for a recipe within meta-toradex?

With regards to bitbake fetches (again, not related to meta-toradex), it should only fetch when it needs to. Downloaded tarballs are left in a downloads directory so they don’t need to be re-downloaded later.

In any case, you can configure bitbake source mirrors to point to a local path. See the details in this FAQ at the Yocto Project wiki. This of course requires that you can obtain all the source files to begin with. Along the same lines, you can do something similar with the meta layers & the repo manifest if you already have the layers somewhere locally, but this is completely unnecessary.

Thank you very much Brandon, that helped understanding the error message. I was totally confused as Bitbake told me the fetch failed. But the problem was not the repository or the fetching at all, as you already have foreseen, it simply was the recipe (wrong revision defined in the recipe’s .bbappend).

So to make it short and giving you a good story to laugh about:
I managed to change the revision number by accident since the last build, but I was so sure that nothing changed since then, that I searched and re-synced repositories several times until now, as you reconfirmed that repeated builds are done locally.
I finally found the .bbappend File, changed it back and everything is perfect again.

Good Thing is: I’m really happy to be sure i can stick to my revisions as long as i need to without any re-fetching or repository dependencies.

I do not know if I understand your question.

But if this using a manifest with repo, continue as it is the best way to organize the project and always keep up, keep changing revision commit and branch can break with other recipes due to dependencies. For example, do not mix with jethro krogoth, fido with jethro had major problems with meta-qt5 with such a project.

If you want to use the hand bitbake cloning each meta-layer, I like to use, for example with core-image-minimal image:

bitbake -c fetchall core-image-minimal

As my internet is horrible I have to fetch elsewhere.

And when compiling to try to compile the maximum non-stop use:

bitbake -k core-image-minimal

Cleiton Bueno

Blog | Linkedin | B2Open