The page has been migrated to https://github.com/OpenIndiana/oi-userland/blob/oi/hipster/doc/branchid-change-instructions.md . Avoid touching this wiki page.
Now and then we have to bump build numbers.
This can happen on major packages updates, on changing repository, on releasing new snapshot.
BRANCHID is set in make-rules/ips-buildinfo.mk as
BRANCHID ?= $(RELEASE_MAJOR).$(RELEASE_MINOR).$(UPDATENUM).$(COMPONENT_REVISION)
RELEASE_MAJOR is usually set to current year, RELEASE_MINOR and UPDATENUM are bumped when necessary and COMPONENT_REVISION is set by components individually to represent component modification.
BUILD_VERSION is set in the same file as
BUILD_VERSION ?= $(PKG_SOLARIS_VERSION)-$(BRANCHID)
The main issue during this process is to ensure that components, using auto-generated PLV, RUBYV and PYV manifests are republished after BRANCHID change.
This is necessary, because their publishing logic is broken in some way, and they can be published twice. On the first publish everything goes OK, but on the second only meta-package,
dependent on individual packages versions, is republished. As it includes dependency on $(IPS_COMPONENT_VERSION),$(BUILD_VERSION) subcomponents and BUILD_VERSION is changed,
we receive non-installable package.
The following components (as of 2015-10-04) should be republished:
python/*, excluding python interpreters
To find them, use
find components/ -name \*PERLVER*.p5m
find . -name \*PYVVER*.p5m
find components/ -name \*RUBYVER*.p5m