Makefile revision 6ba597c56d749c61b4f783157f63196d7b2445f0
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster# CDDL HEADER START
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster# The contents of this file are subject to the terms of the
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster# Common Development and Distribution License (the "License").
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster# You may not use this file except in compliance with the License.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster# See the License for the specific language governing permissions
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster# and limitations under the License.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster# When distributing Covered Code, include this CDDL HEADER in each
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster# If applicable, add the following below this CDDL HEADER, with the
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster# fields enclosed by brackets "[]" replaced with your own identifying
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster# information: Portions Copyright [yyyy] [name of copyright owner]
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster# CDDL HEADER END
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster# Copyright 2010 Sun Microsystems, Inc. All rights reserved.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster# Use is subject to license terms.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster# Because seed repository construction requires a functioning repository, a
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster# working svccfg(1) binary, and XML support, the following libraries must exist
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster# on the build system or in the proto area: libscf, libuutil, and libxml2.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster# We build and deliver 3 seed repositories:
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster# global.db -- for a standalone Solaris (global zone)
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster# nonglobal.db -- for a Solaris Zone
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster# miniroot.db -- for the install miniroot
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster# COMMON_DESCRIPTIONS contains manifests needed by all 3 repositories.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster# GLOBAL_ZONE_DESCRIPTIONS/NONGLOBAL_ZONE_DESCRIPTIONS/MINIROOT_DESCRIPTIONS
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster# contain additional manifests needed.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster# Manifests needed by all seed repositories. If you change this, you
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster# must test Solaris standalone, Solaris zone, and Install miniroot.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster# Additional manifests for standalone Solaris
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster ../../cmd-inet/usr.lib/inetd/inetd-upgrade.xml \
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster# Additional manifests for a Solaris zone
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster# Additional manifests for the install miniroot.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan FosterSEEDFILEMODE = 0444 # seeds are not intended for editing, but may
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster @cd ../milestone; pwd; $(MAKE) $(MFLAGS) console-login.xml
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Fostercommon.db: $(COMMON_DESCRIPTIONS) $(CONFIGD) $(SVCCFG)
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster SVCCFG_REPOSITORY=$(SRC)/cmd/svc/seed/common.db \
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Fosterglobal.db: common.db $(GLOBAL_ZONE_DESCRIPTIONS) $(CONFIGD) $(SVCCFG)
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster SVCCFG_REPOSITORY=$(SRC)/cmd/svc/seed/global.db \
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Fosternonglobal.db: common.db $(NONGLOBAL_ZONE_DESCRIPTIONS) $(CONFIGD) $(SVCCFG)
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster SVCCFG_REPOSITORY=$(SRC)/cmd/svc/seed/nonglobal.db \
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Fosterminiroot.db: common.db $(MINIROOT_DESCRIPTIONS) $(CONFIGD) $(SVCCFG)
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster SVCCFG_REPOSITORY=$(SRC)/cmd/svc/seed/miniroot.db \
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster # Make sure the miniroot's syslogd and rpcbind do not respond
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster # to packets from outside the machine. Since we cannot set property
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster # values by applying a profile yet, we need to set them explicitly
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster # with svccfg commands.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster SVCCFG_REPOSITORY=$(SRC)/cmd/svc/seed/miniroot.db \
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster SVCCFG_REPOSITORY=$(SRC)/cmd/svc/seed/miniroot.db \
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster $(SVCCFG) -s svc:/network/rpc/bind setprop config/local_only = true
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Fosterinstall: install_global install_nonglobal install_miniroot
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster $(INS) -f $(LIBSVCSEED) -m $(SEEDFILEMODE) -s global.db
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster $(INS) -f $(LIBSVCSEED) -m $(SEEDFILEMODE) -s nonglobal.db
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster $(INS) -f $(INSTALLSEED) -m $(SEEDFILEMODE) -s miniroot.db