make-rules/ips.mk
author Danek Duvall <danek.duvall@oracle.com>
Mon, 20 Apr 2015 12:35:51 -0700
branchs11u2-sru
changeset 4156 4b1def16fe9b
parent 3544 bcc54fcde38a
permissions -rw-r--r--
PSARC 2015/110 OpenStack service updates for Juno PSARC 2014/302 oslo.messaging - OpenStack RPC and notifications PSARC 2014/303 concurrent.futures - high-level Python interface for asynchronous execution PSARC 2014/304 networkx - Python module for complex networks PSARC 2014/305 taskflow - Python module for task execution PSARC 2014/329 pycadf - Python interface for CADF (cloud auditing) PSARC 2014/330 posix_ipc - POSIX IPC primitives for Python PSARC 2014/331 oauthlib - Python implementation of OAuth request-signing logic PSARC 2014/377 noVNC - A browser based VNC client PSARC 2015/058 oslo - OpenStack common libraries (context, db, i18n, middleware, serialization, utils, vmware) PSARC 2015/059 glance_store - Glance storage library PSARC 2015/060 ipaddr - an IPv4/IPv6 manipulation library in Python PSARC 2015/061 simplegeneric - single-dispatch generic Python functions PSARC 2015/062 wsme - Web Services Made Easy PSARC 2015/063 retrying - General purpose Python retrying library PSARC 2015/065 osprofiler - an OpenStack cross-project profiling library PSARC 2015/066 OpenStack client for Sahara (Hadoop as a Service) PSARC 2015/067 keystonemiddleware - Middleware for OpenStack Identity PSARC 2015/068 pyScss - Compiler for the SCSS flavor of the Sass language PSARC 2015/069 django-pyscss - pyScss support for Django PSARC 2015/073 barbicanclient - OpenStack client for Barbican (Key Management) PSARC 2015/074 pysendfile - Python interface to sendfile PSARC 2015/097 ldappool - a connection pool for python-ldap PSARC 2015/098 rfc3986 - URI reference validation module for Python PSARC 2015/102 iniparse - python .ini file parsing module 20667775 OpenStack service updates for Juno (Umbrella) 17511386 sqlalchemy-migrate should lose its bypass-gen tags once sqlalchemy is in the CBE 18293987 /usr/bin/alembic should be shipped 18293992 boto's demo scripts aren't delivered executable 18377642 py.test has a requirement on py 18615101 Horizon should prevent network, subnet, and port names with hyphens in them 18772068 instance failed to launch with NoValidHost but no reason 18887457 openstack shouldn't deliver .po files 18905324 hostname.xml should set config/ignore_dhcp_hostname = true 18961031 Duplicate names for role-create and user-create are allowed 19015363 Users should not be allowed to attempt to create volumes when quota exceed 19044301 boto's dependencies need work 19050335 user appears logged in but unauthorised after horizon reboot 19131218 solaris.css: 'Delete Interface' button in Router pop-up menu broken 19131507 solaris.css: 'Project Limits' section of Launch Instance pop-up menu broken 19144215 Instance manipulation buttons greyed out after all instances terminated 19249066 heat stack-preview doesn't appear to do anything 19313272 Need bottom slidebar in horizon for small browser windows 19439030 'nova migration-list' returns python error 19462265 The Python module oslo.messaging should be added to Userland 19462397 The Python module futures should be added to Userland 19476604 The Python module networkx should be added to Userland 19476953 The Python module taskflow should be added to Userland 19519227 The Python module pycadf should be added to Userland 19557488 The noVNC client should be added to Userland 19582394 The Python module posix_ipc should be added to Userland 19596691 instance failed to launch, cinder hit resource busy in stmfadm 19598430 The Python module oauthlib should be added to Userland 19649055 FC connection fails when the target_lun is assigned 0 19815780 nova package should have dependencies on brand-solaris and brand-solaris-kz 19883623 Image snapshots are missing 'instance_uuid' property 19887874 horizon should set up apache log rotation 19888859 six should enable its tests now. 19987962 Cinder lists additional volumes attached to instance with linuxy device names 20046570 rabbitmq & rad-evs-controller should be added to group package 20052466 remove _ai_health_check() from driver.py now that 18857274 is integrated 20164815 The Python module django-pyscss should be added to Userland 20173049 The Python module retrying should be added to Userland 20174489 The Python module WSME should be added to Userland 20176001 The Python module keystonemiddleware should be added to Userland 20182039 The Python module pysendfile should be added to Userland 20200162 The Python module pyScss should be added to Userland 20202461 Websockify is broken on SPARC because of unnecessary byte swapping 20202582 Solaris zones nova compute driver needs console access support 20222184 horizon doesn't send start request on shutdown instance 20312312 The Python module python-saharaclient should be added to Userland 20388250 problem in SERVICE/GLANCE 20433402 The fix for 20388250 is incomplete 20514287 wrong vnic label name used for dhcp vnic in evs 20596802 The Python module oslo.middleware should be added to Userland 20596803 The Python module barbicanclient should be added to Userland 20596804 The Python module oslo.context should be added to Userland 20596805 The Python module iniparse should be added to Userland 20596806 The Python module oslo.vmware should be added to Userland 20596807 The Python module osprofiler should be added to Userland 20596808 The Python module oslo.i18n should be added to Userland 20596809 The Python module oslo.utils should be added to Userland 20596811 The Python module ipaddr should be added to Userland 20596812 The Python module glance_store should be added to Userland 20596813 The Python module oslo.serialization should be added to Userland 20596814 The Python module oslo.db should be added to Userland 20596815 The Python module simplegeneric should be added to Userland 20602690 The Python module ldappool should be added to Userland 20602722 The Python module rfc3986 should be added to Userland 20638369 compilemessages.py requires GNU msgfmt without calling gmsgfmt 20715741 cinder 2014.2.2 20715742 glance 2014.2.2 20715743 heat 2014.2.2 20715744 horizon 2014.2.2 20715745 keystone 2014.2.2 20715746 neutron 2014.2.2 20715747 nova 2014.2.2 20715748 swift 2.2.2 20715749 alembic 0.7.4 20715750 amqp 1.4.6 20715751 boto 2.34.0 20715752 ceilometerclient 1.0.12 20715753 cinderclient 1.1.1 20715754 cliff 1.9.0 20715756 django 1.4.19 20739229 Update django to 1.4.20 20715757 django_compressor 1.4 20715758 django_openstack_auth 1.1.9 20715759 eventlet 0.15.2 20715761 glanceclient 0.15.0 20715762 greenlet 0.4.5 20715763 heatclient 0.2.12 20715764 keystoneclient 1.0.0 20715765 kombu 3.0.7 20715766 mysql 1.2.5 20715767 netaddr 0.7.13 20715769 netifaces 0.10.4 20715770 neutronclient 2.3.10 20715771 novaclient 2.20.0 20715772 oslo.config 1.6.0 20715773 py 1.4.26 20715774 pyflakes 0.8.1 20715775 pytest 2.6.4 20715776 pytz 2014.10 20715777 requests 2.6.0 20715778 simplejson 3.6.5 20715779 six 1.9.0 20715780 sqlalchemy-migrate 0.9.1 20715781 sqlalchemy 0.9.8 20715782 stevedore 1.2.0 20715783 swiftclient 2.3.1 20715784 tox 1.8.1 20715785 troveclient 1.0.8 20715786 virtualenv 12.0.7 20715787 websockify 0.6.0 20739215 problem in PYTHON-MOD/DJANGO 20739295 problem in PYTHON-MOD/DJANGO 20816861 zone-vnc-console instance goes in to maintenance 20829672 support flat network type in neutron
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
2
125cd5d2cd9e include gmake example
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
     1
#
125cd5d2cd9e include gmake example
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
     2
# CDDL HEADER START
125cd5d2cd9e include gmake example
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
     3
#
125cd5d2cd9e include gmake example
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
     4
# The contents of this file are subject to the terms of the
125cd5d2cd9e include gmake example
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
     5
# Common Development and Distribution License (the "License").
125cd5d2cd9e include gmake example
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
     6
# You may not use this file except in compliance with the License.
125cd5d2cd9e include gmake example
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
     7
#
125cd5d2cd9e include gmake example
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
     8
# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
125cd5d2cd9e include gmake example
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
     9
# or http://www.opensolaris.org/os/licensing.
125cd5d2cd9e include gmake example
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
    10
# See the License for the specific language governing permissions
125cd5d2cd9e include gmake example
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
    11
# and limitations under the License.
125cd5d2cd9e include gmake example
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
    12
#
125cd5d2cd9e include gmake example
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
    13
# When distributing Covered Code, include this CDDL HEADER in each
125cd5d2cd9e include gmake example
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
    14
# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
125cd5d2cd9e include gmake example
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
    15
# If applicable, add the following below this CDDL HEADER, with the
125cd5d2cd9e include gmake example
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
    16
# fields enclosed by brackets "[]" replaced with your own identifying
125cd5d2cd9e include gmake example
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
    17
# information: Portions Copyright [yyyy] [name of copyright owner]
125cd5d2cd9e include gmake example
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
    18
#
125cd5d2cd9e include gmake example
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
    19
# CDDL HEADER END
125cd5d2cd9e include gmake example
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
    20
#
4156
4b1def16fe9b PSARC 2015/110 OpenStack service updates for Juno
Danek Duvall <danek.duvall@oracle.com>
parents: 3544
diff changeset
    21
# Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved.
2
125cd5d2cd9e include gmake example
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
    22
#
125cd5d2cd9e include gmake example
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
    23
125cd5d2cd9e include gmake example
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
    24
#
125cd5d2cd9e include gmake example
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
    25
# Rules and Macros for generating an IPS package manifest and publishing an
125cd5d2cd9e include gmake example
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
    26
# IPS package to a pkg depot.
125cd5d2cd9e include gmake example
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
    27
#
125cd5d2cd9e include gmake example
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
    28
# To use these rules, include ../make-rules/ips.mk in your Makefile
125cd5d2cd9e include gmake example
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
    29
# and define an "install" target appropriate to building your component.
125cd5d2cd9e include gmake example
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
    30
# Ex:
125cd5d2cd9e include gmake example
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
    31
#
59
7500d63edb42 7012375 userland build and proto areas should be outside of unpacked source dirs
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 53
diff changeset
    32
#	install:	$(BUILD_DIR)/build/$(MACH32)/.installed \
7500d63edb42 7012375 userland build and proto areas should be outside of unpacked source dirs
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 53
diff changeset
    33
#	 		$(BUILD_DIR)/build/$(MACH64)/.installed
2
125cd5d2cd9e include gmake example
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
    34
#
125cd5d2cd9e include gmake example
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
    35
# This set of rules makes the "publish" target the default target for make(1)
125cd5d2cd9e include gmake example
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
    36
#
125cd5d2cd9e include gmake example
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
    37
26
8a9f4e791832 packaging changes including canonical manifest support with manifest validation
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 22
diff changeset
    38
PKGDEPEND =	/usr/bin/pkgdepend
8a9f4e791832 packaging changes including canonical manifest support with manifest validation
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 22
diff changeset
    39
