1
votes

I am using Yocto Pyro at the moment and write a recipe to build my software. I use "android repo" to manage my source codes from different git repositories.

And from the Yocto documentation, I found there are 2 solutions to support multiple repositories in SRC_URI: 1. use multiple git repositories in SRC_URI 2. use "repo://" in SRC_URI

I went through all the recipes in meta-openembedded and poky, only options 1 could be found in the existing recipes (e.g. dvb-apps_1.1.1.bb).

I am trying to use "repo://" for my recipe and found the following issue: "repo" command is not available in Yocto, and it cannot use the host "repo" command.

To fix this issue, I extend the base.bbclass to support "repo://" (by adding following ): elif scheme == "repo": d.appendVarFlag('do_fetch', 'depends', ' repo-native:do_populate_sysroot')

and add the following to my local.conf: ASSUME_PROVIDED += "repo-native" HOSTTOOLS += "repo"

Then I came to problem, it will not trigger rebuild of my recipe when the manifest repository is changed. The [repo.py] (http://git.yoctoproject.org/cgit/cgit.cgi/poky/tree/bitbake/lib/bb/fetch2/repo.py?h=pyro) does not support thing like SRCREV, SRCPV.

Could anybody help? Thank you in advance.

1
Isn't a manifest change a good reason to do a rebuild? Or are you trying to follow a non-master repo-branch? With regards to repo seeming to be not used: this is true, the fetcher has not had any (non-deprecation) commits in many years...Jussi Kukkonen
@jku, sorry that I made a big mistake in the description, I wan to say "it will not trigger". I have corrected the description.BenKwan
It would be interesting to see how you extended base.bbclassurnenfeld

1 Answers

0
votes

You could fix the behaviour by setting the SRCREV point to the head, but being in poky the repo implementation like:

def supports_srcrev(self):
     return False

I do not see other option than forcing the fetch task like:

bitbake recipe -c fetch -f