Howdy-- I'm working with Liane on directly generating an IPS repository from an ON build. When I parallelized the publication of packages to the repo, using a file: URI, I hit a PartialIndexingException.
I've worked around that by starting up pkg.depotd and using an http: URI, but that seems suboptimal. When I experimented with turning off automatic indexing at transaction close, I found that I could switch back to a file: URI, and that (on my machine, with moderate parallelism) this saved me 25% real build time. (Building an entire ON repo dropped from 4m to 3m.) So that leaves me with a couple of questions for y'all: 1. The transaction.close() method already takes a refresh_index argument, which defaults to True. My experiments above involved setting refresh_index=False in my pkgsend invocation, and modifying pkgsend on my system to pass pargs to t.close(): % diff publish.py /usr/bin/pkgsend 161c161 < pkg_state, pkg_fmri = t.close(abandon) --- > pkg_state, pkg_fmri = t.close(abandon, pargs) % ...is it inappropriate to pass additional command line arguments on from pkgsend to transaction methods (not just t.close, but all of em)? Or is pkgsend intended to help keep private interfaces private? If the latter, should pkgsend test for non-empty pargs after pulling out the options that it parses? 2. Is it safe to rely on pkg.depotd rebuilding its indices on startup? Or does it need to grow a command line interface to trigger this? Or do I simply do (N - 1) publications with refresh_index=False, and then make sure the last one has refresh_index=True? --Mark _______________________________________________ pkg-discuss mailing list [email protected] http://mail.opensolaris.org/mailman/listinfo/pkg-discuss
