diff options
Diffstat (limited to 'meta/classes/metadata_scm.bbclass')
-rw-r--r-- | meta/classes/metadata_scm.bbclass | 50 |
1 files changed, 8 insertions, 42 deletions
diff --git a/meta/classes/metadata_scm.bbclass b/meta/classes/metadata_scm.bbclass index 2608a7ef7b..6842119b6b 100644 --- a/meta/classes/metadata_scm.bbclass +++ b/meta/classes/metadata_scm.bbclass | |||
@@ -1,44 +1,10 @@ | |||
1 | METADATA_BRANCH ?= "${@base_detect_branch(d)}" | 1 | # |
2 | # Copyright OpenEmbedded Contributors | ||
3 | # | ||
4 | # SPDX-License-Identifier: MIT | ||
5 | # | ||
6 | |||
7 | METADATA_BRANCH := "${@oe.buildcfg.detect_branch(d)}" | ||
2 | METADATA_BRANCH[vardepvalue] = "${METADATA_BRANCH}" | 8 | METADATA_BRANCH[vardepvalue] = "${METADATA_BRANCH}" |
3 | METADATA_REVISION ?= "${@base_detect_revision(d)}" | 9 | METADATA_REVISION := "${@oe.buildcfg.detect_revision(d)}" |
4 | METADATA_REVISION[vardepvalue] = "${METADATA_REVISION}" | 10 | METADATA_REVISION[vardepvalue] = "${METADATA_REVISION}" |
5 | |||
6 | def base_detect_revision(d): | ||
7 | path = base_get_scmbasepath(d) | ||
8 | return base_get_metadata_git_revision(path, d) | ||
9 | |||
10 | def base_detect_branch(d): | ||
11 | path = base_get_scmbasepath(d) | ||
12 | return base_get_metadata_git_branch(path, d) | ||
13 | |||
14 | def base_get_scmbasepath(d): | ||
15 | return os.path.join(d.getVar('COREBASE'), 'meta') | ||
16 | |||
17 | def base_get_metadata_svn_revision(path, d): | ||
18 | # This only works with older subversion. For newer versions | ||
19 | # this function will need to be fixed by someone interested | ||
20 | revision = "<unknown>" | ||
21 | try: | ||
22 | with open("%s/.svn/entries" % path) as f: | ||
23 | revision = f.readlines()[3].strip() | ||
24 | except (IOError, IndexError): | ||
25 | pass | ||
26 | return revision | ||
27 | |||
28 | def base_get_metadata_git_branch(path, d): | ||
29 | import bb.process | ||
30 | |||
31 | try: | ||
32 | rev, _ = bb.process.run('git rev-parse --abbrev-ref HEAD', cwd=path) | ||
33 | except bb.process.ExecutionError: | ||
34 | rev = '<unknown>' | ||
35 | return rev.strip() | ||
36 | |||
37 | def base_get_metadata_git_revision(path, d): | ||
38 | import bb.process | ||
39 | |||
40 | try: | ||
41 | rev, _ = bb.process.run('git rev-parse HEAD', cwd=path) | ||
42 | except bb.process.ExecutionError: | ||
43 | rev = '<unknown>' | ||
44 | return rev.strip() | ||