Building all the consolidations produces a collection of IPS repositories, all of which might contain packages with different publisher strings (For example the default ONNV publisher is on-nightly).
When you're ready to take all these depots to do an official build, you can use the set-publisher.sh tool from pkg-gate:
Usage: -b <build> -d <scratch_dir> -p <publish_repo> <input_repos>
e.g. -b 136, to make sure to publish only packages from the
specified build. Packages from any other builds contained in the
repository are simply discarded. This allows us to ignore
packages obsoleted in a previous build without requiring that
the consolidations strip them.
A scratch directory to use for pkgrecv. If it's not initially
empty other packages there will be published at publication time.
A file: or http: repository path to publish the results. This
repository should have already been created with opensolaris.org
as its publisher.
A list of input IPS repositories to pull packages from for
It expects to be run from a directory with a file called set-publisher.transforms inside, which contains the transformation mapping. To change all publishers to openindiana.org, use:
<transform set name=pkg.fmri -> edit value pkg://[^/]+/ pkg://openindiana.org/>
# These are needed until 14870 is fixed.
<transform file depend -> delete pkg.debug.depend.file .*>
<transform file depend -> delete pkg.debug.depend.reason .*>
<transform file depend -> delete pkg.debug.depend.type .*>
<transform file depend -> delete pkg.debug.depend.path .*>
<transform file depend -> delete pkg.debug.depend.severity .*>
It might be necessary to run the tool from the pkg-gate/src/util/publish folder but we haven't tested this yet.