[OpenIndiana-discuss] Testing updates from /dev to /hipster-2015 and /hipster

Tim Mooney Tim.Mooney at ndsu.edu
Tue Jun 7 19:20:03 UTC 2016


In regard to: Re: [OpenIndiana-discuss] Testing updates from /dev to...:

> Thanks for the great job.

Sorry to follow up to a month-old post, but I wanted to give thanks and
a "shout out" to Ben for posting these step-by-step instruction, which Nikola
has replicated to the wiki:

 	http://wiki.openindiana.org/pages/viewpage.action?pageId=30802657

I wouldn't have been able to make it from /dev to hipster without these
instructions.  With Ben's instructions, the process went very smoothly.

I do have a few comments and possible corrections about the process that
I thought I would share, for others that are going to be attempting it.

First: Nikola, shouldn't the wiki article be more obvious in giving credit
to Ben for his post?  alp and others have definitely provided valuable
guidance, but it was Ben that filled in the gaps and provided a
step-by-step process that people that are less-familiar with IPS could
still easily follow.

> I tested today the update from oi_151a9 to Hipster2015 to hipster.
> It was a long journey.
> The hardware is a Dell Precision T5400 (16GB of memory and 2 mirrored pools)
> It took me the whole day as I have very poor IO performance on that hardware.

I did the process on a Dell Precision T3600, with 32 GB of RAM.  I have a
fast Internet connection at work and this workstation hardware is quite good,
so it didn't take me nearly as long as it took Ben.

Before step 1, I personally added steps 0a & 0b.

step 0a was to disable any network services that may be changing things on
the box during this process.  I'm specifically thinking about sendmail,
but other services might also apply.  The reason why is that if you do
need to go back to an older boot environment, that older BE may be
missing mail or other file changes that were made to one of the later BEs.

step 0a:

 	sudo svcs -a > services-before-hipster
 	sudo svcadm disable svc:/network/sendmail:default

It wasn't really necessary, but to keep them in sync I also did:

 	sudo svcadm disable svc:/network/sendmail-client:default

I also did a step 0b, where I gathered a little bit more information about
what the starting step looked like, for both publishers and packages:

step 0b:

 	pkg list > pkg_list.txt
 	pkg list | egrep sfe > pkg_list_sfe.txt
 	pkg publisher > pkg_publisher.txt

Continuing with Ben's procedure...

I didn't make any changes to step 1:

> Here is the process I followed for reference and for the doc project :
> 1 - Create a BE to start and boot to it :
> # beadm create -a Openindiana-HipUpdate-S1
> # reboot

For step 2, there is one minor change I would recommend:

> 2 - remove all packages from external repositories (like SFE/SFE-encumbered but SFWpackages as well) :
> # pkginfo | grep SFW
> # pkgrm SFW[whatevername]
> # pkg uninstall --be-name Openindiana-HipUpdate-S2 `pkg list -v | egrep sfe | cut -d" " -f1`

There is actually a package named '/driver/network/sfe' which accidentally
matches the regex used in the last command (looking for packages from the
sfe or sfe-encumbered repositories).  To avoid uninstalling that driver,
I changed the 'egrep sfe' in the last command in step 2 to 'egrep //sfe'.
Even safer would be

 	egrep '^pkg://sfe'

which (assuming you used 'sfe' and 'sfe-encumbered' for your repository
names for the spec files extra and spec files extra (encumbered)
repositories) should match both add-on repositories.

> 3 - Reboot to new env Openindiana-HipUpdate-S2

One question I have about step 4:

> 4 - Remove external IPS publishers :
> # pkg unset-publisher sfe
> # pkg unset-publisher sfe-encumbered

There's no place in Ben's guide that even mentions the other publisher
that people that started on /dev might have, opensolaris.org

Based on comments I've seen from alp, wouldn't step 4 be the logical
place to *also* do

 	pkg unset-publisher opensolaris.org

?  I haven't actually done that yet, so I still have opensolaris.org
showing up as a publisher, but I'm thinking it should be removed.

> 5 - Change publisher to Hipster 2015
> # pkg set-publisher -g http://pkg.openindiana.org/hipster-2015 -G http://pkg.openindiana.org/dev openindiana.org
> # pkg refresh --full
> # pkg update --be-name Openindiana-HipUpdate-S3

I executed step 5 exactly as shown.  I thought it might be useful for
others to have some timings for this step, so for comparison

- 'pkg refresh --full' took just under 2 minutes to complete.
- the actual 'pkg update --be-name Openindiana-HipUpdate-S3' took
 	- 14 minutes just for the planning stage, and at points during
 	  the planning stage the spinner was stalled.  Doing a truss on
 	  the python process showed that is was repeatedly changing memory
 	  allocation using brk().
 	- after the plan phase finished, there were 99174 files totaling
 	  1292 MB to download.  With my network connection and I/O, that
 	  took another 10-15 minutes or so.
 	- the post-download phases took another 5-10 minutes.

At the very end of the process, I did receive a message about a few files
and directories that were "salvaged":

-----

The following unexpected or editable files and directories were
salvaged while executing the requested package operation; they
have been moved to the displayed location in the image:

   var/sadm/system/logs ->
/tmp/tmpJxJO6L/var/pkg/lost+found/var/sadm/system/logs-20160606T171556Z
   var/sadm/system ->
