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

Attachment: signature.asc
Description: OpenPGP digital signature

-- 
_______________________________________________
yocto mailing list
yocto@yoctoproject.org
https://lists.yoctoproject.org/listinfo/yocto

Reply via email to