18766 One more branch version
authorDavid Powell <david.e.powell@oracle.com>
Mon, 01 Aug 2011 14:12:59 -0700
changeset 759 0aa521216e66
parent 758 06c57694c78d
child 760 5220578b3b77
18766 One more branch version
usr/src/README.build
usr/src/pkg/Makefile
--- a/usr/src/README.build	Fri Jul 29 17:37:59 2011 -0400
+++ b/usr/src/README.build	Mon Aug 01 14:12:59 2011 -0700
@@ -131,9 +131,8 @@
     running on port 80.  It assumes the build environment is itself
     an IPS-based Indiana install.
 
-    'make BUILD=XYZ wos' in usr/src/pkg builds WOS packages for build
-    XYZ.  (e.g. BUILD=42 builds packages for build 42).  The resulting
-    repo is placed in $(CODEMGR_WS)/packages_wos.
+    'make wos' in usr/src/pkg builds WOS packages.  The resulting repo
+    is placed in $(CODEMGR_WS)/packages_wos.
 
     'make OTHERWS=/other/ws merge' in usr/src/pkg merges the WOS builds
     from this workspace and /other/ws, assumed to be of the opposite
@@ -143,6 +142,22 @@
     This build machine doing the merge must have build 160 IPS bits or
     later installed.
 
+    Package version strings are automatically assigned the next
+    available build number.  All aspects of the package version can be
+    tuned by defining the appropriate variables:
+
+	B_TRUNKID
+	B_UPDATENUM
+	B_SRUNUM
+	B_PLATNUM
+	B_BUILDID
+	B_NIGHTLYID
+
+    Setting "IDR=yes" activates the following additional variables:
+
+	B_IDRID
+	B_IDRNUM
+
   Gate structure:
 
     The gate structure is similar to ON's, though we have sequestered
--- a/usr/src/pkg/Makefile	Fri Jul 29 17:37:59 2011 -0400
+++ b/usr/src/pkg/Makefile	Mon Aug 01 14:12:59 2011 -0700
@@ -28,31 +28,31 @@
 # Common configuration options
 TYPE=normal
 IDR=no
-BUILD=BUILD_NOT_DEFINED
 OTHERWS=OTHERWS_NOT_DEFINED
 CONSOLIDATION=vpanels
 
+BUILD:sh=hg tags | nawk '$1 ~ /^osol_[0-9]*$/ {print substr($1, 6) + 1; exit}'
+
 # Branch versions
-B_TRUNK=0.$(BUILD)
-B_UPDATE=0
-B_SRU=0
-B_PLATFORM=0
+B_TRUNKID=$(BUILD)
+B_UPDATENUM=0
+B_SRUNUM=0
+B_PLATNUM=0
 B_BUILDID=0
+B_NIGHTLYID:sh=(hg tip --template '{rev}\n')
 
 # IDR versions; set IDR=yes to include
-B_IDR_ID=0
-B_IDR_NUMBER=0
+B_IDRID=0
+B_IDRNUM=0
 
-B_IDR_yes=.$(B_IDR_ID).$(B_IDR_NUMBER)
-B_IDR_no=
-B_IDR=$(B_IDR_$(IDR))
+IDR_STR_yes=.$(B_IDRID).$(B_IDRNUM)
+IDR_STR_no=
 
-BRANCH_STR=$(B_TRUNK).$(B_UPDATE).$(B_SRU).$(B_PLATFORM).$(B_BUILDID)$(B_IDR)
+BRANCH_STR=0.$(B_TRUNKID).$(B_UPDATENUM).$(B_SRUNUM).$(B_PLATNUM)
+BUILD_STR=.$(B_BUILDID).$(B_NIGHTLYID)
+IDR_STR=$(IDR_STR_$(IDR))
 
-PKGVERS_CMD = $(PKG) -R / list -Hv package/pkg | $(SED) 's/^.*@\(.*\):.*/\1.1/'
-PKGVERS_normal = $(PKGVERS_CMD:sh)
-PKGVERS_wos = 0.5.11,5.11-$(BRANCH_STR)
-PKGVERS=$(PKGVERS_$(TYPE))
+PKGVERS=0.5.11,5.11-$(BRANCH_STR)$(BUILD_STR)$(IDR_STR)
 
 PKGARCH:sh=uname -p
 PKGARCH64_sparc=sparcv9