If you don't build slim_source, you can disregard the rest of this
message.  If you do, please read these instructions carefully.  They are
lengthy and contain a lot of important information.

With my integration into slim_source of:

changeset:   863:5a915c215754
tag:         tip
user:        Glenn Lagasse <[email protected]>
date:        Fri Aug 20 12:01:21 2010 -0700

This constitutes a flag day for build machines and/or anyone who wants
to build slim_source.

With this integration the beadm and libbe source is fully removed from
slim_source.  Components within slim_source that depend on libbe now
depend on libbe as delivered from the WOS's osnet-incorporation instead
of out of the slim_source proto area.  So, any machine that you want to
build slim_source on will need to have the install/beadm package (as
delivered from the osnet-incorporation) installed on it (which really
isn't an issue since I can't think of a scenario where this wouldn't be
the case).  Now, until WOS build 147 (which contains the install/beadm
package) is available on ipkg.sfbay/dev developers will need to cross
this flag day in order to build slim_source after they sync up with my
changeset.

The following instructions presume that you have a BE running WOS build
146 and that you only have the ipkg.sfbay/dev and ipkg.sfbay/extra (if
you use extra) publishers configured.  Things will also go smoother if
that BE is already capable of building slim_source (ie you've installed
everything as outlined in the README in slim_source).  The
steps/ordering are *vital*.  Please read and understand the steps
completely before proceeding.  It's *highly* recommended that you create
a VM in VirtualBox to do this in.  That way you can keep your
workstation running on the 'WOS' train and do your slim_source builds in
a VM and not have to 'migrate' back to the 'WOS' builds later on.

1) Create a new BE which we'll upgrade to a copy of the 146 WOS + the
147 ON packages

pfexec beadm create ON-147

2) Mount it so we can operate on it

pfexec beadm mount ON-147 /mnt

3) Uninstall entire to facilitate upgrades

pfexec pkg -R /mnt uninstall entire

4) Set the opensolaris.org publisher as non-sticky so we can satisfy
upgrade dependencies from our other repos

pfexec pkg -R /mnt set-publisher --no-refresh --non-sticky opensolaris.org

5) Add a publisher for on-nightly based on build 147

pfexec pkg -R /mnt set-publisher -p http://indiana-build.central.sun.com:1050

6) Now add a publisher for my built copy of slim_source which gets us
around an issue of libbe.so.1 when the system/library/install package is
upgraded.

pfexec pkg -R /mnt set-publisher -p http://indiana-build.central.sun.com:1051

7) Set the install-nightly publisher as preferred and refresh

pfexec pkg -R /mnt set-publisher -P install-nightly
pfexec pkg -R /mnt refresh --full

8) Now set the on-nightly publisher as preferred since that's where we
want the bulk of our updates to come from and refresh

pfexec pkg -R /mnt set-publisher -P on-nightly
pfexec pkg -R /mnt refresh --full

9) Now we're ready to do the actual upgrade.  To test that things are
setup correctly from a pkg standpoint we'll do a dry-run:

pfexec pkg -R /mnt image-update -nv | grep install-nightly

If things are setup correctly, you'll see three packages from
install-nightly being upgraded.  install-incorporation,
system/library/install and system/install.  If you don't see that, then
re-check the steps you followed to make sure you did things in the
order/manner as outlined.

10) Now we'll do the actual upgrade

pfexec pkg -R /mnt image-update

Once that completes, you can unmount the ON-147 BE, activate it and boot
into it.  It's vitally important that you unmount the BE before you
reboot.  You can then build slim_source that contains my changeset.  The
one caveat that you'll notice upon reboot is that if you were using the
SunStudioExpress compiler/package to do your compiles it has been
renamed to solstudioex (see Keith's previous mail to
solaris-install-extended titled "Heads-up regarding build 146 /
image-updates").

When WOS build 147 becomes available on ipkg.sfbay/dev, my expectation
is that switching back to the WOS builds (if you aren't using a VM as
previously recommended) will be a simple matter of setting the
opensolaris.org publisher to be preferred (along with setting the
on-nightly and install-nightly publishers as non-sticky) and doing an
image-update.  Since there isn't a WOS build of 147 available yet, I
can't test this but the theory is sound.  As soon as the build is
available on ipkg.sfbay/dev I'll test and come up with a set of
instructions on how to get back on the WOS train and send that out.

Testing packages you build from slim_source:

Now, you've crossed the flag-day and have built slim_source.  You
probably want to install those built packages somewhere so you can test
your changes.  This is how you would do that (I'll show how you would
install the distribution constructor package for instance):

pfexec beadm create install-nightly
pfexec beadm mount install-nightly /mnt
pfexec pkg -R /mnt unset-publisher install-nightly
pfexec pkg -R /mnt set-publisher -p file:///<path to your built packages>
pfexec pkg -R /mnt set-publisher -P install-nightly
pfexec pkg -R /mnt refresh --full
pfexec pkg -R /mnt install 
pkg://install-nightly/consolidation/install/install-incorporation 
pkg://install-nightly/install/distribution-constructor
pfexec beadm unmount install-nightly
pfexec beadm activate install-nightly
pfexec init 6

Once your new BE comes back up, you can test away.  You can then add
additional packages from your install-nightly repo as outlined above.

Building media from slim_source:

This is fairly straight-forward.  All you need to do is set a primary
publisher in your manifest for either the install-nightly or on-nightly
publishers, then a secondary for on-nightly or install-nightly and
finally a tertiary for ipkg.sfbay/dev.

Indiana-build and indiana-build-sp will be updated by Keith to cross
this flag day.

IMPORTANT: With these changes, slim_source now has a cross-consolidation
dependency with ON.  As such, if you're making any changes to any
components in slim_source that build/link against libbe you'll need to
make sure that you have the correct copy of libbe installed for whatever
build you're delivering changes for (ie you'll need to pay attention to
any flag days that come out of ON for beadm/libbe).

Any questions/comments/concerns can be sent to [email protected].

Cheers,

-- 
Glenn
_______________________________________________
caiman-discuss mailing list
[email protected]
http://mail.opensolaris.org/mailman/listinfo/caiman-discuss

Reply via email to