/tmp/tmpJxJO6L/var/pkg/lost+found/var/sadm/system-20160606T171556Z
   usr/lib/python2.4/site-packages ->
/tmp/tmpJxJO6L/var/pkg/lost+found/usr/lib/python2.4/site-packages-20160606T171557Z
   usr/lib/firefox/plugins ->
/tmp/tmpJxJO6L/var/pkg/lost+found/usr/lib/firefox/plugins-20160606T171557Z
   etc/rad -> /tmp/tmpJxJO6L/var/pkg/lost+found/etc/rad-20160606T171557Z

----

None of them were of concern for me, so I continued with the next steps:


> 6 - Reboot to Hipster 2015
>
> 7 - Verify any leftovers
> # pkg list |grep '0\.151\.1\.'
> * must be empty *

Ben's instructions had two steps that were numbered step 7.  The first
step 7 (above) didn't reveal any left-over packages, so I continued
with the second step 7:

> 7 - Install incorporations
> # pkg install --no-backup-be userland-incorporation entire

No problems from that, but it did output

 	"No updates necessary for this image"

Since my goal was to get to current hipster, I continued with the
next steps:

> 8 - Change publisher to Hipster
> # pkg set-publisher -g http://pkg.openindiana.org/hipster -G http://pkg.openindiana.org/hipster-2015 openindiana.org

It wasn't listed in step 8, but I chose to also do a

 	pkg refresh --full

like had been done in step 5.

> 9 - Update to latest Hipster
> # pkg update --be-name OpenIndiana-Latest
> # reboot

Again for timing comparisons, the pkg update after switching from
/hipster-2015 to /hipster took:
 	- only about 2 minutes for the "plan" stage
 	- involved 694 packages, totaling 13548 files in 494 MB.
 	- the entire update, from start to finish, took a total of 9 minutes.


> Now test extensively, reinstall missing applications, enable SFW for Hipster,....

I can't say I've tested extensively, but nearly everything I've tried has
worked.  Of note, my VirtualBox 4.3.30 install survived the transition
from /dev to /hipster-2015 to /hipster and works just fine, including
audio.

A couple things I've noticed that aren't working:

- the flash plugin isn't working with firefox 45.0.2.  Not as big of a
   deal as it once would have been, because most of the YouTube stuff I've
   checked has played very well without flash.  Since audio from my Windows
   7 VirtualBox VM works, I can always use the VM for anything (like
   accessing our VMWare infrastructure) that truly requires flash.
- since the graphical update manager is gone, root's existing cron
   job to run  /usr/lib/update-manager/update-refresh.sh now just
   generates periodic error email.  I just commented out the cron job.

I also see that firefox 45.0.2 isn't happy with the Java plug-in:

LoadPlugin: failed to initialize shared library /usr/jdk/instances/jdk1.7.0_80/jre/lib/i386/libnpjp2.so [ld.so.1: firefox: fatal: relocation error: file /usr/jdk/instances/jdk1.7.0_80/jre/lib/i386/libnpjp2.so: symbol __1cDstdMbasic_string4Ccn0ALchar_traits4Cc__n0AJallocator4Cc___J__nullref_: referenced symbol not found]


Java web start continues to work, though, which is the only java/firefox
bit I care about, since we have an important application that uses web start.

After that amount of testing and things looking good enough for continued
use, I decided I was staying with hipster rather than rolling back to
the original boot environment.  I therefore did the following:

- re-enable sendmail and/or other services that were disabled at the
   start.

 	sudo svcadm enable svc:/network/sendmail:default
 	sudo svcadm enable svc:/network/sendmail-client:default

- add the /hipster-encumbered publisher:

 	sudo pkg set-publisher --non-sticky \
 		-g http://pkg.openindiana.org/hipster-encumbered hipster-encumbered

I found the reference to that repo in a message alp had posted.

- after adding /hipster-encumbered, I installed vlc, which pulled in more
   than a dozen additional dependencies.  I'll have more to add yet, as the
   list I previously had from sfe & sfe-encumbered totaled about 60
   packages.

- add the opencsw spec files extra repo.  I used the following (not
   certain this was the best way...):

 	sudo pkg set-publisher --non-sticky \
 		-g http://sfe.opencsw.org/localhostoih/ \
 		--search-after=openindiana.org localhostoi


Finally, since my OI /dev install had never had a working office suite,
I finished up by installing openoffice from hipster:

 	sudo pkg install -n pkg://openindiana.org/desktop/office/openoffice

I had to use the full FMRI because I still have opensolaris.org as a
publisher (see above) and it has an ancient version of openoffice.

I actually would have preferred libreoffice4 from sfe, but the
--search-after and --non-sticky options I used when setting up
sfe/localhostoi mean that some of the dependencies can't replace versions
from hipster.  I may have to re-do my publisher for sfe/localhostoi

Hope that all helps someone else to make the transition.  Again, big
thanks to Ben for posting the instructions.

Tim
-- 
Tim Mooney                                             Tim.Mooney at ndsu.edu
Enterprise Computing & Infrastructure                  701-231-1076 (Voice)
Room 242-J6, Quentin Burdick Building                  701-231-8541 (Fax)
North Dakota State University, Fargo, ND 58105-5164



More information about the openindiana-discuss mailing list