fritzkink
2023-11-28 0e6b8465e1fa76dd600d4a240e95735e71db5d7c
make-rules/ips.mk
@@ -96,12 +96,7 @@
$(foreach var, $(filter PY3_%_NAMING,$(.VARIABLES)), \
    $(eval $(call add-limiting-variable,$(var))))
ifeq   ($(strip $(COMPONENT_AUTOGEN_MANIFEST)),yes)
AUTOGEN_MANIFEST_TRANSFORMS +=      $(WS_TOP)/transforms/generate-cleanup
else
AUTOGEN_MANIFEST_TRANSFORMS +=      $(WS_TOP)/transforms/drop-all
endif
# For items defined as variables or that may contain whitespace, add
# them to a list to be expanded into PKG_OPTIONS later.
@@ -158,7 +153,6 @@
SAMPLE_MANIFEST_DIR =    $(COMPONENT_DIR)/manifests
SAMPLE_MANIFEST_FILE =   $(SAMPLE_MANIFEST_DIR)/sample-manifest.p5m
GENERIC_MANIFEST_FILE =   $(SAMPLE_MANIFEST_DIR)/generic-manifest.p5m
CANONICAL_MANIFESTS =   $(filter-out dummy.p5m,$(wildcard *.p5m))
ifneq ($(wildcard $(HISTORY)),)
@@ -192,7 +186,7 @@
define ips-print-names-rule
$(shell cat $(1) $(WS_TOP)/transforms/print-pkgs |\
   $(PKGMOGRIFY) $(PKG_OPTIONS) /dev/fd/0 |\
   $(PKGMOGRIFY) $(PKG_OPTIONS) $(call per-manifest-options,$(1:.p5m=)) /dev/fd/0 |\
   sed -e '/^$$/d' -e '/^#.*$$/d' | $(SORT) -u)
endef
@@ -223,7 +217,6 @@
VERSIONED_MANIFEST_TYPES =
UNVERSIONED_MANIFESTS = $(filter-out %-GENFRAG.p5m, $(CANONICAL_MANIFESTS))
GENERATE_GENERIC_TRANSFORMS=
# Look for manifests which need to be duplicated for each version of python.
ifeq ($(findstring -PYVER,$(CANONICAL_MANIFESTS)),-PYVER)
@@ -306,7 +299,6 @@
PRE_PUBLISHED=$(RESOLVED:%.depend.res=%.pre-published)
PUBLISHED=$(RESOLVED:%.depend.res=%.published)
HISTOGRIFIED =      $(HISTORICAL_MANIFESTS:%.p5m=$(MANIFEST_BASE)-%.histogrified)
PUBLISHED +=      $(HISTORICAL_MANIFESTS:%.p5m=$(MANIFEST_BASE)-%.published)
COPYRIGHT_FILE ?=   $(COMPONENT_NAME)-$(COMPONENT_VERSION).copyright
@@ -329,7 +321,7 @@
sample-manifest:   $(GENERATED).p5m
$(GENERATED).p5m:   install $(GENERATE_EXTRA_DEPS)
   [ ! -d $(SAMPLE_MANIFEST_DIR) ] && $(MKDIR) $(SAMPLE_MANIFEST_DIR) || true
   $(MKDIR) $(SAMPLE_MANIFEST_DIR)
   $(PKGSEND) generate $(PKG_HARDLINKS:%=--target %) $(PROTO_DIR) | \
   $(PKGMOGRIFY) $(PKG_OPTIONS) /dev/fd/0 $(GENERATE_TRANSFORMS) | \
      sed -e '/^$$/d' -e '/^#.*$$/d' \
@@ -339,9 +331,6 @@
      $(PKGFMT) | \
      cat $(METADATA_TEMPLATE) - $(GENERATE_EXTRA_CMD) | \
      $(TEE) $@ $(SAMPLE_MANIFEST_FILE) >/dev/null
   if [ "$(GENERATE_GENERIC_TRANSFORMS)X" != "X" ]; \
   then sed $(GENERATE_GENERIC_TRANSFORMS) $(SAMPLE_MANIFEST_FILE) \
      | gawk '!seen[$$0]++' > $(GENERIC_MANIFEST_FILE); fi;
