Anyone interested in doing a code review of using the recent pkgdepend resolve
feature to provide a limited list of packages from the reference image?

https://cr.opensolaris.org/action/browse/x-cons/alanc/7155045/7155045/

This transforms the developer/opensolaris/X package manifest into a simple
package list using pkgmogrify and then passes it as the -e flag to
pkgdepend resolve.

Besides the performance improvement, it also caught that I'd missed adding
the gnutls package to our developer package list when we upgraded to the
TigerVNC release that added encryption support via gnutls.

As for performance, I ran the X gate "make_release_packages" script on several
hosts.  This script completely removes the existing package repo in the gate,
runs make clean in the pkg directory, and then does a full package publication,
pkglint, and validate_pkg run across all 184 live packages, and 127 legacy
packages in the X gate.

 - On my Ultra 27, with 1369 packages installed, this cut the average runtime
   down from 5 minutes 15 seconds to 3:01, and average user CPU time from 656
   seconds to 522 seconds.

 - On our Sun Fire X4100 build server, with 684 packages installed, this cut
   the average measured user cpu time down from 717 seconds to 673 seconds,
   and the average wall clock time from an average of 11 minutes to 10 minutes
   (though another build was running on the machine at a time).

 - On our SPARC T2 build server, I gave up on averaging, after a single run to
   establish the "before" time took 56 minutes on an otherwise idle machine.
   The "after" time was reduced to 44:40 though. ("pkg list | wc" = 798)

BTW, since the X pkg/Makefile is based on ON's, it was easy to make the
equivalent change to it, but it's developer package needed a *lot* more
change:
        http://kodiak.us.oracle.com/builds/alanc/on11u1/pkgdepend-e/

On a handy T4 build server (2 cpus x 8 cores x 8 threads, 617 pkgs installed),
I ran 5 times each,  before and after, on a fully built ON gate:
  rm -rf $PKGARCHIVE ; dmake clean ; time dmake -j 16 install > make.out

Average before: 450.76 user cpu time ;  3 minutes, 33 seconds wall clock
Average after:  401.15 user cpu time ;  2 minutes, 42 seconds wall clock

But unlike X, ON is not yet ready to use the S11U1 pkgdepend, so they'll have
to wait for it.   (Did I hear that someone is already working on cleaning up
ON's missing developer depends?   If so, I'll happily hand this off to them
to follow up with.)

-- 
        -Alan Coopersmith-              [email protected]
         Oracle Solaris Engineering - http://blogs.oracle.com/alanc
_______________________________________________
pkg-discuss mailing list
[email protected]
http://mail.opensolaris.org/mailman/listinfo/pkg-discuss

Reply via email to