diff options
Diffstat (limited to 'meta/classes')
| -rw-r--r-- | meta/classes/base.bbclass | 40 |
1 files changed, 28 insertions, 12 deletions
diff --git a/meta/classes/base.bbclass b/meta/classes/base.bbclass index 8d92e3db06..a3a795eb9c 100644 --- a/meta/classes/base.bbclass +++ b/meta/classes/base.bbclass | |||
| @@ -603,6 +603,31 @@ python base_do_unpack() { | |||
| 603 | raise bb.build.FuncFailed() | 603 | raise bb.build.FuncFailed() |
| 604 | } | 604 | } |
| 605 | 605 | ||
| 606 | def base_get_scmbasepath(d): | ||
| 607 | import bb | ||
| 608 | path_to_bbfiles = bb.data.getVar( 'BBFILES', d, 1 ).split() | ||
| 609 | return path_to_bbfiles[0][:path_to_bbfiles[0].rindex( "packages" )] | ||
| 610 | |||
| 611 | def base_get_metadata_monotone_revision(d): | ||
| 612 | monotone_revision = "<unknown>" | ||
| 613 | try: | ||
| 614 | monotone_revision = file( "%s/_MTN/revision" % base_get_scmbasepath(d) ).read().strip() | ||
| 615 | if monotone_revision.startswith( "format_version" ): | ||
| 616 | monotone_revision_words = monotone_revision.split() | ||
| 617 | monotone_revision = monotone_revision_words[ monotone_revision_words.index( "old_revision" )+1][1:-1] | ||
| 618 | except IOError: | ||
| 619 | pass | ||
| 620 | return monotone_revision | ||
| 621 | |||
| 622 | def base_get_metadata_svn_revision(d): | ||
| 623 | revision = "<unknown>" | ||
| 624 | try: | ||
| 625 | revision = file( "%s/.svn/entries" % base_get_scmbasepath(d) ).readlines()[3].strip() | ||
| 626 | except IOError: | ||
| 627 | pass | ||
| 628 | return revision | ||
| 629 | |||
| 630 | METADATA_REVISION_FUNCTION ?= "${@base_get_metadata_monotone_revision(d)}" | ||
| 606 | 631 | ||
| 607 | addhandler base_eventhandler | 632 | addhandler base_eventhandler |
| 608 | python base_eventhandler() { | 633 | python base_eventhandler() { |
| @@ -634,18 +659,9 @@ python base_eventhandler() { | |||
| 634 | 659 | ||
| 635 | if name.startswith("BuildStarted"): | 660 | if name.startswith("BuildStarted"): |
| 636 | bb.data.setVar( 'BB_VERSION', bb.__version__, e.data ) | 661 | bb.data.setVar( 'BB_VERSION', bb.__version__, e.data ) |
| 637 | path_to_bbfiles = bb.data.getVar( 'BBFILES', e.data, 1 ) | 662 | revision = bb.data.getVar('METADATA_REVISION_FUNCTION', e.data, 1) |
| 638 | path_to_packages = path_to_bbfiles[:path_to_bbfiles.rindex( "packages" )] | 663 | bb.data.setVar( 'METADATA_REVISION', revision, e.data ) |
| 639 | monotone_revision = "<unknown>" | 664 | statusvars = ['BB_VERSION', 'METADATA_REVISION', 'TARGET_ARCH', 'TARGET_OS', 'MACHINE', 'DISTRO', 'DISTRO_VERSION','TARGET_FPU'] |
| 640 | try: | ||
| 641 | monotone_revision = file( "%s/_MTN/revision" % path_to_packages ).read().strip() | ||
| 642 | if monotone_revision.startswith( "format_version" ): | ||
| 643 | monotone_revision_words = monotone_revision.split() | ||
| 644 | monotone_revision = monotone_revision_words[ monotone_revision_words.index( "old_revision" )+1][1:-1] | ||
| 645 | except IOError: | ||
| 646 | pass | ||
| 647 | bb.data.setVar( 'OE_REVISION', monotone_revision, e.data ) | ||
| 648 | statusvars = ['BB_VERSION', 'OE_REVISION', 'TARGET_ARCH', 'TARGET_OS', 'MACHINE', 'DISTRO', 'DISTRO_VERSION','TARGET_FPU'] | ||
| 649 | statuslines = ["%-14s = \"%s\"" % (i, bb.data.getVar(i, e.data, 1) or '') for i in statusvars] | 665 | statuslines = ["%-14s = \"%s\"" % (i, bb.data.getVar(i, e.data, 1) or '') for i in statusvars] |
| 650 | statusmsg = "\nOE Build Configuration:\n%s\n" % '\n'.join(statuslines) | 666 | statusmsg = "\nOE Build Configuration:\n%s\n" % '\n'.join(statuslines) |
| 651 | print statusmsg | 667 | print statusmsg |