# copy the canonical manifest(s) to the build tree
$(MANIFEST_BASE)-%.generate:   %.p5m canonical-manifests
@@ -474,30 +463,12 @@
           $(WS_TOP)/transforms/mkgeneric $< > $@
   if [ -f $*-GENFRAG.p5m ]; then cat $*-GENFRAG.p5m >> $@; fi
ifeq   ($(strip $(COMPONENT_AUTOGEN_MANIFEST)),yes)
# auto-generate file/directory list
$(MANIFEST_BASE)-%.generated:   %.p5m $(BUILD_DIR)
   (cat $(METADATA_TEMPLATE); \
   $(PKGSEND) generate $(PKG_HARDLINKS:%=--target %) $(PROTO_DIR)) | \
   $(PKGMOGRIFY) $(PKG_OPTIONS) /dev/fd/0 $(AUTOGEN_MANIFEST_TRANSFORMS) | \
      sed -e '/^$$/d' -e '/^#.*$$/d' | $(PKGFMT) | \
      cat $< - >$@
per-manifest-options = $(foreach var,$(PKG_VARS),$(if $($(var).$(1)),-D $(var)="$(strip $($(var).$(1)))")) \
   $(if $(COMPONENT_CLASSIFICATION.$(1)),-D COMPONENT_CLASSIFICATION="org.opensolaris.category.2008:$(strip $(COMPONENT_CLASSIFICATION.$(1)))")
# mogrify non-parameterized manifests
$(MANIFEST_BASE)-%.mogrified:   %.generated $(MAKEFILE_PREREQ)
   $(PKGMOGRIFY) $(PKG_OPTIONS) $< \
      $(PUBLISH_TRANSFORMS) | \
      sed -e '/^$$/d' -e '/^#.*$$/d' | uniq >$@
# mogrify parameterized manifests
$(MANIFEST_BASE)-%.mogrified:   $(MANIFEST_BASE)-%.generated $(MAKEFILE_PREREQ)
   $(PKGMOGRIFY) $(PKG_OPTIONS) $< \
      $(PUBLISH_TRANSFORMS) | \
      sed -e '/^$$/d' -e '/^#.*$$/d' | uniq >$@
else
# mogrify non-parameterized manifests
$(MANIFEST_BASE)-%.mogrified:   %.p5m $(BUILD_DIR) $(MAKEFILE_PREREQ)
   $(PKGMOGRIFY) $(PKG_OPTIONS) $< \
   $(PKGMOGRIFY) $(PKG_OPTIONS) $(call per-manifest-options,$*) $< \
      $(PUBLISH_TRANSFORMS) | \
      sed -e '/^$$/d' -e '/^#.*$$/d' | uniq >$@
@@ -506,7 +477,6 @@
   $(PKGMOGRIFY) $(PKG_OPTIONS) $< \
      $(PUBLISH_TRANSFORMS) | \
      sed -e '/^$$/d' -e '/^#.*$$/d' | uniq >$@
endif
# mangle the file contents
$(BUILD_DIR) $(MANGLED_DIR):
@@ -608,7 +578,7 @@
   @echo "NEW PACKAGE CONTENTS ARE LOCALLY VALIDATED AND READY TO GO"
$(MANIFEST_BASE)-%.histogrified: $(MANIFEST_BASE)-%.p5m
   $(PKGMOGRIFY) $(PKG_OPTIONS) $< > $@
   $(PKGMOGRIFY) -D CONSOLIDATION="$(CONSOLIDATION)" $< > $@
# Push to the repo
$(MANIFEST_BASE)-%.published:   $(MANIFEST_BASE)-%.pre-published
@@ -630,7 +600,8 @@
      $(foreach t,$(VERSIONED_MANIFEST_TYPES),$(call ips-print-depend-require-type-rule,$(t))) | tr ' ' '\n'
print-package-names:   canonical-manifests $(MKGENERIC_SCRIPTS)
   @echo $(call ips-print-names-rule,$(NONVER_MANIFESTS)) \
   @echo $(foreach m,$(NONVER_MANIFESTS),\
      $(call ips-print-names-rule,$(m))) \
       $(foreach t,$(VERSIONED_MANIFEST_TYPES),\
           $(call ips-print-names-type-rule,$(t))) \
       | tr ' ' '\n'