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