PKGFMT =	/usr/bin/pkgfmt
2
125cd5d2cd9e include gmake example
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
    40
PKGMOGRIFY =	/usr/bin/pkgmogrify
26
8a9f4e791832 packaging changes including canonical manifest support with manifest validation
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 22
diff changeset
    41
PKGSEND =	/usr/bin/pkgsend
2855
576d5a7857b7 16404201 serialize pkglinting of components
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 2732
diff changeset
    42
ifeq   ($(strip $(PKGLINT_COMPONENT)),)
38
cd00ea74156e package audits should pass pkglint
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 32
diff changeset
    43
PKGLINT =	/usr/bin/pkglint
2855
576d5a7857b7 16404201 serialize pkglinting of components
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 2732
diff changeset
    44
else
576d5a7857b7 16404201 serialize pkglinting of components
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 2732
diff changeset
    45
PKGLINT =	${WS_TOOLS}/pkglint
576d5a7857b7 16404201 serialize pkglinting of components
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 2732
diff changeset
    46
endif
181
87e11e685b1f 7003927 userland should postprocess packaged files
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 166
diff changeset
    47
PKGMANGLE =	$(WS_TOOLS)/userland-mangler
26
8a9f4e791832 packaging changes including canonical manifest support with manifest validation
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 22
diff changeset
    48
8a9f4e791832 packaging changes including canonical manifest support with manifest validation
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 22
diff changeset
    49
# Package headers should all pretty much follow the same format
8a9f4e791832 packaging changes including canonical manifest support with manifest validation
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 22
diff changeset
    50
METADATA_TEMPLATE =		$(WS_TOP)/transforms/manifest-metadata-template
8a9f4e791832 packaging changes including canonical manifest support with manifest validation
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 22
diff changeset
    51
COPYRIGHT_TEMPLATE =		$(WS_TOP)/transforms/copyright-template
8a9f4e791832 packaging changes including canonical manifest support with manifest validation
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 22
diff changeset
    52
8a9f4e791832 packaging changes including canonical manifest support with manifest validation
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 22
diff changeset
    53
# order is important
8a9f4e791832 packaging changes including canonical manifest support with manifest validation
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 22
diff changeset
    54
GENERATE_TRANSFORMS +=		$(WS_TOP)/transforms/generate-cleanup
8a9f4e791832 packaging changes including canonical manifest support with manifest validation
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 22
diff changeset
    55
683
c613b3449c36 7079363 gcc-3.p5m package manifest file shouldn't deliver .la files
Rich Burridge <rich.burridge@oracle.com>
parents: 582
diff changeset
    56
PKGMOGRIFY_TRANSFORMS +=	$(WS_TOP)/transforms/libtool-drop
c613b3449c36 7079363 gcc-3.p5m package manifest file shouldn't deliver .la files
Rich Burridge <rich.burridge@oracle.com>
parents: 582
diff changeset
    57
26
8a9f4e791832 packaging changes including canonical manifest support with manifest validation
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 22
diff changeset
    58
COMPARISON_TRANSFORMS +=	$(WS_TOP)/transforms/comparison-cleanup
8a9f4e791832 packaging changes including canonical manifest support with manifest validation
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 22
diff changeset
    59
COMPARISON_TRANSFORMS +=	$(PKGMOGRIFY_TRANSFORMS)
8a9f4e791832 packaging changes including canonical manifest support with manifest validation
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 22
diff changeset
    60
2551
0391c5c3b137 16431724 Adjust how license text and Oracle internal tracking numbers are propagated
Rich Burridge <rich.burridge@oracle.com>
parents: 827
diff changeset
    61
LICENSE_TRANSFORMS =		$(WS_TOP)/transforms/license-changes
0391c5c3b137 16431724 Adjust how license text and Oracle internal tracking numbers are propagated
Rich Burridge <rich.burridge@oracle.com>
parents: 827
diff changeset
    62
26
8a9f4e791832 packaging changes including canonical manifest support with manifest validation
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 22
diff changeset
    63
# order is important
2551
0391c5c3b137 16431724 Adjust how license text and Oracle internal tracking numbers are propagated
Rich Burridge <rich.burridge@oracle.com>
parents: 827
diff changeset
    64
PUBLISH_TRANSFORMS +=	$(LICENSE_TRANSFORMS)
151
f9e42a3f7095 7030982 hgk is delivered 444, breaks 'hg view'
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 145
diff changeset
    65
PUBLISH_TRANSFORMS +=	$(WS_TOP)/transforms/variant-cleanup
206
a4474882bf60 7010355 python needs to be packaged to separate out non-core dependencies
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 197
diff changeset
    66
PUBLISH_TRANSFORMS +=	$(WS_TOP)/transforms/autopyc
26
8a9f4e791832 packaging changes including canonical manifest support with manifest validation
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 22
diff changeset
    67
PUBLISH_TRANSFORMS +=	$(WS_TOP)/transforms/defaults
8a9f4e791832 packaging changes including canonical manifest support with manifest validation
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 22
diff changeset
    68
PUBLISH_TRANSFORMS +=	$(WS_TOP)/transforms/actuators
8a9f4e791832 packaging changes including canonical manifest support with manifest validation
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 22
diff changeset
    69
PUBLISH_TRANSFORMS +=	$(WS_TOP)/transforms/devel
8a9f4e791832 packaging changes including canonical manifest support with manifest validation
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 22
diff changeset
    70
PUBLISH_TRANSFORMS +=	$(WS_TOP)/transforms/docs
8a9f4e791832 packaging changes including canonical manifest support with manifest validation
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 22
diff changeset
    71
PUBLISH_TRANSFORMS +=	$(WS_TOP)/transforms/locale
4156
4b1def16fe9b PSARC 2015/110 OpenStack service updates for Juno
Danek Duvall <danek.duvall@oracle.com>
parents: 3544
diff changeset
    72
PUBLISH_TRANSFORMS +=	$(WS_TOP)/transforms/standard-python-libraries
26
8a9f4e791832 packaging changes including canonical manifest support with manifest validation
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 22
diff changeset
    73
PUBLISH_TRANSFORMS +=	$(PKGMOGRIFY_TRANSFORMS)
3496
b38b125547c2 18139749 userland-incorporator should allow generation of multiple incorporations
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 3385
diff changeset
    74
PUBLISH_TRANSFORMS +=	$(WS_TOP)/transforms/incorporate
26
8a9f4e791832 packaging changes including canonical manifest support with manifest validation
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 22
diff changeset
    75
PUBLISH_TRANSFORMS +=	$(WS_TOP)/transforms/publish-cleanup
2
125cd5d2cd9e include gmake example
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
    76
26
8a9f4e791832 packaging changes including canonical manifest support with manifest validation
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 22
diff changeset
    77
PKG_MACROS +=		MACH=$(MACH)
8a9f4e791832 packaging changes including canonical manifest support with manifest validation
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 22
diff changeset
    78
PKG_MACROS +=		MACH32=$(MACH32)
8a9f4e791832 packaging changes including canonical manifest support with manifest validation
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 22
diff changeset
    79
PKG_MACROS +=		MACH64=$(MACH64)
8a9f4e791832 packaging changes including canonical manifest support with manifest validation
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 22
diff changeset
    80
PKG_MACROS +=		PUBLISHER=$(PUBLISHER)
827
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents: 683
diff changeset
    81
PKG_MACROS +=		PUBLISHER_LOCALIZABLE=$(PUBLISHER_LOCALIZABLE)
26
8a9f4e791832 packaging changes including canonical manifest support with manifest validation
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 22
diff changeset
    82
PKG_MACROS +=		CONSOLIDATION=$(CONSOLIDATION)
8a9f4e791832 packaging changes including canonical manifest support with manifest validation
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 22
diff changeset
    83
PKG_MACROS +=		BUILD_VERSION=$(BUILD_VERSION)
8a9f4e791832 packaging changes including canonical manifest support with manifest validation
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 22
diff changeset
    84
PKG_MACROS +=		SOLARIS_VERSION=$(SOLARIS_VERSION)
8a9f4e791832 packaging changes including canonical manifest support with manifest validation
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 22
diff changeset
    85
PKG_MACROS +=		OS_VERSION=$(OS_VERSION)
582
f788d69e0553 7085723 use pkg.human-version
Rich Burridge <rich.burridge@oracle.com>
parents: 379
diff changeset
    86
PKG_MACROS +=		HUMAN_VERSION=$(HUMAN_VERSION)
26
8a9f4e791832 packaging changes including canonical manifest support with manifest validation
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 22
diff changeset
    87
PKG_MACROS +=		IPS_COMPONENT_VERSION=$(IPS_COMPONENT_VERSION)
93
b579c7b1bb44 7016731 move zsh from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents: 84
diff changeset
    88
PKG_MACROS +=		COMPONENT_VERSION=$(COMPONENT_VERSION)
166
db8a55996482 6979538 /usr/share/gettext/po/Rules-quot contains garbage
Marcel Telka <marcel.telka@oracle.com>
parents: 152
diff changeset
    89
PKG_MACROS +=		COMPONENT_PROJECT_URL=$(COMPONENT_PROJECT_URL)
26
8a9f4e791832 packaging changes including canonical manifest support with manifest validation
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 22
diff changeset
    90
PKG_MACROS +=		COMPONENT_ARCHIVE_URL=$(COMPONENT_ARCHIVE_URL)
379
c6a17bba1da3 7038754 vim 7.3
Danek Duvall <danek.duvall@oracle.com>
parents: 369
diff changeset
    91
PKG_MACROS +=		COMPONENT_HG_URL=$(COMPONENT_HG_URL)
c6a17bba1da3 7038754 vim 7.3
Danek Duvall <danek.duvall@oracle.com>
parents: 369
diff changeset
    92
PKG_MACROS +=		COMPONENT_HG_REV=$(COMPONENT_HG_REV)
2551
0391c5c3b137 16431724 Adjust how license text and Oracle internal tracking numbers are propagated
Rich Burridge <rich.burridge@oracle.com>
parents: 827
diff changeset
    93
PKG_MACROS +=		COMPONENT_NAME=$(COMPONENT_NAME)
0391c5c3b137 16431724 Adjust how license text and Oracle internal tracking numbers are propagated
Rich Burridge <rich.burridge@oracle.com>
parents: 827
diff changeset
    94
PKG_MACROS +=		TPNO=$(TPNO)
3544
bcc54fcde38a 20161788 fix TPNO for php 5.3 suhosin
Craig Mohrman <craig.mohrman@oracle.com>
parents: 3496
diff changeset
    95
bcc54fcde38a 20161788 fix TPNO for php 5.3 suhosin
Craig Mohrman <craig.mohrman@oracle.com>
parents: 3496
diff changeset
    96
# Add any TPNO_* Makefile macros to the pkgmogrify arguments.
bcc54fcde38a 20161788 fix TPNO for php 5.3 suhosin
Craig Mohrman <craig.mohrman@oracle.com>
parents: 3496
diff changeset
    97
