components/meta-packages/history/Makefile
branchs11u3-sru
changeset 5632 4056b7992034
parent 4411 45579acd1602
child 7036 9bdfcd8747ba
--- a/components/meta-packages/history/Makefile	Sat Mar 19 10:21:10 2016 -0700
+++ b/components/meta-packages/history/Makefile	Tue Mar 08 07:26:50 2016 -0800
@@ -18,7 +18,7 @@
 #
 # CDDL HEADER END
 #
-# Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2011, 2016, Oracle and/or its affiliates. All rights reserved.
 #
 
 include ../../../make-rules/shared-macros.mk
@@ -35,14 +35,29 @@
 COMPONENT_NAME=		"Package History"
 COMPONENT_BUGDB=	gate-stuff/userland
 
+GENERATE_HISTORY=	$(WS_TOOLS)/generate-history
+HISTORY=		history
+
+MANIFEST_BASE =		$(BUILD_DIR)/manifest-$(MACH)
+
 CANONICAL_MANIFESTS =	$(wildcard *.p5m)
+HISTORICAL_MANIFESTS =	$(shell $(NAWK) -v FUNCTION=name -f $(GENERATE_HISTORY) < $(HISTORY))
 ARCH_MANIFESTS =	$(wildcard *.p5m.$(MACH))
 GENERATED_ARCH_MANIFESTS =	$(ARCH_MANIFESTS:%.p5m.$(MACH)=%.p5m)
 CANONICAL_MANIFESTS +=  $(GENERATED_ARCH_MANIFESTS)
 
-MANIFEST_BASE =		$(BUILD_DIR)/manifest-$(MACH)
 MOGRIFIED =		$(CANONICAL_MANIFESTS:%.p5m=$(MANIFEST_BASE)-%.mogrified)
+HISTOGRIFIED =		$(HISTORICAL_MANIFESTS:%.p5m=$(MANIFEST_BASE)-%.histogrified)
 PUBLISHED =		$(CANONICAL_MANIFESTS:%.p5m=$(MANIFEST_BASE)-%.published)
+PUBLISHED +=		$(HISTORICAL_MANIFESTS:%.p5m=$(MANIFEST_BASE)-%.published)
+
+# Rule to generate historical manifests from the $(HISTORY) file.
+define history-manifest-rule
+$(MANIFEST_BASE)-$(1): $(HISTORY) $(BUILD_DIR)
+	$(NAWK) -v FUNCTION=manifest -v TARGET=$1 -f $(GENERATE_HISTORY) < \
+	    $(HISTORY) > $$@
+endef
+$(foreach mfst,$(HISTORICAL_MANIFESTS),$(eval $(call history-manifest-rule,$(mfst))))
 
 PKG_MACROS =		CONSOLIDATION=$(CONSOLIDATION)
 PKG_MACROS +=		BUILD_VERSION=$(BUILD_VERSION)
@@ -60,11 +75,19 @@
 	$(PKGMOGRIFY) $(PKG_OPTIONS) $< \
 	              $(WS_TOP)/transforms/incorporate > $@
 
+$(MANIFEST_BASE)-%.histogrified: $(MANIFEST_BASE)-%.p5m $(BUILD_DIR)
+	$(PKGMOGRIFY) $(PKG_OPTIONS) $< \
+	              $(WS_TOP)/transforms/incorporate > $@
+
 $(MANIFEST_BASE)-%.published: $(MANIFEST_BASE)-%.mogrified $(BUILD_DIR)
 	$(PKGSEND) -s $(PKG_REPO) publish --fmri-in-manifest --no-catalog $<
 	$(CP) $< $@
 
-$(BUILD_DIR)/.linted-$(MACH): $(MOGRIFIED) $(BUILD_DIR)
+$(MANIFEST_BASE)-%.published: $(MANIFEST_BASE)-%.histogrified $(BUILD_DIR)
+	$(PKGSEND) -s $(PKG_REPO) publish --fmri-in-manifest --no-catalog $<
+	$(CP) $< $@
+
+$(BUILD_DIR)/.linted-$(MACH): $(MOGRIFIED) $(HISTOGRIFIED) $(BUILD_DIR)
 	$(ENV) PYTHONPATH=$(WS_TOOLS)/python \
 		SOLARIS_VERSION=$(SOLARIS_VERSION) \
 		$(PKGLINT) $(CANONICAL_REPO:%=-c $(WS_LINT_CACHE)) \