[OE-core] How to use externalsrc with git workspace

Cliff Brake cliff.brake at gmail.com
Fri Mar 25 21:07:15 UTC 2016


This change gets things parsing again, but still testing to see if it does what
I want it to do:

diff --git a/lib/bb/fetch2/git.py b/lib/bb/fetch2/git.py
index 9bd87ad..fb44fdc 100644
--- a/lib/bb/fetch2/git.py
+++ b/lib/bb/fetch2/git.py
@@ -358,7 +358,7 @@ class Git(FetchMethod):
         """
         output = self._lsremote(ud, d, "")
         # Tags of the form ^{} may not work, need to fallback to other form
-        if ud.unresolvedrev[name][:5] == "refs/":
+        if ud.unresolvedrev[name][:5] == "refs/" or ud.unresolvedrev[name] ==
"HEAD":
             head = ud.unresolvedrev[name]
             tag = ud.unresolvedrev[name]
         else:

Cliff

On 03/25/2016 04:18 PM, Cliff Brake wrote:
> Hi,
>
> In the past (say Dora era), I've used externalsrc like:
>
> ====================
> DESCRIPTION = "MyApp"
> LICENSE = "CLOSED"
>
> inherit externalsrc
>
> SRCREV = "${AUTOREV}"
> PV = "1.4+gitr${SRCPV}"
> PR = "r1"
>
> SRC_URI = "git://${FILE_DIRNAME};protocol=file;branch=HEAD"
> S = "${FILE_DIRNAME}"
>
> ...
> ====================
>
> This was very nice in that it set SRCPV to to the git version of the HEAD of my
> local workspace.  When building from a local git workspace, this makes sense to
> me -- I want the Git version of the workspace, not a remote version.
>
> Now with Jethro, I get errors like:
>
> ERROR: ExpansionError during parsing myapp.bb: Failure expanding variable SRCPV,
> expression was ${@bb.fetch2.get_srcrev(d)} which triggered exception FetchError:
> Fetcher failure: Unable to resolve 'HEAD' in upstream git repository in git
> ls-remote output for /scratch/externalsrc/MyApp
>
> Do you have any suggestions how to use externalsrc + a local git workspace and
> avoid the above error.  I can set branch=master, etc and bitbake will then parse
> it, but the remote master version is not really what I'm building.
>
> Thanks,
> Cliff
>




More information about the Openembedded-core mailing list