$(foreach macro, $(filter TPNO_%, $(.VARIABLES)), \
bcc54fcde38a 20161788 fix TPNO for php 5.3 suhosin
Craig Mohrman <craig.mohrman@oracle.com>
parents: 3496
diff changeset
    98
    $(eval PKG_MACROS += $(macro)=$$($(macro))) \
bcc54fcde38a 20161788 fix TPNO for php 5.3 suhosin
Craig Mohrman <craig.mohrman@oracle.com>
parents: 3496
diff changeset
    99
)
bcc54fcde38a 20161788 fix TPNO for php 5.3 suhosin
Craig Mohrman <craig.mohrman@oracle.com>
parents: 3496
diff changeset
   100
2881
8cae3c148a42 PSARC 2013/337 unittest2 version 0.5.1
Rich Burridge <rich.burridge@oracle.com>
parents: 2855
diff changeset
   101
PKG_MACROS +=		PYTHON_2.6_ONLY=\#
8cae3c148a42 PSARC 2013/337 unittest2 version 0.5.1
Rich Burridge <rich.burridge@oracle.com>
parents: 2855
diff changeset
   102
PKG_MACROS +=		PYTHON_2.7_ONLY=\#
2
125cd5d2cd9e include gmake example
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
   103
26
8a9f4e791832 packaging changes including canonical manifest support with manifest validation
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 22
diff changeset
   104
PKG_OPTIONS +=		$(PKG_MACROS:%=-D %)
8a9f4e791832 packaging changes including canonical manifest support with manifest validation
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 22
diff changeset
   105
181
87e11e685b1f 7003927 userland should postprocess packaged files
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 166
diff changeset
   106
MANGLED_DIR =	$(PROTO_DIR)/mangled
87e11e685b1f 7003927 userland should postprocess packaged files
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 166
diff changeset
   107
87e11e685b1f 7003927 userland should postprocess packaged files
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 166
diff changeset
   108
PKG_PROTO_DIRS += $(MANGLED_DIR) $(PROTO_DIR) $(@D) $(COMPONENT_DIR) $(COMPONENT_SRC)
99
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 93
diff changeset
   109
59
7500d63edb42 7012375 userland build and proto areas should be outside of unpacked source dirs
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 53
diff changeset
   110
MANIFEST_BASE =		$(BUILD_DIR)/manifest-$(MACH)
12
41aeb1fd8c2d Fix MACH32/MACH64 so more than one architecture can build in the same workspace
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 7
diff changeset
   111
30
440b6ca0641d Removed $(PUBLISHER) from pkg.fmri package attributes. Renamed package
Danek Duvall <danek.duvall@oracle.com>
parents: 27
diff changeset
   112
CANONICAL_MANIFESTS =	$(wildcard *.p5m)
2576
f1b6ecbb2d1e 16433531 Update Nose to 1.2.1
Rich Burridge <rich.burridge@oracle.com>
parents: 2551
diff changeset
   113
f1b6ecbb2d1e 16433531 Update Nose to 1.2.1
Rich Burridge <rich.burridge@oracle.com>
parents: 2551
diff changeset
   114
# Look for manifests which need to be duplicated for each version of python.
f1b6ecbb2d1e 16433531 Update Nose to 1.2.1
Rich Burridge <rich.burridge@oracle.com>
parents: 2551
diff changeset
   115
ifeq ($(findstring -PYVER,$(CANONICAL_MANIFESTS)),-PYVER)
3385
cb76431f36d7 PSARC/2014/275 Hiera 1.3.4
Kristina Tripp <Kristina.Tripp@oracle.com>
parents: 2994
diff changeset
   116
UNVERSIONED_MANIFESTS = $(filter-out %GENFRAG.p5m,$(filter-out %-PYVER.p5m,$(CANONICAL_MANIFESTS)))
2576
f1b6ecbb2d1e 16433531 Update Nose to 1.2.1
Rich Burridge <rich.burridge@oracle.com>
parents: 2551
diff changeset
   117
PY_MANIFESTS = $(filter %-PYVER.p5m,$(CANONICAL_MANIFESTS))
f1b6ecbb2d1e 16433531 Update Nose to 1.2.1
Rich Burridge <rich.burridge@oracle.com>
parents: 2551
diff changeset
   118
PYV_MANIFESTS = $(foreach v,$(shell echo $(PYTHON_VERSIONS) | tr -d .),$(shell echo $(PY_MANIFESTS) | sed -e 's/-PYVER.p5m/-$(v).p5m/g'))
f1b6ecbb2d1e 16433531 Update Nose to 1.2.1
Rich Burridge <rich.burridge@oracle.com>
parents: 2551
diff changeset
   119
PYNV_MANIFESTS = $(shell echo $(PY_MANIFESTS) | sed -e 's/-PYVER//')
f1b6ecbb2d1e 16433531 Update Nose to 1.2.1
Rich Burridge <rich.burridge@oracle.com>
parents: 2551
diff changeset
   120
else
f1b6ecbb2d1e 16433531 Update Nose to 1.2.1
Rich Burridge <rich.burridge@oracle.com>
parents: 2551
diff changeset
   121
UNVERSIONED_MANIFESTS = $(CANONICAL_MANIFESTS)
f1b6ecbb2d1e 16433531 Update Nose to 1.2.1
Rich Burridge <rich.burridge@oracle.com>
parents: 2551
diff changeset
   122
endif
f1b6ecbb2d1e 16433531 Update Nose to 1.2.1
Rich Burridge <rich.burridge@oracle.com>
parents: 2551
diff changeset
   123
f1b6ecbb2d1e 16433531 Update Nose to 1.2.1
Rich Burridge <rich.burridge@oracle.com>
parents: 2551
diff changeset
   124
# Look for manifests which need to be duplicated for each version of perl.
f1b6ecbb2d1e 16433531 Update Nose to 1.2.1
Rich Burridge <rich.burridge@oracle.com>
parents: 2551
diff changeset
   125
ifeq ($(findstring -PERLVER,$(UNVERSIONED_MANIFESTS)),-PERLVER)
3385
cb76431f36d7 PSARC/2014/275 Hiera 1.3.4
Kristina Tripp <Kristina.Tripp@oracle.com>
parents: 2994
diff changeset
   126
NOPERL_MANIFESTS = $(filter-out %GENFRAG.p5m,$(filter-out %-PERLVER.p5m,$(UNVERSIONED_MANIFESTS)))
2576
f1b6ecbb2d1e 16433531 Update Nose to 1.2.1
Rich Burridge <rich.burridge@oracle.com>
parents: 2551
diff changeset
   127
PERL_MANIFESTS = $(filter %-PERLVER.p5m,$(UNVERSIONED_MANIFESTS))
f1b6ecbb2d1e 16433531 Update Nose to 1.2.1
Rich Burridge <rich.burridge@oracle.com>
parents: 2551
diff changeset
   128
PERLV_MANIFESTS = $(foreach v,$(shell echo $(PERL_VERSIONS) | tr -d .),$(shell echo $(PERL_MANIFESTS) | sed -e 's/-PERLVER.p5m/-$(v).p5m/g'))
f1b6ecbb2d1e 16433531 Update Nose to 1.2.1
Rich Burridge <rich.burridge@oracle.com>
parents: 2551
diff changeset
   129
PERLNV_MANIFESTS = $(shell echo $(PERL_MANIFESTS) | sed -e 's/-PERLVER//')
f1b6ecbb2d1e 16433531 Update Nose to 1.2.1
Rich Burridge <rich.burridge@oracle.com>
parents: 2551
diff changeset
   130
else
f1b6ecbb2d1e 16433531 Update Nose to 1.2.1
Rich Burridge <rich.burridge@oracle.com>
parents: 2551
diff changeset
   131
NOPERL_MANIFESTS = $(UNVERSIONED_MANIFESTS)
f1b6ecbb2d1e 16433531 Update Nose to 1.2.1
Rich Burridge <rich.burridge@oracle.com>
parents: 2551
diff changeset
   132
endif
f1b6ecbb2d1e 16433531 Update Nose to 1.2.1
Rich Burridge <rich.burridge@oracle.com>
parents: 2551
diff changeset
   133
3385
cb76431f36d7 PSARC/2014/275 Hiera 1.3.4
Kristina Tripp <Kristina.Tripp@oracle.com>
parents: 2994
diff changeset
   134
# Look for manifests which need to be duplicated for each version of ruby.
cb76431f36d7 PSARC/2014/275 Hiera 1.3.4
Kristina Tripp <Kristina.Tripp@oracle.com>
parents: 2994
diff changeset
   135
# NOPERL_MANIFESTS represents the manifests that are not Python or
cb76431f36d7 PSARC/2014/275 Hiera 1.3.4
Kristina Tripp <Kristina.Tripp@oracle.com>
parents: 2994
diff changeset
   136
# Perl manifests.  Extract the Ruby Manifests from NOPERL_MANIFESTS.
cb76431f36d7 PSARC/2014/275 Hiera 1.3.4
Kristina Tripp <Kristina.Tripp@oracle.com>
parents: 2994
diff changeset
   137
# Any remaining manifests are stored in NONRUBY_MANIFESTS
cb76431f36d7 PSARC/2014/275 Hiera 1.3.4
Kristina Tripp <Kristina.Tripp@oracle.com>
parents: 2994
diff changeset
   138
ifeq ($(findstring -RUBYVER,$(NOPERL_MANIFESTS)),-RUBYVER)
cb76431f36d7 PSARC/2014/275 Hiera 1.3.4
Kristina Tripp <Kristina.Tripp@oracle.com>
parents: 2994
diff changeset
   139
NORUBY_MANIFESTS = $(filter-out %GENFRAG.p5m,\
cb76431f36d7 PSARC/2014/275 Hiera 1.3.4
Kristina Tripp <Kristina.Tripp@oracle.com>
parents: 2994
diff changeset
   140
		   $(filter-out %-RUBYVER.p5m,$(NOPERL_MANIFESTS)))
cb76431f36d7 PSARC/2014/275 Hiera 1.3.4
Kristina Tripp <Kristina.Tripp@oracle.com>
parents: 2994
diff changeset
   141
RUBY_MANIFESTS = $(filter %-RUBYVER.p5m,$(NOPERL_MANIFESTS))
cb76431f36d7 PSARC/2014/275 Hiera 1.3.4
Kristina Tripp <Kristina.Tripp@oracle.com>
parents: 2994
diff changeset
   142
