@@ -59,6 +59,9 @@ def get_git_pkgv(d, use_tags):
from shlex import quote
src_uri = d.getVar('SRC_URI').split()
+ unpackdir = d.getVar('UNPACKDIR')
+ def_destsuffix = (d.getVar("BB_GIT_DEFAULT_DESTSUFFIX") or "git") + "/"
+
fetcher = bb.fetch2.Fetch(src_uri, d)
ud = fetcher.ud
@@ -78,20 +81,24 @@ def get_git_pkgv(d, use_tags):
found = False
for url in ud.values():
if url.type == 'git' or url.type == 'gitsm':
- if not os.path.exists(url.localpath):
+ destsuffix = url.parm.get("destsuffix", def_destsuffix)
+ subdir = url.parm.get('subdir', '')
+ destdir = os.path.join(unpackdir, destsuffix, subdir)
+
+ if not os.path.exists(destdir):
return None
found = True
- vars = { 'repodir' : quote(url.localpath),
+ vars = { 'repodir' : quote(destdir),
'rev' : quote(url.revision) }
rev = bb.fetch2.get_srcrev(d).split('+')[1]
- rev_file = os.path.join(url.localpath, "oe-gitpkgv_" + url.revision)
+ rev_file = os.path.join(destdir, "oe-gitpkgv_" + url.revision)
if not os.path.exists(rev_file) or os.path.getsize(rev_file)==0:
commits = bb.fetch2.runfetchcmd(
- "git --git-dir=%(repodir)s rev-list %(rev)s -- 2>/dev/null | wc -l"
+ "git -C %(repodir)s rev-list %(rev)s -- 2>/dev/null | wc -l"
% vars, d, quiet=True).strip().lstrip('0')
if commits != "":
@@ -107,7 +114,7 @@ def get_git_pkgv(d, use_tags):
if use_tags:
try:
output = bb.fetch2.runfetchcmd(
- "git --git-dir=%(repodir)s describe %(rev)s --tags --exact-match 2>/dev/null"
+ "git -C %(repodir)s describe %(rev)s --tags --exact-match 2>/dev/null"
% vars, d, quiet=True).strip()
ver = gitpkgv_drop_tag_prefix(d, output)
except Exception:
When BB_GIT_SHALLOW = "1" is used, the unpacked gir repository doesn't exist in the download folder, and the class isn't able to instect the details of the repository. Instead inspect the repository it the UNPACKDIR. Reported-by: WXbet <WXbet@proton.me> Signed-off-by: Gyorgy Sarvari <skandigraun@gmail.com> --- meta-oe/classes/gitpkgv.bbclass | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-)