16 # fields enclosed by brackets "[]" replaced with your own identifying |
16 # fields enclosed by brackets "[]" replaced with your own identifying |
17 # information: Portions Copyright [yyyy] [name of copyright owner] |
17 # information: Portions Copyright [yyyy] [name of copyright owner] |
18 # |
18 # |
19 # CDDL HEADER END |
19 # CDDL HEADER END |
20 # |
20 # |
21 # Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved. |
21 # Copyright (c) 2011, 2016, Oracle and/or its affiliates. All rights reserved. |
22 # |
22 # |
23 |
23 |
24 include ../../../make-rules/shared-macros.mk |
24 include ../../../make-rules/shared-macros.mk |
25 |
25 |
26 # $(WS_MAKE_RULES)/ips.mk really isn't set up to allow you to bypass all |
26 # $(WS_MAKE_RULES)/ips.mk really isn't set up to allow you to bypass all |
33 PKGMOGRIFY = /usr/bin/pkgmogrify |
33 PKGMOGRIFY = /usr/bin/pkgmogrify |
34 |
34 |
35 COMPONENT_NAME= "Package History" |
35 COMPONENT_NAME= "Package History" |
36 COMPONENT_BUGDB= gate-stuff/userland |
36 COMPONENT_BUGDB= gate-stuff/userland |
37 |
37 |
|
38 GENERATE_HISTORY= $(WS_TOOLS)/generate-history |
|
39 HISTORY= history |
|
40 |
|
41 MANIFEST_BASE = $(BUILD_DIR)/manifest-$(MACH) |
|
42 |
38 CANONICAL_MANIFESTS = $(wildcard *.p5m) |
43 CANONICAL_MANIFESTS = $(wildcard *.p5m) |
|
44 HISTORICAL_MANIFESTS = $(shell $(NAWK) -v FUNCTION=name -f $(GENERATE_HISTORY) < $(HISTORY)) |
39 ARCH_MANIFESTS = $(wildcard *.p5m.$(MACH)) |
45 ARCH_MANIFESTS = $(wildcard *.p5m.$(MACH)) |
40 GENERATED_ARCH_MANIFESTS = $(ARCH_MANIFESTS:%.p5m.$(MACH)=%.p5m) |
46 GENERATED_ARCH_MANIFESTS = $(ARCH_MANIFESTS:%.p5m.$(MACH)=%.p5m) |
41 CANONICAL_MANIFESTS += $(GENERATED_ARCH_MANIFESTS) |
47 CANONICAL_MANIFESTS += $(GENERATED_ARCH_MANIFESTS) |
42 |
48 |
43 MANIFEST_BASE = $(BUILD_DIR)/manifest-$(MACH) |
|
44 MOGRIFIED = $(CANONICAL_MANIFESTS:%.p5m=$(MANIFEST_BASE)-%.mogrified) |
49 MOGRIFIED = $(CANONICAL_MANIFESTS:%.p5m=$(MANIFEST_BASE)-%.mogrified) |
|
50 HISTOGRIFIED = $(HISTORICAL_MANIFESTS:%.p5m=$(MANIFEST_BASE)-%.histogrified) |
45 PUBLISHED = $(CANONICAL_MANIFESTS:%.p5m=$(MANIFEST_BASE)-%.published) |
51 PUBLISHED = $(CANONICAL_MANIFESTS:%.p5m=$(MANIFEST_BASE)-%.published) |
|
52 PUBLISHED += $(HISTORICAL_MANIFESTS:%.p5m=$(MANIFEST_BASE)-%.published) |
|
53 |
|
54 # Rule to generate historical manifests from the $(HISTORY) file. |
|
55 define history-manifest-rule |
|
56 $(MANIFEST_BASE)-$(1): $(HISTORY) $(BUILD_DIR) |
|
57 $(NAWK) -v FUNCTION=manifest -v TARGET=$1 -f $(GENERATE_HISTORY) < \ |
|
58 $(HISTORY) > $$@ |
|
59 endef |
|
60 $(foreach mfst,$(HISTORICAL_MANIFESTS),$(eval $(call history-manifest-rule,$(mfst)))) |
46 |
61 |
47 PKG_MACROS = CONSOLIDATION=$(CONSOLIDATION) |
62 PKG_MACROS = CONSOLIDATION=$(CONSOLIDATION) |
48 PKG_MACROS += BUILD_VERSION=$(BUILD_VERSION) |
63 PKG_MACROS += BUILD_VERSION=$(BUILD_VERSION) |
49 PKG_MACROS += OS_VERSION=$(OS_VERSION) |
64 PKG_MACROS += OS_VERSION=$(OS_VERSION) |
50 |
65 |
58 |
73 |
59 $(MANIFEST_BASE)-%.mogrified: %.p5m $(BUILD_DIR) |
74 $(MANIFEST_BASE)-%.mogrified: %.p5m $(BUILD_DIR) |
60 $(PKGMOGRIFY) $(PKG_OPTIONS) $< \ |
75 $(PKGMOGRIFY) $(PKG_OPTIONS) $< \ |
61 $(WS_TOP)/transforms/incorporate > $@ |
76 $(WS_TOP)/transforms/incorporate > $@ |
62 |
77 |
|
78 $(MANIFEST_BASE)-%.histogrified: $(MANIFEST_BASE)-%.p5m $(BUILD_DIR) |
|
79 $(PKGMOGRIFY) $(PKG_OPTIONS) $< \ |
|
80 $(WS_TOP)/transforms/incorporate > $@ |
|
81 |
63 $(MANIFEST_BASE)-%.published: $(MANIFEST_BASE)-%.mogrified $(BUILD_DIR) |
82 $(MANIFEST_BASE)-%.published: $(MANIFEST_BASE)-%.mogrified $(BUILD_DIR) |
64 $(PKGSEND) -s $(PKG_REPO) publish --fmri-in-manifest --no-catalog $< |
83 $(PKGSEND) -s $(PKG_REPO) publish --fmri-in-manifest --no-catalog $< |
65 $(CP) $< $@ |
84 $(CP) $< $@ |
66 |
85 |
67 $(BUILD_DIR)/.linted-$(MACH): $(MOGRIFIED) $(BUILD_DIR) |
86 $(MANIFEST_BASE)-%.published: $(MANIFEST_BASE)-%.histogrified $(BUILD_DIR) |
|
87 $(PKGSEND) -s $(PKG_REPO) publish --fmri-in-manifest --no-catalog $< |
|
88 $(CP) $< $@ |
|
89 |
|
90 $(BUILD_DIR)/.linted-$(MACH): $(MOGRIFIED) $(HISTOGRIFIED) $(BUILD_DIR) |
68 $(ENV) PYTHONPATH=$(WS_TOOLS)/python \ |
91 $(ENV) PYTHONPATH=$(WS_TOOLS)/python \ |
69 SOLARIS_VERSION=$(SOLARIS_VERSION) \ |
92 SOLARIS_VERSION=$(SOLARIS_VERSION) \ |
70 $(PKGLINT) $(CANONICAL_REPO:%=-c $(WS_LINT_CACHE)) \ |
93 $(PKGLINT) $(CANONICAL_REPO:%=-c $(WS_LINT_CACHE)) \ |
71 -f $(WS_TOOLS)/pkglintrc $(MOGRIFIED) |
94 -f $(WS_TOOLS)/pkglintrc $(MOGRIFIED) |
72 $(TOUCH) $@ |
95 $(TOUCH) $@ |