doc/packaging.txt
changeset 1235 413599fe2d31
parent 255 52abf74b9323
child 1393 300d3de848bb
child 3476 c35c8f1a6df1
--- a/doc/packaging.txt	Thu Mar 28 08:49:28 2013 -0700
+++ b/doc/packaging.txt	Thu Mar 28 13:51:30 2013 -0700
@@ -102,13 +102,33 @@
 
 Dependencies Resolved
     The manifest with unresolved dependencies is passed through pkgdepend(1)
-    again to resolve dependencies against the package repositories.  The
-    result is a manifest that is suitable for publication.  All these
-    manifests are processed together in a single step, which is more
-    efficient than resolving dependencies in each manifest separately.
-    While each manifest ends up with a .depend.res copy in the build
-    directory, the umbrella dependency resolution target is
-    {build-dir}/.resolved-$(MACH).
+    again to resolve dependencies against the package repositories.  The result
+    is a manifest that is suitable for publication.  All these manifests are
+    processed together in a single step, which is more efficient than resolving
+    dependencies in each manifest separately.  While each manifest ends up with
+    a .depend.res copy in the build directory, the umbrella dependency
+    resolution target is {build-dir}/.resolved-$(MACH).
+
+    The resolution step is also set up to use the -e flag to pkgdepend resolve,
+    which limits the set of packages it looks at to resolve the dependencies it
+    generated in the previous step.  This makes the resolution step a great deal
+    faster, but requires that you keep a static list of these packages checked
+    into the workspace, and update it when packages are added to it.  Having
+    extra packages in there is safe.
+
+    In order to create this list, build and publish your component (or at least
+    through the resolution stage) without a file "resolve.deps" in the component
+    directory, and run "gmake sample-resolve.deps".  If the file is empty (that
+    is, no computed dependencies were found), a warning will be emitted and the
+    file will be removed, as pkgdepend currently errors out in that case.
+
+    To test, run "gmake clean" and re-publish.
+
+    Don't forget to "hg add resolve.deps"!
+
+    Note that there is a possibility the list of dependencies will be different
+    on different architectures, so you should run this on both sparc and x86,
+    and combine the two lists.  Please keep the files sorted.
 
 Manifest Validation
     The resolved manifest(s) and prototype install tree are passed through