Russell, That is exactly what devtool and the externalsrc class do. PREMIRROR is the wrong approach for that.
:rjs On 7/24/19 12:53 PM, Russell Peterson wrote: > Hi, Rudolf. > > I apologize for not being clear. The idea here is that my recipe > points to github while, for my local development environment, I set a > premirror to match a specific github repository and translate it to a > local directory. That works. The fetch matches the PREMIRROR and > places a copy of the LOCAL git repo in my DL_DIR. The problem is, the > do_unpack task is looking for the git repo in the DL_DIR > (git2/etc...)... but it's looking for the git repo from github, not my > local repo that the fetch task just put in DL_DIR. > > There are numerous reasons I'm doing this including the fact that I > cannot put a reference to my local repo in the bb file since I ship > that recipe to my customers and a local pathname is meaningless to > them. I prefer to simply modify my local.conf with a PREMIRROR value > that has a specific regular expression that matches this particular > github repo (and hence does NOT effect all recipes). This is why I > wanted to use the PREMIRROR function. Unfortunately, it does not > appear to work or at least not work as I expected. > > --Russ > > > > > On Wed, Jul 24, 2019 at 2:57 PM Rudolf J Streif > <rudolf.str...@ibeeto.com <mailto:rudolf.str...@ibeeto.com>> wrote: > > Hi Russell, > > devtool and eSDK are different things. The purpose of PREMIRRORS > is to set a mirror for all recipes. It's a way for organizations > to control where their YP builds download sources from. It's not > intended to be used for a single recipe. There is no need for > that. You simply set SRC_URI in your recipe to your local git > repo. That is what devtool does after downloading the sources from > a remote repo. If you already have the remote repo cloned locally > you can just point devtool to it. > > You can do it manually by creating your recipe and setting SRC_URI > like this: > > SRC_URI = "git:///local/path/${PN};protocol=file" > > SRCREV = "${AUTOREV}" > > S = "${WORKDIR}/git" > > PREMIRRORS is only relevant for do_fetch not for do_unpack. > > :rjs > > > On 7/24/19 11:28 AM, Russell Peterson wrote: >> Hi, Rudolf. >> >> Thanks for the reply. Yes, I am aware of the eSDK functionality, >> however, I have some unique requirements that I am trying to work >> around. Regardless... what I am doing should work, no? I simply >> want to use a local git repo (the directory itself hence >> protocol=file) instead of what the recipe specifies. Looks like >> the fetch is working but the do_unpack task is ignoring >> PREMIRRORS (or at least the localpath variable seems wrong). >> >> --Russ >> >> >> On Wed, Jul 24, 2019 at 12:19 PM Rudolf J Streif >> <rudolf.str...@ibeeto.com <mailto:rudolf.str...@ibeeto.com>> wrote: >> >> Russell, >> >> You don't need PREMIRROR for this functionality. It's not >> exactly intended for that use. >> >> The simplest way to achieve what you are looking for is to >> use devtool. If I understand you correctly you are >> downloading sources from a remote repo on GitHub but want to >> have them locally to make modifications? If so use: >> >> devtool add myrecipe localsrc fetchuri >> >> from your build environment (you have to source >> oe-init-build-env first). devtool then fetches the source >> from fetchuri into a directory localsrc as a git repo and >> automatically creates the recipe for it. >> >> :rjs >> >> >> On 7/23/19 1:49 PM, Russell Peterson wrote: >>> Hello, >>> >>> I am looking to have bitbake pick up files for a particular >>> recipe from a local git repository using the PREMIRROR >>> functionality. >>> >>> Basically, the recipe (bb file) points to github but in my >>> local build I add PREMIRROR_prepend = "git://.*/.* >>> git:///local/path/BASENAME;protocol=file\n" >>> >>> I will probably make the git regular expression more exact >>> for my specific github repo but this works for now. >>> >>> This all works (as I deleted the github download from the >>> local download directory) because I can see in the do_fetch >>> log and the correct (local) repo was found and placed in the >>> DL_DIR. >>> >>> Problem is, do_unpack fails because it appears to be looking >>> for the original (github) SRC_URI. Then it complains about >>> "no up to date source found: clone or directory not >>> available or not up to date (shallow clone not enabled)" >>> >>> Any help on what I am missing would be appreciated. >>> >>> Regards, >>> >>> Russell >>> >>> >>> >> -- >> ----- >> Rudolf J Streif >> CEO/CTO ibeeto >> +1.855.442.3396 x700 >> > -- > ----- > Rudolf J Streif > CEO/CTO ibeeto > +1.855.442.3396 x700 > -- ----- Rudolf J Streif CEO/CTO ibeeto +1.855.442.3396 x700
signature.asc
Description: OpenPGP digital signature
-- _______________________________________________ yocto mailing list yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto