mirror of
https://git.yoctoproject.org/poky
synced 2026-02-06 08:48:45 +01:00
This reverts commit e83d8e58a6b107eea87df0ec233a1bc932b2c6e as the conversion
is not correct. Its replacing readlines() calls which generate an array with
what are effectively strings. There are split("\n") calls missing in many
cases so this needs to be reverted until it gets fixed.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
78 lines
2.0 KiB
Plaintext
78 lines
2.0 KiB
Plaintext
METADATA_BRANCH ?= "${@base_detect_branch(d)}"
|
|
METADATA_REVISION ?= "${@base_detect_revision(d)}"
|
|
|
|
def base_detect_revision(d):
|
|
path = base_get_scmbasepath(d)
|
|
|
|
scms = [base_get_metadata_git_revision, \
|
|
base_get_metadata_svn_revision]
|
|
|
|
for scm in scms:
|
|
rev = scm(path, d)
|
|
if rev <> "<unknown>":
|
|
return rev
|
|
|
|
return "<unknown>"
|
|
|
|
def base_detect_branch(d):
|
|
path = base_get_scmbasepath(d)
|
|
|
|
scms = [base_get_metadata_git_branch]
|
|
|
|
for scm in scms:
|
|
rev = scm(path, d)
|
|
if rev <> "<unknown>":
|
|
return rev.strip()
|
|
|
|
return "<unknown>"
|
|
|
|
def base_get_scmbasepath(d):
|
|
return d.getVar( 'COREBASE', True)
|
|
|
|
def base_get_metadata_monotone_branch(path, d):
|
|
monotone_branch = "<unknown>"
|
|
try:
|
|
monotone_branch = file( "%s/_MTN/options" % path ).read().strip()
|
|
if monotone_branch.startswith( "database" ):
|
|
monotone_branch_words = monotone_branch.split()
|
|
monotone_branch = monotone_branch_words[ monotone_branch_words.index( "branch" )+1][1:-1]
|
|
except:
|
|
pass
|
|
return monotone_branch
|
|
|
|
def base_get_metadata_monotone_revision(path, d):
|
|
monotone_revision = "<unknown>"
|
|
try:
|
|
monotone_revision = file( "%s/_MTN/revision" % path ).read().strip()
|
|
if monotone_revision.startswith( "format_version" ):
|
|
monotone_revision_words = monotone_revision.split()
|
|
monotone_revision = monotone_revision_words[ monotone_revision_words.index( "old_revision" )+1][1:-1]
|
|
except IOError:
|
|
pass
|
|
return monotone_revision
|
|
|
|
def base_get_metadata_svn_revision(path, d):
|
|
revision = "<unknown>"
|
|
try:
|
|
revision = file( "%s/.svn/entries" % path ).readlines()[3].strip()
|
|
except IOError:
|
|
pass
|
|
return revision
|
|
|
|
def base_get_metadata_git_branch(path, d):
|
|
branch = os.popen('cd %s; git branch 2>&1 | grep "^* " | tr -d "* "' % path).read()
|
|
|
|
if len(branch) != 0:
|
|
return branch
|
|
return "<unknown>"
|
|
|
|
def base_get_metadata_git_revision(path, d):
|
|
f = os.popen("cd %s; git log -n 1 --pretty=oneline -- 2>&1" % path)
|
|
data = f.read()
|
|
if f.close() is None:
|
|
rev = data.split(" ")[0]
|
|
if len(rev) != 0:
|
|
return rev
|
|
return "<unknown>"
|
|
|