mirror of
https://git.yoctoproject.org/git/poky
synced 2026-01-01 13:58:04 +00:00
externalsrc: Handle .git not being a directory
Use git rev-parse to determine the location of the .git directory, in case it is not an immediate child of EXTERNALSRC (e.g. when using submodules). In the event git can't resolve the .git directory, fall back to the non-git method for hashing. (From OE-Core rev: 95e1341b49f7184d280a03f64f131a4468a06867) Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
parent
9dcc9f116e
commit
3ca6085729
|
|
@ -184,11 +184,19 @@ def srctree_hash_files(d, srcdir=None):
|
|||
import tempfile
|
||||
|
||||
s_dir = srcdir or d.getVar('EXTERNALSRC')
|
||||
git_dir = os.path.join(s_dir, '.git')
|
||||
oe_hash_file = os.path.join(git_dir, 'oe-devtool-tree-sha1')
|
||||
git_dir = None
|
||||
|
||||
try:
|
||||
# git rev-parse returns the path relative to the current working
|
||||
# directory
|
||||
git_dir = os.path.join(s_dir,
|
||||
subprocess.check_output(['git', 'rev-parse', '--git-dir'], cwd=s_dir).decode("utf-8").rstrip())
|
||||
except subprocess.CalledProcessError:
|
||||
pass
|
||||
|
||||
ret = " "
|
||||
if os.path.exists(git_dir):
|
||||
if git_dir is not None:
|
||||
oe_hash_file = os.path.join(git_dir, 'oe-devtool-tree-sha1')
|
||||
with tempfile.NamedTemporaryFile(prefix='oe-devtool-index') as tmp_index:
|
||||
# Clone index
|
||||
shutil.copyfile(os.path.join(git_dir, 'index'), tmp_index.name)
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user