diff options
-rw-r--r-- | meta/classes/metadata_scm.bbclass | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/meta/classes/metadata_scm.bbclass b/meta/classes/metadata_scm.bbclass index 47cb969b8d8..bb2f494533c 100644 --- a/meta/classes/metadata_scm.bbclass +++ b/meta/classes/metadata_scm.bbclass @@ -22,18 +22,22 @@ def base_get_metadata_svn_revision(path, d): def base_get_metadata_git_branch(path, d): import bb.process + import os + stat_info = os.stat(path) try: - rev, _ = bb.process.run('git rev-parse --abbrev-ref HEAD', cwd=path) + rev, _ = bb.process.run('git rev-parse --abbrev-ref HEAD', cwd=path, preexec_fn=lambda : os.setuid(stat_info.st_uid)) except bb.process.ExecutionError: rev = '<unknown>' return rev.strip() def base_get_metadata_git_revision(path, d): import bb.process + import os + stat_info = os.stat(path) try: - rev, _ = bb.process.run('git rev-parse HEAD', cwd=path) + rev, _ = bb.process.run('git rev-parse HEAD', cwd=path, preexec_fn=lambda : os.setuid(stat_info.st_uid)) except bb.process.ExecutionError: rev = '<unknown>' return rev.strip() |