--- a/make-rules/ips.mk Tue Mar 22 10:33:36 2011 -0700
+++ b/make-rules/ips.mk Tue Mar 22 16:12:59 2011 -0700
@@ -85,20 +85,17 @@
MANIFESTS = $(CANONICAL_MANIFESTS:%=$(MANIFEST_BASE)-%)
-MOGRIFIED=$(CANONICAL_MANIFESTS:%.p5m=$(MANIFEST_BASE)-%.resolved)
-PUBLISHED=$(MOGRIFIED:%.resolved=%.published)
+RESOLVED=$(CANONICAL_MANIFESTS:%.p5m=$(MANIFEST_BASE)-%.resolved)
+PUBLISHED=$(RESOLVED:%.resolved=%.published)
COPYRIGHT_FILE = $(COMPONENT_NAME)-$(COMPONENT_VERSION).copyright
-ifeq ($(IPS_PKG_NAME),)
- IPS_PKG_NAME = $(COMPONENT_NAME)
-endif
-IPS_COMPONENT_VERSION = $(COMPONENT_VERSION)
+IPS_COMPONENT_VERSION ?= $(COMPONENT_VERSION)
.DEFAULT: publish
.SECONDARY:
-publish: install $(BUILD_DIR)/.published
+publish: install $(BUILD_DIR)/.published-$(MACH)
sample-manifest: $(GENERATED).p5m
@@ -131,22 +128,26 @@
sed -e '/^$$/d' -e '/^#.*$$/d' ; \
$(PKGDEPEND) resolve -o $< | sed -e '1d') | uniq >$@
-# lint the manifest before we publish with it.
-$(MANIFEST_BASE)-%.linted: $(MANIFEST_BASE)-%.resolved
- @echo "VALIDATING MANIFEST CONTENT: $<"
+$(BUILD_DIR)/.resolved-$(MACH): $(RESOLVED)
+ $(TOUCH) $@
+
+# lint the manifests all at once
+$(BUILD_DIR)/.linted-$(MACH): $(BUILD_DIR)/.resolved-$(MACH)
+ @echo "VALIDATING MANIFEST CONTENT: $(RESOLVED)"
$(ENV) PYTHONPATH=$(WS_TOOLS)/python PROTO_PATH="$(PKG_PROTO_DIRS)"\
$(PKGLINT) $(CANONICAL_REPO:%=-c $(WS_LINT_CACHE)) \
- -f $(WS_TOOLS)/pkglintrc $<
- $(PKGFMT) <$< >$@
+ -f $(WS_TOOLS)/pkglintrc $(RESOLVED)
+ $(TOUCH) $@
+
# published
PKGSEND_PUBLISH_OPTIONS = -s $(PKG_REPO) publish --fmri-in-manifest
PKGSEND_PUBLISH_OPTIONS += $(PKG_PROTO_DIRS:%=-d %)
-$(MANIFEST_BASE)-%.published: $(MANIFEST_BASE)-%.linted
+$(MANIFEST_BASE)-%.published: $(MANIFEST_BASE)-%.resolved $(BUILD_DIR)/.linted-$(MACH)
$(PKGSEND) $(PKGSEND_PUBLISH_OPTIONS) $<
$(PKGFMT) <$< >$@
-$(BUILD_DIR)/.published: $(PUBLISHED)
+$(BUILD_DIR)/.published-$(MACH): $(PUBLISHED)
$(TOUCH) $@
print-package-names: canonical-manifests
@@ -169,7 +170,7 @@
echo "unsafe to install package(s) automatically" ; \
fi
-$(MOGRIFIED): install
+$(RESOLVED): install
canonical-manifests: $(CANONICAL_MANIFESTS) Makefile $(PATCHES)
ifeq ($(strip $(CANONICAL_MANIFESTS)),)