RUBYV_MANIFESTS = $(foreach v,$(shell echo $(RUBY_VERSIONS)),\
cb76431f36d7 PSARC/2014/275 Hiera 1.3.4
Kristina Tripp <Kristina.Tripp@oracle.com>
parents: 2994
diff changeset
   143
                      $(shell echo $(RUBY_MANIFESTS) |\
cb76431f36d7 PSARC/2014/275 Hiera 1.3.4
Kristina Tripp <Kristina.Tripp@oracle.com>
parents: 2994
diff changeset
   144
                      sed -e 's/-RUBYVER.p5m/-$(shell echo $(v) |\
cb76431f36d7 PSARC/2014/275 Hiera 1.3.4
Kristina Tripp <Kristina.Tripp@oracle.com>
parents: 2994
diff changeset
   145
                      cut -d. -f1,2 | tr -d .).p5m/g'))
cb76431f36d7 PSARC/2014/275 Hiera 1.3.4
Kristina Tripp <Kristina.Tripp@oracle.com>
parents: 2994
diff changeset
   146
RUBYNV_MANIFESTS = $(shell echo $(RUBY_MANIFESTS) | sed -e 's/-RUBYVER//')
cb76431f36d7 PSARC/2014/275 Hiera 1.3.4
Kristina Tripp <Kristina.Tripp@oracle.com>
parents: 2994
diff changeset
   147
else
cb76431f36d7 PSARC/2014/275 Hiera 1.3.4
Kristina Tripp <Kristina.Tripp@oracle.com>
parents: 2994
diff changeset
   148
NORUBY_MANIFESTS = $(NOPERL_MANIFESTS)
cb76431f36d7 PSARC/2014/275 Hiera 1.3.4
Kristina Tripp <Kristina.Tripp@oracle.com>
parents: 2994
diff changeset
   149
endif
cb76431f36d7 PSARC/2014/275 Hiera 1.3.4
Kristina Tripp <Kristina.Tripp@oracle.com>
parents: 2994
diff changeset
   150
2576
f1b6ecbb2d1e 16433531 Update Nose to 1.2.1
Rich Burridge <rich.burridge@oracle.com>
parents: 2551
diff changeset
   151
VERSIONED_MANIFESTS = \
f1b6ecbb2d1e 16433531 Update Nose to 1.2.1
Rich Burridge <rich.burridge@oracle.com>
parents: 2551
diff changeset
   152
	$(PYV_MANIFESTS) $(PYNV_MANIFESTS) \
f1b6ecbb2d1e 16433531 Update Nose to 1.2.1
Rich Burridge <rich.burridge@oracle.com>
parents: 2551
diff changeset
   153
	$(PERLV_MANIFESTS) $(PERLNV_MANIFESTS) \
3385
cb76431f36d7 PSARC/2014/275 Hiera 1.3.4
Kristina Tripp <Kristina.Tripp@oracle.com>
parents: 2994
diff changeset
   154
	$(RUBYV_MANIFESTS) $(RUBYNV_MANIFESTS) \
cb76431f36d7 PSARC/2014/275 Hiera 1.3.4
Kristina Tripp <Kristina.Tripp@oracle.com>
parents: 2994
diff changeset
   155
	$(NORUBY_MANIFESTS)
2576
f1b6ecbb2d1e 16433531 Update Nose to 1.2.1
Rich Burridge <rich.burridge@oracle.com>
parents: 2551
diff changeset
   156
26
8a9f4e791832 packaging changes including canonical manifest support with manifest validation
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 22
diff changeset
   157
GENERATED =		$(MANIFEST_BASE)-generated
8a9f4e791832 packaging changes including canonical manifest support with manifest validation
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 22
diff changeset
   158
COMBINED =		$(MANIFEST_BASE)-combined
2576
f1b6ecbb2d1e 16433531 Update Nose to 1.2.1
Rich Burridge <rich.burridge@oracle.com>
parents: 2551
diff changeset
   159
MANIFESTS =		$(VERSIONED_MANIFESTS:%=$(MANIFEST_BASE)-%)
2
125cd5d2cd9e include gmake example
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
   160
26
8a9f4e791832 packaging changes including canonical manifest support with manifest validation
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 22
diff changeset
   161
2576
f1b6ecbb2d1e 16433531 Update Nose to 1.2.1
Rich Burridge <rich.burridge@oracle.com>
parents: 2551
diff changeset
   162
DEPENDED=$(VERSIONED_MANIFESTS:%.p5m=$(MANIFEST_BASE)-%.depend)
f1b6ecbb2d1e 16433531 Update Nose to 1.2.1
Rich Burridge <rich.burridge@oracle.com>
parents: 2551
diff changeset
   163
RESOLVED=$(VERSIONED_MANIFESTS:%.p5m=$(MANIFEST_BASE)-%.depend.res)
185
773dda89f186 7036473 dependency resolution should happen in one step for all component's packages
Danek Duvall <danek.duvall@oracle.com>
parents: 181
diff changeset
   164
PUBLISHED=$(RESOLVED:%.depend.res=%.published)
2
125cd5d2cd9e include gmake example
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
   165
255
52abf74b9323 7037058 Move fetchmail to Userland
Marcel Telka <marcel.telka@oracle.com>
parents: 206
diff changeset
   166
COPYRIGHT_FILE ?=	$(COMPONENT_NAME)-$(COMPONENT_VERSION).copyright
145
1e2390f5555e 7020836 revert workaround in 7014413 now that pkglint doesn't complain
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 117
diff changeset
   167
IPS_COMPONENT_VERSION ?=	$(COMPONENT_VERSION)
7
d42300cb8715 add license/copyright info for ips generation
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 4
diff changeset
   168
26
8a9f4e791832 packaging changes including canonical manifest support with manifest validation
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 22
diff changeset
   169
.DEFAULT:		publish
8a9f4e791832 packaging changes including canonical manifest support with manifest validation
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 22
diff changeset
   170
38
cd00ea74156e package audits should pass pkglint
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 32
diff changeset
   171
.SECONDARY:
26
8a9f4e791832 packaging changes including canonical manifest support with manifest validation
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 22
diff changeset
   172
197
fd801ec0737c 7038707 move acpidump to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 196
diff changeset
   173
# allow publishing to be overridden, such as when
fd801ec0737c 7038707 move acpidump to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 196
diff changeset
   174
# a package is for one architecture only.
fd801ec0737c 7038707 move acpidump to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 196
diff changeset
   175
PUBLISH_STAMP ?= $(BUILD_DIR)/.published-$(MACH)
fd801ec0737c 7038707 move acpidump to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 196
diff changeset
   176
fd801ec0737c 7038707 move acpidump to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 196
diff changeset
   177
publish:		build install $(PUBLISH_STAMP)
26
8a9f4e791832 packaging changes including canonical manifest support with manifest validation
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 22
diff changeset
   178
30
440b6ca0641d Removed $(PUBLISHER) from pkg.fmri package attributes. Renamed package
Danek Duvall <danek.duvall@oracle.com>
parents: 27
diff changeset
   179
sample-manifest:	$(GENERATED).p5m
26
8a9f4e791832 packaging changes including canonical manifest support with manifest validation
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 22
diff changeset
   180
46
d4d60962c33f generate detectable dependencies at build time
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 38
diff changeset
   181
$(GENERATED).p5m:	install
d4d60962c33f generate detectable dependencies at build time
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 38
diff changeset
   182
	$(PKGSEND) generate $(PKG_HARDLINKS:%=--target %) $(PROTO_DIR) | \
d4d60962c33f generate detectable dependencies at build time
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 38
diff changeset
   183
	$(PKGMOGRIFY) $(PKG_OPTIONS) /dev/fd/0 $(GENERATE_TRANSFORMS) | \
64
a4b12971cf99 7014330 has userland lost its mapfile mind?
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 59
diff changeset
   184
		sed -e '/^$$/d' -e '/^#.*$$/d' | $(PKGFMT) | \
a4b12971cf99 7014330 has userland lost its mapfile mind?
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 59
diff changeset
   185
		cat $(METADATA_TEMPLATE) - >$@
26
8a9f4e791832 packaging changes including canonical manifest support with manifest validation
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 22
diff changeset
   186
46
d4d60962c33f generate detectable dependencies at build time
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 38
diff changeset
   187
# copy the canonical manifest(s) to the build tree
d4d60962c33f generate detectable dependencies at build time
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 38
diff changeset
   188
$(MANIFEST_BASE)-%.generate:	%.p5m canonical-manifests
d4d60962c33f generate detectable dependencies at build time
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 38
diff changeset
   189
	cat $(METADATA_TEMPLATE) $< >$@
2
125cd5d2cd9e include gmake example
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
   190
2576
f1b6ecbb2d1e 16433531 Update Nose to 1.2.1
Rich Burridge <rich.burridge@oracle.com>
parents: 2551
diff changeset
   191
# The text of a transform that will emit a dependency conditional on the
f1b6ecbb2d1e 16433531 Update Nose to 1.2.1
Rich Burridge <rich.burridge@oracle.com>
parents: 2551
diff changeset
   192
# presence of a particular version of a runtime, which will then draw in the
f1b6ecbb2d1e 16433531 Update Nose to 1.2.1
Rich Burridge <rich.burridge@oracle.com>
parents: 2551
diff changeset
   193
# runtime-version-specific version of the package we're operating on.  $(1) is
f1b6ecbb2d1e 16433531 Update Nose to 1.2.1
Rich Burridge <rich.burridge@oracle.com>
parents: 2551
diff changeset
   194
# the name of the runtime package, and $(2) is the version suffix.
f1b6ecbb2d1e 16433531 Update Nose to 1.2.1
Rich Burridge <rich.burridge@oracle.com>
parents: 2551
diff changeset
   195
mkgeneric = \
3385
cb76431f36d7 PSARC/2014/275 Hiera 1.3.4
Kristina Tripp <Kristina.Tripp@oracle.com>
parents: 2994
diff changeset
   196
	echo "<transform set name=pkg.fmri value=(?:pkg:/)?(.+)-\#\#\#PYV\#\#\#@(.*)" \
2576
f1b6ecbb2d1e 16433531 Update Nose to 1.2.1
Rich Burridge <rich.burridge@oracle.com>
parents: 2551
diff changeset
   197
		"-> emit depend nodrop=true type=conditional" \
f1b6ecbb2d1e 16433531 Update Nose to 1.2.1
Rich Burridge <rich.burridge@oracle.com>
parents: 2551
diff changeset
   198
		"predicate=$(1)-$(2) fmri=%<1>-$(2)@%<2>>" >> $@;
f1b6ecbb2d1e 16433531 Update Nose to 1.2.1
Rich Burridge <rich.burridge@oracle.com>
parents: 2551
diff changeset
   199
f1b6ecbb2d1e 16433531 Update Nose to 1.2.1
Rich Burridge <rich.burridge@oracle.com>
parents: 2551
diff changeset
   200
# Define and execute a macro that generates a rule to create a manifest for a
f1b6ecbb2d1e 16433531 Update Nose to 1.2.1
Rich Burridge <rich.burridge@oracle.com>
parents: 2551
diff changeset
   201
# python module specific to a particular version of the python runtime.
3385
cb76431f36d7 PSARC/2014/275 Hiera 1.3.4
Kristina Tripp <Kristina.Tripp@oracle.com>
parents: 2994
diff changeset
   202
# Creates build/manifest-*-modulename-##.p5m file where ## is replaced with
cb76431f36d7 PSARC/2014/275 Hiera 1.3.4
Kristina Tripp <Kristina.Tripp@oracle.com>
parents: 2994
diff changeset
   203
# the version number.
2576
f1b6ecbb2d1e 16433531 Update Nose to 1.2.1
Rich Burridge <rich.burridge@oracle.com>
parents: 2551
diff changeset
   204
define python-manifest-rule
2881
8cae3c148a42 PSARC 2013/337 unittest2 version 0.5.1
Rich Burridge <rich.burridge@oracle.com>
parents: 2855
diff changeset
   205
$(MANIFEST_BASE)-%-$(shell echo $(1) | tr -d .).mogrified: PKG_MACROS += PYTHON_$(1)_ONLY=
8cae3c148a42 PSARC 2013/337 unittest2 version 0.5.1
Rich Burridge <rich.burridge@oracle.com>
parents: 2855
diff changeset
   206
2576
f1b6ecbb2d1e 16433531 Update Nose to 1.2.1
Rich Burridge <rich.burridge@oracle.com>
parents: 2551
diff changeset
   207
$(MANIFEST_BASE)-%-$(shell echo $(1) | tr -d .).p5m: %-PYVER.p5m
3385
cb76431f36d7 PSARC/2014/275 Hiera 1.3.4
Kristina Tripp <Kristina.Tripp@oracle.com>
parents: 2994
diff changeset
   208
	if [ -f $$*-$(shell echo $(1) | tr -d .)GENFRAG.p5m ]; then cat $$*-$(shell echo $(1) | tr -d .)GENFRAG.p5m >> $$@; fi
2576
f1b6ecbb2d1e 16433531 Update Nose to 1.2.1
Rich Burridge <rich.burridge@oracle.com>
parents: 2551
diff changeset
   209
	$(PKGMOGRIFY) -D PYVER=$(1) -D PYV=$(shell echo $(1) | tr -d .) $$< > $$@
f1b6ecbb2d1e 16433531 Update Nose to 1.2.1
Rich Burridge <rich.burridge@oracle.com>
parents: 2551
diff changeset
   210
endef
f1b6ecbb2d1e 16433531 Update Nose to 1.2.1
Rich Burridge <rich.burridge@oracle.com>
parents: 2551
diff changeset
   211
$(foreach ver,$(PYTHON_VERSIONS),$(eval $(call python-manifest-rule,$(ver))))
f1b6ecbb2d1e 16433531 Update Nose to 1.2.1
Rich Burridge <rich.burridge@oracle.com>
parents: 2551
diff changeset
   212
f1b6ecbb2d1e 16433531 Update Nose to 1.2.1
Rich Burridge <rich.burridge@oracle.com>
parents: 2551
diff changeset
   213
# A rule to create a helper transform package for python, that will insert the
f1b6ecbb2d1e 16433531 Update Nose to 1.2.1
Rich Burridge <rich.burridge@oracle.com>
parents: 2551
diff changeset
   214
# appropriate conditional dependencies into a python library's
f1b6ecbb2d1e 16433531 Update Nose to 1.2.1
Rich Burridge <rich.burridge@oracle.com>
parents: 2551
diff changeset
   215
# runtime-version-generic package to pull in the version-specific bits when the
f1b6ecbb2d1e 16433531 Update Nose to 1.2.1
Rich Burridge <rich.burridge@oracle.com>
parents: 2551
diff changeset
   216
# corresponding version of python is on the system.
2732
1a65a9df6f2e 17300973 ips.mk is a little racey
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 2710
diff changeset
   217
$(BUILD_DIR)/mkgeneric-python: $(WS_TOP)/make-rules/shared-macros.mk
2576
f1b6ecbb2d1e 16433531 Update Nose to 1.2.1
Rich Burridge <rich.burridge@oracle.com>
parents: 2551
diff changeset
   218
	$(RM) $@
f1b6ecbb2d1e 16433531 Update Nose to 1.2.1
Rich Burridge <rich.burridge@oracle.com>
parents: 2551
diff changeset
   219
	$(foreach ver,$(shell echo $(PYTHON_VERSIONS) | tr -d .), \
f1b6ecbb2d1e 16433531 Update Nose to 1.2.1
Rich Burridge <rich.burridge@oracle.com>
parents: 2551
diff changeset
   220
		$(call mkgeneric,runtime/python,$(ver)))
f1b6ecbb2d1e 16433531 Update Nose to 1.2.1
Rich Burridge <rich.burridge@oracle.com>
parents: 2551
diff changeset
   221
f1b6ecbb2d1e 16433531 Update Nose to 1.2.1
Rich Burridge <rich.burridge@oracle.com>
parents: 2551
diff changeset
   222
# Build Python version-wrapping manifests from the generic version.
3385
cb76431f36d7 PSARC/2014/275 Hiera 1.3.4
Kristina Tripp <Kristina.Tripp@oracle.com>
parents: 2994
diff changeset
   223
# Creates build/manifest-*-modulename.p5m file.
2732
1a65a9df6f2e 17300973 ips.mk is a little racey
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 2710
diff changeset
   224
$(MANIFEST_BASE)-%.p5m: %-PYVER.p5m $(BUILD_DIR)/mkgeneric-python
3385
cb76431f36d7 PSARC/2014/275 Hiera 1.3.4
Kristina Tripp <Kristina.Tripp@oracle.com>
parents: 2994
diff changeset
   225
	$(PKGMOGRIFY) -D PYV=###PYV### $(BUILD_DIR)/mkgeneric-python \
2576
f1b6ecbb2d1e 16433531 Update Nose to 1.2.1
Rich Burridge <rich.burridge@oracle.com>
parents: 2551
diff changeset
   226
		$(WS_TOP)/transforms/mkgeneric $< > $@
f1b6ecbb2d1e 16433531 Update Nose to 1.2.1
Rich Burridge <rich.burridge@oracle.com>
parents: 2551
diff changeset
   227
	if [ -f $*-GENFRAG.p5m ]; then cat $*-GENFRAG.p5m >> $@; fi
f1b6ecbb2d1e 16433531 Update Nose to 1.2.1
Rich Burridge <rich.burridge@oracle.com>
parents: 2551
diff changeset
   228
f1b6ecbb2d1e 16433531 Update Nose to 1.2.1
Rich Burridge <rich.burridge@oracle.com>
parents: 2551
diff changeset
   229
# Define and execute a macro that generates a rule to create a manifest for a
f1b6ecbb2d1e 16433531 Update Nose to 1.2.1
Rich Burridge <rich.burridge@oracle.com>
parents: 2551
diff changeset
   230
# perl module specific to a particular version of the perl runtime.
f1b6ecbb2d1e 16433531 Update Nose to 1.2.1
Rich Burridge <rich.burridge@oracle.com>
parents: 2551
diff changeset
   231
define perl-manifest-rule
f1b6ecbb2d1e 16433531 Update Nose to 1.2.1
Rich Burridge <rich.burridge@oracle.com>
parents: 2551
diff changeset
   232
$(MANIFEST_BASE)-%-$(shell echo $(1) | tr -d .).p5m: %-PERLVER.p5m
f1b6ecbb2d1e 16433531 Update Nose to 1.2.1
Rich Burridge <rich.burridge@oracle.com>
parents: 2551
diff changeset
   233
	$(PKGMOGRIFY) -D PERLVER=$(1) -D PLV=$(shell echo $(1) | tr -d .) \
f1b6ecbb2d1e 16433531 Update Nose to 1.2.1
Rich Burridge <rich.burridge@oracle.com>
parents: 2551
diff changeset
   234
		-D PERL_ARCH=$(call PERL_ARCH_FUNC,$(PERL.$(1))) $$< > $$@
f1b6ecbb2d1e 16433531 Update Nose to 1.2.1
Rich Burridge <rich.burridge@oracle.com>
parents: 2551
diff changeset
   235
endef
f1b6ecbb2d1e 16433531 Update Nose to 1.2.1
Rich Burridge <rich.burridge@oracle.com>
parents: 2551
diff changeset
   236
$(foreach ver,$(PERL_VERSIONS),$(eval $(call perl-manifest-rule,$(ver))))
f1b6ecbb2d1e 16433531 Update Nose to 1.2.1
Rich Burridge <rich.burridge@oracle.com>
parents: 2551
diff changeset
   237
f1b6ecbb2d1e 16433531 Update Nose to 1.2.1
Rich Burridge <rich.burridge@oracle.com>
parents: 2551
diff changeset
   238
# A rule to create a helper transform package for perl, that will insert the
f1b6ecbb2d1e 16433531 Update Nose to 1.2.1
Rich Burridge <rich.burridge@oracle.com>
parents: 2551
diff changeset
   239
# appropriate conditional dependencies into a perl library's
f1b6ecbb2d1e 16433531 Update Nose to 1.2.1
Rich Burridge <rich.burridge@oracle.com>
parents: 2551
diff changeset
   240
# runtime-version-generic package to pull in the version-specific bits when the
f1b6ecbb2d1e 16433531 Update Nose to 1.2.1
Rich Burridge <rich.burridge@oracle.com>
parents: 2551
diff changeset
   241
# corresponding version of perl is on the system.
2732
1a65a9df6f2e 17300973 ips.mk is a little racey
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 2710
diff changeset
   242
$(BUILD_DIR)/mkgeneric-perl: $(WS_TOP)/make-rules/shared-macros.mk
2576
f1b6ecbb2d1e 16433531 Update Nose to 1.2.1
Rich Burridge <rich.burridge@oracle.com>
parents: 2551
diff changeset
   243
	$(RM) $@
f1b6ecbb2d1e 16433531 Update Nose to 1.2.1
Rich Burridge <rich.burridge@oracle.com>
parents: 2551
diff changeset
   244
	$(foreach ver,$(shell echo $(PERL_VERSIONS) | tr -d .), \
f1b6ecbb2d1e 16433531 Update Nose to 1.2.1
Rich Burridge <rich.burridge@oracle.com>
parents: 2551
diff changeset
   245
		$(call mkgeneric,runtime/perl,$(ver)))
f1b6ecbb2d1e 16433531 Update Nose to 1.2.1
Rich Burridge <rich.burridge@oracle.com>
parents: 2551
diff changeset
   246
f1b6ecbb2d1e 16433531 Update Nose to 1.2.1
Rich Burridge <rich.burridge@oracle.com>
parents: 2551
diff changeset
   247
# Build Perl version-wrapping manifests from the generic version.
2732
1a65a9df6f2e 17300973 ips.mk is a little racey
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 2710
diff changeset
   248
$(MANIFEST_BASE)-%.p5m: %-PERLVER.p5m $(BUILD_DIR)/mkgeneric-perl
1a65a9df6f2e 17300973 ips.mk is a little racey
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 2710
diff changeset
   249
	$(PKGMOGRIFY) -D PLV=### $(BUILD_DIR)/mkgeneric-perl \
2576
f1b6ecbb2d1e 16433531 Update Nose to 1.2.1
Rich Burridge <rich.burridge@oracle.com>
parents: 2551
diff changeset
   250
		$(WS_TOP)/transforms/mkgeneric $< > $@
f1b6ecbb2d1e 16433531 Update Nose to 1.2.1
Rich Burridge <rich.burridge@oracle.com>
parents: 2551
diff changeset
   251
	if [ -f $*-GENFRAG.p5m ]; then cat $*-GENFRAG.p5m >> $@; fi
f1b6ecbb2d1e 16433531 Update Nose to 1.2.1
Rich Burridge <rich.burridge@oracle.com>
parents: 2551
diff changeset
   252
3385
cb76431f36d7 PSARC/2014/275 Hiera 1.3.4
Kristina Tripp <Kristina.Tripp@oracle.com>
parents: 2994
diff changeset
   253
# Define and execute a macro that generates a rule to create a manifest for a
cb76431f36d7 PSARC/2014/275 Hiera 1.3.4
Kristina Tripp <Kristina.Tripp@oracle.com>
parents: 2994
diff changeset
   254
# ruby module specific to a particular version of the ruby runtime.
cb76431f36d7 PSARC/2014/275 Hiera 1.3.4
Kristina Tripp <Kristina.Tripp@oracle.com>
parents: 2994
diff changeset
   255
# Creates build/manifest-*-modulename-##.p5m file where ## is replaced with
cb76431f36d7 PSARC/2014/275 Hiera 1.3.4
Kristina Tripp <Kristina.Tripp@oracle.com>
parents: 2994
diff changeset
   256
# the version number.
cb76431f36d7 PSARC/2014/275 Hiera 1.3.4
Kristina Tripp <Kristina.Tripp@oracle.com>
parents: 2994
diff changeset
   257
define ruby-manifest-rule
cb76431f36d7 PSARC/2014/275 Hiera 1.3.4
Kristina Tripp <Kristina.Tripp@oracle.com>
parents: 2994
diff changeset
   258
$(MANIFEST_BASE)-%-$(shell echo $(1) | tr -d .).mogrified: \
cb76431f36d7 PSARC/2014/275 Hiera 1.3.4
Kristina Tripp <Kristina.Tripp@oracle.com>
parents: 2994
diff changeset
   259
	PKG_MACROS += RUBY_VERSION=$(1) RUBY_LIB_VERSION=$(2) \
cb76431f36d7 PSARC/2014/275 Hiera 1.3.4
Kristina Tripp <Kristina.Tripp@oracle.com>
parents: 2994
diff changeset
   260
	    RUBYV=$(subst .,,$(1))
cb76431f36d7 PSARC/2014/275 Hiera 1.3.4
Kristina Tripp <Kristina.Tripp@oracle.com>
parents: 2994
diff changeset
   261
cb76431f36d7 PSARC/2014/275 Hiera 1.3.4
Kristina Tripp <Kristina.Tripp@oracle.com>
parents: 2994
diff changeset
   262
$(MANIFEST_BASE)-%-$(shell echo $(1) | tr -d .).p5m: %-RUBYVER.p5m
cb76431f36d7 PSARC/2014/275 Hiera 1.3.4
Kristina Tripp <Kristina.Tripp@oracle.com>
parents: 2994
diff changeset
   263
	if [ -f $$*-$(shell echo $(1) | tr -d .)GENFRAG.p5m ]; then \
cb76431f36d7 PSARC/2014/275 Hiera 1.3.4
Kristina Tripp <Kristina.Tripp@oracle.com>
parents: 2994
diff changeset
   264
		cat $$*-$(shell echo $(1) | tr -d .)GENFRAG.p5m >> $$@; \
cb76431f36d7 PSARC/2014/275 Hiera 1.3.4
Kristina Tripp <Kristina.Tripp@oracle.com>
parents: 2994
diff changeset
   265
	fi
cb76431f36d7 PSARC/2014/275 Hiera 1.3.4
Kristina Tripp <Kristina.Tripp@oracle.com>
parents: 2994
diff changeset
   266
	$(PKGMOGRIFY) -D RUBY_VERSION=$(1) -D RUBY_LIB_VERSION=$(2) \
cb76431f36d7 PSARC/2014/275 Hiera 1.3.4
Kristina Tripp <Kristina.Tripp@oracle.com>
parents: 2994
diff changeset
   267
	    -D RUBYV=$(shell echo $(1) | tr -d .) $$< > $$@
cb76431f36d7 PSARC/2014/275 Hiera 1.3.4
Kristina Tripp <Kristina.Tripp@oracle.com>
parents: 2994
diff changeset
   268
endef
cb76431f36d7 PSARC/2014/275 Hiera 1.3.4
Kristina Tripp <Kristina.Tripp@oracle.com>
parents: 2994
diff changeset
   269
$(foreach ver,$(RUBY_VERSIONS),\
cb76431f36d7 PSARC/2014/275 Hiera 1.3.4
Kristina Tripp <Kristina.Tripp@oracle.com>
parents: 2994
diff changeset
   270
	$(eval $(call ruby-manifest-rule,$(shell echo $(ver) | \
cb76431f36d7 PSARC/2014/275 Hiera 1.3.4
Kristina Tripp <Kristina.Tripp@oracle.com>
parents: 2994
diff changeset
   271
	    cut -d. -f1,2),$(ver))))
cb76431f36d7 PSARC/2014/275 Hiera 1.3.4
Kristina Tripp <Kristina.Tripp@oracle.com>
parents: 2994
diff changeset
   272
cb76431f36d7 PSARC/2014/275 Hiera 1.3.4
Kristina Tripp <Kristina.Tripp@oracle.com>
parents: 2994
diff changeset
   273
# A rule to create a helper transform package for ruby, that will insert the
cb76431f36d7 PSARC/2014/275 Hiera 1.3.4
Kristina Tripp <Kristina.Tripp@oracle.com>
parents: 2994
diff changeset
   274
# appropriate conditional dependencies into a ruby library's
cb76431f36d7 PSARC/2014/275 Hiera 1.3.4
Kristina Tripp <Kristina.Tripp@oracle.com>
parents: 2994
diff changeset
   275
# runtime-version-generic package to pull in the version-specific bits when the
cb76431f36d7 PSARC/2014/275 Hiera 1.3.4
Kristina Tripp <Kristina.Tripp@oracle.com>
parents: 2994
diff changeset
   276
# corresponding version of ruby is on the system.
cb76431f36d7 PSARC/2014/275 Hiera 1.3.4
Kristina Tripp <Kristina.Tripp@oracle.com>
parents: 2994
diff changeset
   277
$(BUILD_DIR)/mkgeneric-ruby: $(WS_TOP)/make-rules/shared-macros.mk
cb76431f36d7 PSARC/2014/275 Hiera 1.3.4
Kristina Tripp <Kristina.Tripp@oracle.com>
parents: 2994
diff changeset
   278
	$(RM) $@
cb76431f36d7 PSARC/2014/275 Hiera 1.3.4
Kristina Tripp <Kristina.Tripp@oracle.com>
parents: 2994
diff changeset
   279
	$(foreach ver,$(RUBY_VERSIONS),\
cb76431f36d7 PSARC/2014/275 Hiera 1.3.4
Kristina Tripp <Kristina.Tripp@oracle.com>
parents: 2994
diff changeset
   280
		$(call mkgeneric,runtime/ruby,$(shell echo $(ver) | \
cb76431f36d7 PSARC/2014/275 Hiera 1.3.4
Kristina Tripp <Kristina.Tripp@oracle.com>
parents: 2994
diff changeset
   281
		    cut -d. -f1,2 | tr -d .)))
cb76431f36d7 PSARC/2014/275 Hiera 1.3.4
Kristina Tripp <Kristina.Tripp@oracle.com>
parents: 2994
diff changeset
   282
cb76431f36d7 PSARC/2014/275 Hiera 1.3.4
Kristina Tripp <Kristina.Tripp@oracle.com>
parents: 2994
diff changeset
   283
# Build Ruby version-wrapping manifests from the generic version.
cb76431f36d7 PSARC/2014/275 Hiera 1.3.4
Kristina Tripp <Kristina.Tripp@oracle.com>
parents: 2994
diff changeset
   284
# Creates build/manifest-*-modulename.p5m file.
cb76431f36d7 PSARC/2014/275 Hiera 1.3.4
Kristina Tripp <Kristina.Tripp@oracle.com>
parents: 2994
diff changeset
   285
#
cb76431f36d7 PSARC/2014/275 Hiera 1.3.4
Kristina Tripp <Kristina.Tripp@oracle.com>
parents: 2994
diff changeset
   286
# ###PYV### is used here as the mkgeneric() call used to create 
cb76431f36d7 PSARC/2014/275 Hiera 1.3.4
Kristina Tripp <Kristina.Tripp@oracle.com>
parents: 2994
diff changeset
   287
# mkgeneric-ruby uses this value version subsitute key.  We also
cb76431f36d7 PSARC/2014/275 Hiera 1.3.4
Kristina Tripp <Kristina.Tripp@oracle.com>
parents: 2994
diff changeset
   288
# use the same key, ###PYV###, to pick up the required entry
cb76431f36d7 PSARC/2014/275 Hiera 1.3.4
Kristina Tripp <Kristina.Tripp@oracle.com>
parents: 2994
diff changeset
   289
# in mkgeneric when pkgmogrify is invoked
cb76431f36d7 PSARC/2014/275 Hiera 1.3.4
Kristina Tripp <Kristina.Tripp@oracle.com>
parents: 2994
diff changeset
   290
$(MANIFEST_BASE)-%.p5m: %-RUBYVER.p5m $(BUILD_DIR)/mkgeneric-ruby
cb76431f36d7 PSARC/2014/275 Hiera 1.3.4
Kristina Tripp <Kristina.Tripp@oracle.com>
parents: 2994
diff changeset
   291
	$(PKGMOGRIFY) -D RUBYV=###PYV### $(BUILD_DIR)/mkgeneric-ruby \
cb76431f36d7 PSARC/2014/275 Hiera 1.3.4
Kristina Tripp <Kristina.Tripp@oracle.com>
parents: 2994
diff changeset
   292
		$(WS_TOP)/transforms/mkgeneric $< > $@
cb76431f36d7 PSARC/2014/275 Hiera 1.3.4
Kristina Tripp <Kristina.Tripp@oracle.com>
parents: 2994
diff changeset
   293
	if [ -f $*-GENFRAG.p5m ]; then cat $*-GENFRAG.p5m >> $@; fi
cb76431f36d7 PSARC/2014/275 Hiera 1.3.4
Kristina Tripp <Kristina.Tripp@oracle.com>
parents: 2994
diff changeset
   294
2576
f1b6ecbb2d1e 16433531 Update Nose to 1.2.1
Rich Burridge <rich.burridge@oracle.com>
parents: 2551
diff changeset
   295
# mogrify non-parameterized manifests
f1b6ecbb2d1e 16433531 Update Nose to 1.2.1
Rich Burridge <rich.burridge@oracle.com>
parents: 2551
diff changeset
   296
$(MANIFEST_BASE)-%.mogrified:	%.p5m $(BUILD_DIR)
f1b6ecbb2d1e 16433531 Update Nose to 1.2.1
Rich Burridge <rich.burridge@oracle.com>
parents: 2551
diff changeset
   297
	$(PKGMOGRIFY) $(PKG_OPTIONS) $< \
f1b6ecbb2d1e 16433531 Update Nose to 1.2.1
Rich Burridge <rich.burridge@oracle.com>
parents: 2551
diff changeset
   298
		$(PUBLISH_TRANSFORMS) | \
f1b6ecbb2d1e 16433531 Update Nose to 1.2.1
Rich Burridge <rich.burridge@oracle.com>
parents: 2551
diff changeset
   299
		sed -e '/^$$/d' -e '/^#.*$$/d' | uniq >$@
f1b6ecbb2d1e 16433531 Update Nose to 1.2.1
Rich Burridge <rich.burridge@oracle.com>
parents: 2551
diff changeset
   300
f1b6ecbb2d1e 16433531 Update Nose to 1.2.1
Rich Burridge <rich.burridge@oracle.com>
parents: 2551
diff changeset
   301
# mogrify parameterized manifests
f1b6ecbb2d1e 16433531 Update Nose to 1.2.1
Rich Burridge <rich.burridge@oracle.com>
parents: 2551
diff changeset
   302
$(MANIFEST_BASE)-%.mogrified:	$(MANIFEST_BASE)-%.p5m $(BUILD_DIR)
53
e398cb2c4b45 7004049 SUNWa2ps should move to userland with a2ps
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 49
diff changeset
   303
	$(PKGMOGRIFY) $(PKG_OPTIONS) $< \
46
d4d60962c33f generate detectable dependencies at build time
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 38
diff changeset
   304
		$(PUBLISH_TRANSFORMS) | \
d4d60962c33f generate detectable dependencies at build time
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 38
diff changeset
   305
		sed -e '/^$$/d' -e '/^#.*$$/d' | uniq >$@
26
8a9f4e791832 packaging changes including canonical manifest support with manifest validation
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 22
diff changeset
   306
181
87e11e685b1f 7003927 userland should postprocess packaged files
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 166
diff changeset
   307
# mangle the file contents
369
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents: 255
diff changeset
   308
$(BUILD_DIR) $(MANGLED_DIR):
181
87e11e685b1f 7003927 userland should postprocess packaged files
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 166
diff changeset
   309
	$(MKDIR) $@
87e11e685b1f 7003927 userland should postprocess packaged files
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 166
diff changeset
   310
87e11e685b1f 7003927 userland should postprocess packaged files
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 166
diff changeset
   311
PKGMANGLE_OPTIONS = -D $(MANGLED_DIR) $(PKG_PROTO_DIRS:%=-d %)
87e11e685b1f 7003927 userland should postprocess packaged files
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 166
diff changeset
   312
$(MANIFEST_BASE)-%.mangled:	$(MANIFEST_BASE)-%.mogrified $(MANGLED_DIR)
87e11e685b1f 7003927 userland should postprocess packaged files
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 166
diff changeset
   313
	$(PKGMANGLE) $(PKGMANGLE_OPTIONS) -m $< >$@
87e11e685b1f 7003927 userland should postprocess packaged files
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 166
diff changeset
   314
76
a084497ff237 7016379 migrate elinks to userland (fix pkglint)
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 75
diff changeset
   315
# generate dependencies
99
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 93
diff changeset
   316
PKGDEPEND_GENERATE_OPTIONS = -m $(PKG_PROTO_DIRS:%=-d %)
181
87e11e685b1f 7003927 userland should postprocess packaged files
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 166
diff changeset
   317
$(MANIFEST_BASE)-%.depend:	$(MANIFEST_BASE)-%.mangled
99
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 93
diff changeset
   318
	$(PKGDEPEND) generate $(PKGDEPEND_GENERATE_OPTIONS) $< >$@
26
8a9f4e791832 packaging changes including canonical manifest support with manifest validation
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 22
diff changeset
   319
2584
ad7971db6ec0 15960689 pkgdepend resolve takes longer than it might
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 2576
diff changeset
   320
# These files should contain a list of packages that the component is known to
ad7971db6ec0 15960689 pkgdepend resolve takes longer than it might
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 2576
diff changeset
   321
# depend on.  Using resolve.deps is not required, but significantly speeds up
ad7971db6ec0 15960689 pkgdepend resolve takes longer than it might
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 2576
diff changeset
   322
# the "pkg resolve" step.
2855
576d5a7857b7 16404201 serialize pkglinting of components
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 2732
diff changeset
   323
EXTDEPFILES ?= $(wildcard $(sort $(addsuffix ../resolve.deps, $(dir $(DEPENDED)))))
576d5a7857b7 16404201 serialize pkglinting of components
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 2732
diff changeset
   324
576d5a7857b7 16404201 serialize pkglinting of components
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 2732
diff changeset
   325
# If the package contains no automatically discoverable dependencies, then
576d5a7857b7 16404201 serialize pkglinting of components
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 2732
diff changeset
   326
# we can speed up resolution by providing a dummy resolve.deps to skip loading
576d5a7857b7 16404201 serialize pkglinting of components
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 2732
diff changeset
   327
# all the possible packages for resolution.  Unfortunately, pkgdepend does not
576d5a7857b7 16404201 serialize pkglinting of components
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 2732
diff changeset
   328
# accept a completely empty resolve.deps, so we pass the userland-incorporation
576d5a7857b7 16404201 serialize pkglinting of components
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 2732
diff changeset
   329
# as a quick, content-free placeholder.
576d5a7857b7 16404201 serialize pkglinting of components
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 2732
diff changeset
   330
NULLDEPFILE = $(BUILD_DIR)/null-resolve.deps
2584
ad7971db6ec0 15960689 pkgdepend resolve takes longer than it might
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 2576
diff changeset
   331
ad7971db6ec0 15960689 pkgdepend resolve takes longer than it might
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 2576
diff changeset
   332
# This is a target that should only be run by hand, and not something that
ad7971db6ec0 15960689 pkgdepend resolve takes longer than it might
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 2576
diff changeset
   333
# .resolved-$(MACH) should depend on.
ad7971db6ec0 15960689 pkgdepend resolve takes longer than it might
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 2576
diff changeset
   334
sample-resolve.deps:
ad7971db6ec0 15960689 pkgdepend resolve takes longer than it might
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 2576
diff changeset
   335
	@echo "<transform depend type=(require|require-any) -> print %(fmri)>" > rd-trans
ad7971db6ec0 15960689 pkgdepend resolve takes longer than it might
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 2576
diff changeset
   336
	@for i in build/*.depend; do \
ad7971db6ec0 15960689 pkgdepend resolve takes longer than it might
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 2576
diff changeset
   337
		$(PKGMOGRIFY) -O /dev/null $$i rd-trans | tr " " "\n" | sort -u > m1; \
ad7971db6ec0 15960689 pkgdepend resolve takes longer than it might
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 2576
diff changeset
   338
		$(PKGMOGRIFY) -O /dev/null $$i.res rd-trans | tr " " "\n" | sort -u > m2; \
ad7971db6ec0 15960689 pkgdepend resolve takes longer than it might
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 2576
diff changeset
   339
		comm -13 m1 m2; \
ad7971db6ec0 15960689 pkgdepend resolve takes longer than it might
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 2576
diff changeset
   340
	done | sed -e 's/@[^ ]*//g' -e 's,pkg:/,,g' | sort -u > resolve.deps
ad7971db6ec0 15960689 pkgdepend resolve takes longer than it might
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 2576
diff changeset
   341
	@$(RM) rd-trans m1 m2
ad7971db6ec0 15960689 pkgdepend resolve takes longer than it might
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 2576
diff changeset
   342
	@if [[ ! -s resolve.deps ]]; then \
ad7971db6ec0 15960689 pkgdepend resolve takes longer than it might
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 2576
diff changeset
   343
		echo "No computed dependencies found; removing empty resolve.deps."; \
ad7971db6ec0 15960689 pkgdepend resolve takes longer than it might
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 2576
diff changeset
   344
		$(RM) resolve.deps; \
ad7971db6ec0 15960689 pkgdepend resolve takes longer than it might
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 2576
diff changeset
   345
	fi
ad7971db6ec0 15960689 pkgdepend resolve takes longer than it might
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 2576
diff changeset
   346
185
773dda89f186 7036473 dependency resolution should happen in one step for all component's packages
Danek Duvall <danek.duvall@oracle.com>
parents: 181
diff changeset
   347
# resolve the dependencies all at once
773dda89f186 7036473 dependency resolution should happen in one step for all component's packages
Danek Duvall <danek.duvall@oracle.com>
parents: 181
diff changeset
   348
$(BUILD_DIR)/.resolved-$(MACH):	$(DEPENDED)
2855
576d5a7857b7 16404201 serialize pkglinting of components
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 2732
diff changeset
   349
	if [[ "$(EXTDEPFILES)" == "$(NULLDEPFILE)" ]] ; then \
576d5a7857b7 16404201 serialize pkglinting of components
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 2732
diff changeset
   350
	  echo 'consolidation/userland/userland-incorporation' > $(NULLDEPFILE) ; \
576d5a7857b7 16404201 serialize pkglinting of components
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 2732
diff changeset
   351
	fi
2584
ad7971db6ec0 15960689 pkgdepend resolve takes longer than it might
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 2576
diff changeset
   352
	$(PKGDEPEND) resolve $(EXTDEPFILES:%=-e %) -m $(DEPENDED)
145
1e2390f5555e 7020836 revert workaround in 7014413 now that pkglint doesn't complain
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 117
diff changeset
   353
	$(TOUCH) $@
1e2390f5555e 7020836 revert workaround in 7014413 now that pkglint doesn't complain
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 117
diff changeset
   354
1e2390f5555e 7020836 revert workaround in 7014413 now that pkglint doesn't complain
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 117
diff changeset
   355
# lint the manifests all at once
1e2390f5555e 7020836 revert workaround in 7014413 now that pkglint doesn't complain
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 117
diff changeset
   356
$(BUILD_DIR)/.linted-$(MACH):	$(BUILD_DIR)/.resolved-$(MACH)
1e2390f5555e 7020836 revert workaround in 7014413 now that pkglint doesn't complain
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 117
diff changeset
   357
	@echo "VALIDATING MANIFEST CONTENT: $(RESOLVED)"
117
8f634eb6f66b 7023683 userland pkglint checks should look in more places for content
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 99
diff changeset
   358
	$(ENV) PYTHONPATH=$(WS_TOOLS)/python PROTO_PATH="$(PKG_PROTO_DIRS)"\
2994
3705b92dce6a 17591620 ruby 1.9 should not have its *.rb text files under amd64/sparcv9 directories
April Chin <april.chin@oracle.com>
parents: 2910
diff changeset
   359
		SOLARIS_VERSION=$(SOLARIS_VERSION)\
84
b80cfd4e0a16 7000952 Userland package validation needs some love
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 76
diff changeset
   360
		$(PKGLINT) $(CANONICAL_REPO:%=-c $(WS_LINT_CACHE)) \
145
1e2390f5555e 7020836 revert workaround in 7014413 now that pkglint doesn't complain
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 117
diff changeset
   361
			-f $(WS_TOOLS)/pkglintrc $(RESOLVED)
1e2390f5555e 7020836 revert workaround in 7014413 now that pkglint doesn't complain
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 117
diff changeset
   362
	$(TOUCH) $@
1e2390f5555e 7020836 revert workaround in 7014413 now that pkglint doesn't complain
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 117
diff changeset
   363
2910
f8b8cbc43356 15801420 SUNBT7180909 tag the Userland consolidation binaries for ASLR
April Chin <april.chin@oracle.com>
parents: 2881
diff changeset
   364
lintme: FRC
f8b8cbc43356 15801420 SUNBT7180909 tag the Userland consolidation binaries for ASLR
April Chin <april.chin@oracle.com>
parents: 2881
diff changeset
   365
	@echo "VALIDATING MANIFEST CONTENT: $(RESOLVED)"
f8b8cbc43356 15801420 SUNBT7180909 tag the Userland consolidation binaries for ASLR
April Chin <april.chin@oracle.com>
parents: 2881
diff changeset
   366
	$(ENV) PYTHONPATH=$(WS_TOOLS)/python PROTO_PATH="$(PKG_PROTO_DIRS)"\
2994
3705b92dce6a 17591620 ruby 1.9 should not have its *.rb text files under amd64/sparcv9 directories
April Chin <april.chin@oracle.com>
parents: 2910
diff changeset
   367
		SOLARIS_VERSION=$(SOLARIS_VERSION)\
2910
f8b8cbc43356 15801420 SUNBT7180909 tag the Userland consolidation binaries for ASLR
April Chin <april.chin@oracle.com>
parents: 2881
diff changeset
   368
		$(PKGLINT) $(CANONICAL_REPO:%=-c $(WS_LINT_CACHE)) \
f8b8cbc43356 15801420 SUNBT7180909 tag the Userland consolidation binaries for ASLR
April Chin <april.chin@oracle.com>
parents: 2881
diff changeset
   369
			-f $(WS_TOOLS)/pkglintrc $(RESOLVED)
f8b8cbc43356 15801420 SUNBT7180909 tag the Userland consolidation binaries for ASLR
April Chin <april.chin@oracle.com>
parents: 2881
diff changeset
   370
f8b8cbc43356 15801420 SUNBT7180909 tag the Userland consolidation binaries for ASLR
April Chin <april.chin@oracle.com>
parents: 2881
diff changeset
   371
FRC:
f8b8cbc43356 15801420 SUNBT7180909 tag the Userland consolidation binaries for ASLR
April Chin <april.chin@oracle.com>
parents: 2881
diff changeset
   372
38
cd00ea74156e package audits should pass pkglint
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 32
diff changeset
   373
46
d4d60962c33f generate detectable dependencies at build time
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 38
diff changeset
   374
# published
99
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 93
diff changeset
   375
PKGSEND_PUBLISH_OPTIONS = -s $(PKG_REPO) publish --fmri-in-manifest
2710
3c5579720afc 17231570 full userland build sporadically fails during 'pkgsend publish'
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 2584
diff changeset
   376
PKGSEND_PUBLISH_OPTIONS += --no-catalog
99
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 93
diff changeset
   377
PKGSEND_PUBLISH_OPTIONS += $(PKG_PROTO_DIRS:%=-d %)
196
816e398e992c 6907515 mercurial 1.8.2
Danek Duvall <danek.duvall@oracle.com>
parents: 185
diff changeset
   378
PKGSEND_PUBLISH_OPTIONS += -T \*.py
185
773dda89f186 7036473 dependency resolution should happen in one step for all component's packages
Danek Duvall <danek.duvall@oracle.com>
parents: 181
diff changeset
   379
$(MANIFEST_BASE)-%.published:	$(MANIFEST_BASE)-%.depend.res $(BUILD_DIR)/.linted-$(MACH)
99
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 93
diff changeset
   380
	$(PKGSEND) $(PKGSEND_PUBLISH_OPTIONS) $<
46
d4d60962c33f generate detectable dependencies at build time
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 38
diff changeset
   381
	$(PKGFMT) <$< >$@
2
125cd5d2cd9e include gmake example
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
   382
145
1e2390f5555e 7020836 revert workaround in 7014413 now that pkglint doesn't complain
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 117
diff changeset
   383
$(BUILD_DIR)/.published-$(MACH):	$(PUBLISHED)
2710
3c5579720afc 17231570 full userland build sporadically fails during 'pkgsend publish'
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 2584
diff changeset
   384
ifndef DISABLE_IPS_CATALOG_AND_INDEX_UPDATES
3c5579720afc 17231570 full userland build sporadically fails during 'pkgsend publish'
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 2584
diff changeset
   385
	$(PKGREPO) refresh -s $(PKG_REPO)
3c5579720afc 17231570 full userland build sporadically fails during 'pkgsend publish'
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 2584
diff changeset
   386
endif
26
8a9f4e791832 packaging changes including canonical manifest support with manifest validation
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 22
diff changeset
   387
	$(TOUCH) $@
2
125cd5d2cd9e include gmake example
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
   388
32
280a7444e782 automatically generate intercomponent dependencies for build ordering
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 30
diff changeset
   389
print-package-names:	canonical-manifests
2576
f1b6ecbb2d1e 16433531 Update Nose to 1.2.1
Rich Burridge <rich.burridge@oracle.com>
parents: 2551
diff changeset
   390
	@cat $(VERSIONED_MANIFESTS) $(WS_TOP)/transforms/print-pkgs | \
32
280a7444e782 automatically generate intercomponent dependencies for build ordering
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 30
diff changeset
   391
		$(PKGMOGRIFY) $(PKG_OPTIONS) /dev/fd/0 | \
280a7444e782 automatically generate intercomponent dependencies for build ordering
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 30
diff changeset
   392
 		sed -e '/^$$/d' -e '/^#.*$$/d' | sort -u
280a7444e782 automatically generate intercomponent dependencies for build ordering
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 30
diff changeset
   393
280a7444e782 automatically generate intercomponent dependencies for build ordering
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 30
diff changeset
   394
print-package-paths:	canonical-manifests
2576
f1b6ecbb2d1e 16433531 Update Nose to 1.2.1
Rich Burridge <rich.burridge@oracle.com>
parents: 2551
diff changeset
   395
	@cat $(VERSIONED_MANIFESTS) $(WS_TOP)/transforms/print-paths | \
32
280a7444e782 automatically generate intercomponent dependencies for build ordering
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 30
diff changeset
   396
		$(PKGMOGRIFY) $(PKG_OPTIONS) /dev/fd/0 | \
280a7444e782 automatically generate intercomponent dependencies for build ordering
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 30
diff changeset
   397
 		sed -e '/^$$/d' -e '/^#.*$$/d' | sort -u
280a7444e782 automatically generate intercomponent dependencies for build ordering
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 30
diff changeset
   398
38
cd00ea74156e package audits should pass pkglint
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 32
diff changeset
   399
install-packages:	publish
cd00ea74156e package audits should pass pkglint
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 32
diff changeset
   400
	@if [ $(IS_GLOBAL_ZONE) = 0 -o x$(ROOT) != x ]; then \
2576
f1b6ecbb2d1e 16433531 Update Nose to 1.2.1
Rich Burridge <rich.burridge@oracle.com>
parents: 2551
diff changeset
   401
	    cat $(VERSIONED_MANIFESTS) $(WS_TOP)/transforms/print-paths | \
38
cd00ea74156e package audits should pass pkglint
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 32
diff changeset
   402
		$(PKGMOGRIFY) $(PKG_OPTIONS) /dev/fd/0 | \
cd00ea74156e package audits should pass pkglint
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 32
diff changeset
   403
 		sed -e '/^$$/d' -e '/^#.*$$/d' -e 's;/;;' | sort -u | \
cd00ea74156e package audits should pass pkglint
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 32
diff changeset
   404
		(cd $(PROTO_DIR) ; pfexec /bin/cpio -dump $(ROOT)) ; \
cd00ea74156e package audits should pass pkglint
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 32
diff changeset
   405
	else ; \
cd00ea74156e package audits should pass pkglint
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 32
diff changeset
   406
	    echo "unsafe to install package(s) automatically" ; \
cd00ea74156e package audits should pass pkglint
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 32
diff changeset
   407
        fi
cd00ea74156e package audits should pass pkglint
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 32
diff changeset
   408
145
1e2390f5555e 7020836 revert workaround in 7014413 now that pkglint doesn't complain
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 117
diff changeset
   409
$(RESOLVED):	install
38
cd00ea74156e package audits should pass pkglint
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 32
diff changeset
   410
cd00ea74156e package audits should pass pkglint
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 32
diff changeset
   411
canonical-manifests:	$(CANONICAL_MANIFESTS) Makefile $(PATCHES)
26
8a9f4e791832 packaging changes including canonical manifest support with manifest validation
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 22
diff changeset
   412
ifeq	($(strip $(CANONICAL_MANIFESTS)),)
8a9f4e791832 packaging changes including canonical manifest support with manifest validation
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 22
diff changeset
   413
	# If there were no canonical manifests in the workspace, nothing will
8a9f4e791832 packaging changes including canonical manifest support with manifest validation
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 22
diff changeset
   414
	# be published and we should fail.  A sample manifest can be generated
8a9f4e791832 packaging changes including canonical manifest support with manifest validation
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 22
diff changeset
   415
	# with
8a9f4e791832 packaging changes including canonical manifest support with manifest validation
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 22
diff changeset
   416
	#   $ gmake sample-manifest
8a9f4e791832 packaging changes including canonical manifest support with manifest validation
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 22
diff changeset
   417
	# Once created, it will need to be reviewed, edited, and added to the
8a9f4e791832 packaging changes including canonical manifest support with manifest validation
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 22
diff changeset
   418
	# workspace.
8a9f4e791832 packaging changes including canonical manifest support with manifest validation
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 22
diff changeset
   419
	$(error Missing canonical manifest(s))
8a9f4e791832 packaging changes including canonical manifest support with manifest validation
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 22
diff changeset
   420
endif
32
280a7444e782 automatically generate intercomponent dependencies for build ordering
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 30
diff changeset
   421
280a7444e782 automatically generate intercomponent dependencies for build ordering
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 30
diff changeset
   422
# This converts required paths to containing package names for be able to
280a7444e782 automatically generate intercomponent dependencies for build ordering
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 30
diff changeset
   423
# properly setup the build environment for a component.
280a7444e782 automatically generate intercomponent dependencies for build ordering
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 30
diff changeset
   424
required-pkgs.mk:	Makefile
280a7444e782 automatically generate intercomponent dependencies for build ordering
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 30
diff changeset
   425
	@echo "generating $@ from Makefile REQUIRED_* data"
280a7444e782 automatically generate intercomponent dependencies for build ordering
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 30
diff changeset
   426
	@pkg search -H -l '<$(DEPENDS:%=% OR) /bin/true>' \
280a7444e782 automatically generate intercomponent dependencies for build ordering
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 30
diff changeset
   427
		| sed -e 's/pkg:\/\(.*\)@.*/REQUIRED_PKGS += \1/g' >$@
280a7444e782 automatically generate intercomponent dependencies for build ordering
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 30
diff changeset
   428
38
cd00ea74156e package audits should pass pkglint
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 32
diff changeset
   429
pre-prep:	required-pkgs.mk
cd00ea74156e package audits should pass pkglint
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 32
diff changeset
   430
cd00ea74156e package audits should pass pkglint
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 32
diff changeset
   431
32
280a7444e782 automatically generate intercomponent dependencies for build ordering
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 30
diff changeset
   432
CLEAN_PATHS +=	required-pkgs.mk