]> git.ipfire.org Git - thirdparty/openembedded/openembedded-core.git/commitdiff
devtool: fix devtool finish when gitmodules file is empty
authorThomas Roos <throos@amazon.de>
Mon, 16 Jan 2023 14:30:22 +0000 (15:30 +0100)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Wed, 18 Jan 2023 16:42:24 +0000 (16:42 +0000)
When a .gitmodules file exists but is empty then devtool finish fails.
Add an additional check for this.

[YOCTO #14999]

Signed-off-by: Thomas Roos <throos@amazon.de>
Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/classes/externalsrc.bbclass

index 0deb5dbf5fc913ae3d26f7fdcbf6359873156635..26c5803ee66b67a933c2d4c7a0dd7c9320289d20 100644 (file)
@@ -230,7 +230,7 @@ def srctree_hash_files(d, srcdir=None):
             env['GIT_INDEX_FILE'] = tmp_index.name
             subprocess.check_output(['git', 'add', '-A', '.'], cwd=s_dir, env=env)
             git_sha1 = subprocess.check_output(['git', 'write-tree'], cwd=s_dir, env=env).decode("utf-8")
-            if os.path.exists(os.path.join(s_dir, ".gitmodules")):
+            if os.path.exists(os.path.join(s_dir, ".gitmodules")) and os.path.getsize(os.path.join(s_dir, ".gitmodules")) > 0:
                 submodule_helper = subprocess.check_output(["git", "config", "--file", ".gitmodules", "--get-regexp", "path"], cwd=s_dir, env=env).decode("utf-8")
                 for line in submodule_helper.splitlines():
                     module_dir = os.path.join(s_dir, line.rsplit(maxsplit=1)[1])