3294N/A#
3294N/A# CDDL HEADER START
3294N/A#
3294N/A# The contents of this file are subject to the terms of the
3294N/A# Common Development and Distribution License (the "License").
3294N/A# You may not use this file except in compliance with the License.
3294N/A#
3294N/A# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
3294N/A# or http://www.opensolaris.org/os/licensing.
3294N/A# See the License for the specific language governing permissions
3294N/A# and limitations under the License.
3294N/A#
3294N/A# When distributing Covered Code, include this CDDL HEADER in each
3294N/A# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
3294N/A# If applicable, add the following below this CDDL HEADER, with the
3294N/A# fields enclosed by brackets "[]" replaced with your own identifying
3294N/A# information: Portions Copyright [yyyy] [name of copyright owner]
3294N/A#
3294N/A# CDDL HEADER END
3294N/A#
3294N/A
3294N/A#
3294N/A# Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
3294N/A#
3294N/A
3294N/A#
3294N/A# We are overloading the org.opensolaris.consolidation package attribute to
3294N/A# maintain information about which incorporations a package should belong to.
3294N/A# This is done by including 'incorporation' decorations in the attribute.
3294N/A# Ex:
3294N/A# set name=org.opensolaris.consolidation value=userland \
3294N/A# incorporate=consolidation/userland/userland-incorporation
3294N/A#
3294N/A# In the process of package generation, we convert those decorations to
3294N/A# a separate package attribute (pkg.tmp.incorporate) and drop them from
3294N/A# the consolidation attribute. A special value of 'none' will cause the
3294N/A# package to be unincorporated and float freely from the rest of the
3294N/A# packages. Note that unincorporated packages don't automatically get
3294N/A# updated with the rest of the system when 'pkg update' is run unless the
3294N/A# unincorporated package(s) are specified on the command line.
3294N/A#
3294N/A
3294N/A#
3294N/A# Add a default incorporate decoration if none exists.
3294N/A#
3294N/A<transform set name=org.opensolaris.consolidation -> \
3294N/A default incorporate consolidation/userland/userland-incorporation>
3294N/A
3294N/A#
3294N/A# convert the org.opensolaris.consolidation 'incorporate' attribute
3294N/A# to a package attribute containing the incorporations that should
3294N/A# be used in incorporating this package.
3294N/A#
3294N/A<transform set name=org.opensolaris.consolidation -> emit \
3294N/A set name=pkg.tmp.incorporate \
3294N/A value=%(incorporate;sep=' value=')>
3294N/A
3294N/A#
3294N/A# don't incorporate a package that is tagged for unincorporation.
3294N/A#
3294N/A<transform set name=pkg.tmp.incorporate value=none -> drop>
3294N/A
3294N/A#
3294N/A# Remove any incorporate decoration from the org.opensolaris.consolidation
3294N/A# package attribute.
3294N/A#
3294N/A<transform set name=org.opensolaris.consolidation -> \
3294N/A delete incorporate .*>