David Stes
2024-03-31 8cdd197ba643eb2608c5aab87567625bb9336cee
doc/packaging.txt
@@ -70,7 +70,6 @@
        $(MACH)
        $(MACH32)
        $(MACH64)
        $(IPS_PKG_NAME)
        $(PUBLISHER)
        $(CONSOLIDATION)
        $(BUILD_VERSION)
@@ -103,13 +102,32 @@
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 include a static list of these packages in
    your component Makefile REQUIRED_PACKAGES macro. You can automatically
    add REQURIED_PACKAGES settings for the packages used in dependency
    resolution by running "gmake REQUIRED_PACKAGES". Once you have done so,
    you should manually verify the Makefile additions. Having extra
    packages in there is safe.
    This list is kept as the REQUIRED_PACKAGES list in your component
    Makefile, which you must append to (as shared-rules introduce some
    packages there themselves for your benefit).
    To test, run "gmake clean" and re-publish.
    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 lists sorted.
Manifest Validation
    The resolved manifest(s) and prototype install tree are passed through