On 03/21/12 15:56, Alan Coopersmith wrote:
On 03/19/12 08:52 PM, Alan Coopersmith wrote:
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.
Oh, one more change - this removes the need for our previous workaround for
the gcc-3 vs. gcc-4 runtime issue, and now builds correctly on a machine with
both installed with the following removed, so it will come out in this putback
as well:

diff -r b41378e7f2ad pkg/transforms/defaults
--- a/pkg/transforms/defaults   Mon Mar 19 20:07:00 2012 -0700
+++ b/pkg/transforms/defaults   Wed Mar 21 15:54:45 2012 -0700
@@ -57,13 +57,6 @@
  # This is set to the final version number delivered as SVR4 format
  <transform legacy ->  default version "6.9.0.5.11.14300,REV=0.2010.06.21">

-# Ensure we don't accidentally list dependencies on gcc-4 runtime libraries
-# if they're installed on build systems, since we always build with gcc-3
-# Also works around https://defect.opensolaris.org/bz/show_bug.cgi?id=19009
-<transform file ->  add pkg.depend.bypass-generate usr/gcc/4.*>
-<transform file ->  add pkg.depend.bypass-generate usr/lib(.*)/libgcc_s.so.1>
-<transform file ->  add pkg.depend.bypass-generate 
usr/lib(.*)/libstdc\\+\\+\\.so.*>
-
  #
  # These aren't really transforms, but are valid defaults for
  # current packages, but not the renamed/obsolete ones, which is

I'm no makefile expert, but the use of -e seems to be right to me. The only thing that I spent awhile thinking about was whether using the developer package as the source of external dependencies was the right thing to do. I'd be a little curious whether pkgdepend -E -e reported any unused external dependencies. For example, while developer/gcc-3 is probably needed to build X, I'd be surprised if it's needed when using X. Similar thoughts with mdb, make, onbld .... You have made me wonder if the developer package should be a superset of the external dependencies though, and whether perhaps we should leverage that in the IPS gate. While I can imagine a package that might be needed to run a program, but not build it, if a developer's testing at all, it seems like they'd need at least all the external dependencies.

Just to double check, the performance improvements you listed were for the entire publication process, not just the change in the time to do pkgdep resolve, correct?

Thanks,
Brock
_______________________________________________
pkg-discuss mailing list
[email protected]
http://mail.opensolaris.org/mailman/listinfo/pkg-discuss

Reply via email to