make-rules/shared-macros.mk
branchs11-sru
changeset 2227 972345a3c215
parent 528 db21abcd4c91
child 591 d3cce09912d0
equal deleted inserted replaced
537:10bd3a98a582 2227:972345a3c215
    40 export DOWNLOAD_SEARCH_PATH +=	$(INTERNAL_ARCHIVE_MIRROR)
    40 export DOWNLOAD_SEARCH_PATH +=	$(INTERNAL_ARCHIVE_MIRROR)
    41 export DOWNLOAD_SEARCH_PATH +=	$(EXTERNAL_ARCHIVE_MIRROR)
    41 export DOWNLOAD_SEARCH_PATH +=	$(EXTERNAL_ARCHIVE_MIRROR)
    42 
    42 
    43 # The workspace starts at the mercurial root
    43 # The workspace starts at the mercurial root
    44 export WS_TOP ?=		$(shell hg root)
    44 export WS_TOP ?=		$(shell hg root)
       
    45 
       
    46 WS_LOGS =	$(WS_TOP)/$(MACH)/logs
       
    47 WS_REPO =	$(WS_TOP)/$(MACH)/repo
       
    48 WS_TOOLS =	$(WS_TOP)/tools
       
    49 WS_MAKE_RULES =	$(WS_TOP)/make-rules
       
    50 WS_COMPONENTS =	$(WS_TOP)/components
       
    51 WS_INCORPORATIONS =	$(WS_TOP)/incorporations
       
    52 WS_LINT_CACHE =	$(WS_TOP)/$(MACH)/pkglint-cache
    45 
    53 
    46 # we want our pkg piplines to fail if there is an error
    54 # we want our pkg piplines to fail if there is an error
    47 # (like if pkgdepend fails in the middle of a pipe), but
    55 # (like if pkgdepend fails in the middle of a pipe), but
    48 # we don't want the builds or ./configure's failing as well.
    56 # we don't want the builds or ./configure's failing as well.
    49 # so we only set pipefail for the publish target and have
    57 # so we only set pipefail for the publish target and have
    60 CONSOLIDATION =	userland
    68 CONSOLIDATION =	userland
    61 PUBLISHER ?=	$(CONSOLIDATION)
    69 PUBLISHER ?=	$(CONSOLIDATION)
    62 
    70 
    63 ROOT =			/
    71 ROOT =			/
    64 
    72 
    65 # The package branch version scheme is:
       
    66 #
       
    67 #       trunk_id.update.SRU.platform.buildid.nightlyid
       
    68 #
       
    69 # where
       
    70 #       trunk_id : build number for tip development gate, with leading 0
       
    71 #       update   : 0 for FCS, 1 for update 1, etc.
       
    72 #       SRU      : SRU (support repository update) number for this update
       
    73 #       platform : reserved for future use.
       
    74 #       buildid  : the build number of the last non-zero element from above
       
    75 #       nightlyid: nightly build identifier
       
    76 
       
    77 # get the most recent build number from the last mercurial tag
       
    78 LAST_HG_TAG =	$(shell hg tags -q | grep build- | head -1)
       
    79 LAST_BUILD_NUM = $(LAST_HG_TAG:build-%=%)
       
    80 
       
    81 OS_VERSION =		$(shell uname -r)
    73 OS_VERSION =		$(shell uname -r)
    82 SOLARIS_VERSION =	$(OS_VERSION:5.%=2.%)
    74 SOLARIS_VERSION =	$(OS_VERSION:5.%=2.%)
    83 BUILD_NUM ?=		0.$(shell expr $(LAST_BUILD_NUM) + 1)
    75 
    84 
    76 include $(WS_MAKE_RULES)/ips-buildinfo.mk
    85 #
       
    86 # The Solaris Update number. This will be set by the gatekeepers.
       
    87 # The value must match the update number of the release.
       
    88 #
       
    89 UPDATENUM ?= 0
       
    90 
       
    91 #
       
    92 # Support Respository Update number. This is here to reserve space within the
       
    93 # version string. Typically it should not be set unless all the packages
       
    94 # are being delivered within an SRU.
       
    95 #
       
    96 SRUNUM ?= 0
       
    97 
       
    98 #
       
    99 # Platform number. This is here to reserve space within the version
       
   100 # string. It should not be set unless there is a specific need to
       
   101 # release a platform update while the Solaris Update is being built.
       
   102 #
       
   103 PLATNUM ?= 0
       
   104 
       
   105 #
       
   106 # Build Identifier. Used to indicate which build (or respin for
       
   107 # the development build) of the Solaris Update is being built.
       
   108 # This is set by the gatekeepers.
       
   109 #
       
   110 BUILDID ?= 0
       
   111 
       
   112 # Each (nightly) build of the code that produces packages needs to
       
   113 # be uniquely identified so that packages produced by different
       
   114 # builds can't be mixed.  Mixing packages from different builds can
       
   115 # easily result in broken global and nonglobal zones.
       
   116 #
       
   117 NIGHTLYID ?=	$(shell hg tip --template '{rev}\n')
       
   118 
       
   119 BUILD_VERSION ?=	 \
       
   120     $(OS_VERSION)-$(BUILD_NUM).$(UPDATENUM).$(SRUNUM).$(PLATNUM).$(BUILDID).$(NIGHTLYID)
       
   121 
    77 
   122 COMPILER =		studio
    78 COMPILER =		studio
   123 BITS =			32
    79 BITS =			32
   124 PYTHON_VERSION =	2.6
    80 PYTHON_VERSION =	2.6
   125 PYTHON_VERSIONS =	2.6
    81 PYTHON_VERSIONS =	2.6
   126 
       
   127 WS_LOGS =	$(WS_TOP)/$(MACH)/logs
       
   128 WS_REPO =	$(WS_TOP)/$(MACH)/repo
       
   129 WS_TOOLS =	$(WS_TOP)/tools
       
   130 WS_MAKE_RULES =	$(WS_TOP)/make-rules
       
   131 WS_COMPONENTS =	$(WS_TOP)/components
       
   132 WS_INCORPORATIONS =	$(WS_TOP)/incorporations
       
   133 WS_LINT_CACHE =	$(WS_TOP)/$(MACH)/pkglint-cache
       
   134 
    82 
   135 BASS_O_MATIC =	$(WS_TOOLS)/bass-o-matic
    83 BASS_O_MATIC =	$(WS_TOOLS)/bass-o-matic
   136 
    84 
   137 CLONEY =	$(WS_TOOLS)/cloney
    85 CLONEY =	$(WS_TOOLS)/cloney
   138 
    86