On 03/21/12 04:29 PM, Brock Pytlik wrote: > 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.
Right - it seemed reasonable to me as the runtime dependencies have to be a subset of the build time dependencies for pkgdepend to be able to resolve them. I had thought about adding a local attribute to the dependency file to be able to filter those out in pkgmogrify, but for X that seemed like overkill, since the win is reducing from hundreds of packages down to 62, and taking it down to what I figured would be 50-something didn't seem worth the additional effort and ongoing maintenance. To check with -E, I had to remove build-i386/developer-opensolaris-X.dep from the list of packages to resolve, or it found them all in there and reported none were extra. That actually reported 44 of the 62 were excess to requirements, far more than I expected, so I went ahead and added the attribute and filtering to it. Revised webrev: https://cr.opensolaris.org/action/browse/x-cons/alanc/7155045/webrev-v2/ > 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? Yes - they include the pkglint, pkgmogrify, pkgsend, etc. steps. For just the pkgdepend resolve step, on my Ultra 27 the difference was: Without -e (resolving against 1369 pkgs): 144.95u 2.12s 2:27.36 99.8% First attempt at -e (66 pkgs): 10.56u 0.18s 0:10.83 99.1% Revised attempt at -e (18 pkgs): 7.24u 0.14s 0:07.48 98.6% But the real test is on our T2 build server, where the numbers from just pkgdepend resolve were: Without -e (resolving against 798 pkgs): 669.62u 10.06s 11:22.11 99.6% First attempt at -e (66 pkgs): 117.16u 1.66s 2:02.55 96.9% Revised attempt at -e (18 pkgs): 81.71u 0.82s 1:22.73 99.7% -- -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
