From 8cdd197ba643eb2608c5aab87567625bb9336cee Mon Sep 17 00:00:00 2001
From: David Stes <55844484+cstes@users.noreply.github.com>
Date: Sun, 31 Mar 2024 18:41:25 +0200
Subject: [PATCH] opensmalltalk cog-spur: update to 5.0.3356

---
 doc/packaging.txt |   61 ++++++++++++++++++++++--------
 1 files changed, 44 insertions(+), 17 deletions(-)

diff --git a/doc/packaging.txt b/doc/packaging.txt
index db1c8e2..aca3680 100644
--- a/doc/packaging.txt
+++ b/doc/packaging.txt
@@ -17,23 +17,27 @@
             |
             v
     mogrified manifest
-    (.../{component}/{build-dir}/manifest-$(ARCH)-{component}.mogrified)
+    (.../{component}/{build-dir}/manifest-$(MACH)-{component}.mogrified)
+            |
+            v
+    mangled manifest file contents
+    (.../{component}/{build-dir}/manifest-$(ARCH)-{component}.mangled)
             |
             v
     dependencies generated
-    (.../{component}/{build-dir}/manifest-$(ARCH)-{component}.depend)
+    (.../{component}/{build-dir}/manifest-$(MACH)-{component}.depend)
             |
             v
     dependencies resolved
-    (.../{component}/{build-dir}/manifest-$(ARCH)-{component}.resolved)
+    (.../{component}/{build-dir}/manifest-$(MACH)-{component}.depend.res)
             |
             v
     manifest validation
-    (.../{component}/{build-dir}/manifest-$(ARCH)-{component}.linted)
+    (.../{component}/{build-dir}/.linted-$(MACH))
             |
             v
     publication manifest
-    (.../{component}/{build-dir}/manifest-$(ARCH)-{component}.published)
+    (.../{component}/{build-dir}/manifest-$(MACH)-{component}.published)
             |
             v
     publication
@@ -44,7 +48,7 @@
     automatically from the data encapsulated in the component Makefile, gate
     transformations, build tree, and packaging tools.  This includes actions
     for license information, some path related attributes, legacy actions, 
-    non-discoverable dependencies, user, group, driver, and others.
+    non-discoverable dependencies, users, groups, drivers, and others.
 
     Actions that are associated with objects that are specific to a single
     architecture should be tagged with a 'variant.arch' attribute specific to
@@ -57,9 +61,8 @@
     license actions should be placed in the canonical manifest.
 
 Mogrified Manifest
-    The canonical manifest is combined with a template manifest header at
-    $(WS_TOP)/transforms/manifest-metadata-template, a set of the transforms
-    in $(WS_TOP)/transforms, and a set of macros are combined to more complete
+    The canonical manifest is combined with a set of the transforms
+    in $(WS_TOP)/transforms, and a set of macros to more complete
     package manifest using pkgmogrify(1).  The transforms apply default
     attributes to the various actions in the canonical manifest(s).  More
     detail about the attributes can be found in the transform file themselves.
@@ -67,13 +70,13 @@
         $(MACH)
         $(MACH32)
         $(MACH64)
-        $(IPS_PKG_NAME)
         $(PUBLISHER)
         $(CONSOLIDATION)
         $(BUILD_VERSION)
         $(SOLARIS_VERSION)
         $(OS_VERSION)
-        $(IPS_COMPONENTVERSION)
+        $(IPS_COMPONENT_VERSION)
+        $(COMPONENT_VERSION)
         $(COMPONENT_PROJECT_URL)
         $(COMPONENT_ARCHIVE_URL)
 
@@ -81,9 +84,9 @@
     The mogrified manifest and the prototype install tree are passed through
     pkgdepend(1) to generate a set of dependencies for the package content.
     These dependencies are only those that "pkgdepend generate" can determine
-    on it's own.  Additional dependencies that can not be automatically
+    on its own.  Additional dependencies that cannot be automatically
     determined by pkgdepend(1) should be placed in the canonical manifest.
-    Staticly defined dependencies should be described in a canonical manifest
+    Statically defined dependencies should be described in a canonical manifest
     in an unresolved form (ie. the form generated by "pkgdepend generate").
     Ex:
 	    depend fmri=__TBD pkg.debug.depend.file=etc/passwd \
@@ -98,15 +101,39 @@
     package(s).
 
 Dependencies Resolved
-    The manifest with unresovled dependencies is passed through pkgdepend(1)
-    again to resolve dependencies against the package repositories.  The
-    result is a manifest that is suitable for publication.
+    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).
+
+    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
     a set of validations.  This includes running pkglint(1), comparing the
     manifest content to the prototype install tree, and validation of the file
-    content of the prototype install tree.  Any anomolies are reported.
+    content of the prototype install tree.  Any anomalies are reported.
     Content validation is performed by extension to pkglint(1) in
     $(WS_TOP)/tools/python/userland-lint
 

--
Gitblit v1.9.3