17c478bd9Sstevel@tonic-gate# 27c478bd9Sstevel@tonic-gate# CDDL HEADER START 37c478bd9Sstevel@tonic-gate# 47c478bd9Sstevel@tonic-gate# The contents of this file are subject to the terms of the 57c478bd9Sstevel@tonic-gate# Common Development and Distribution License, Version 1.0 only 67c478bd9Sstevel@tonic-gate# (the "License"). You may not use this file except in compliance 77c478bd9Sstevel@tonic-gate# with the License. 87c478bd9Sstevel@tonic-gate# 97c478bd9Sstevel@tonic-gate# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 107c478bd9Sstevel@tonic-gate# or http://www.opensolaris.org/os/licensing. 117c478bd9Sstevel@tonic-gate# See the License for the specific language governing permissions 127c478bd9Sstevel@tonic-gate# and limitations under the License. 137c478bd9Sstevel@tonic-gate# 147c478bd9Sstevel@tonic-gate# When distributing Covered Code, include this CDDL HEADER in each 157c478bd9Sstevel@tonic-gate# file and include the License file at usr/src/OPENSOLARIS.LICENSE. 167c478bd9Sstevel@tonic-gate# If applicable, add the following below this CDDL HEADER, with the 177c478bd9Sstevel@tonic-gate# fields enclosed by brackets "[]" replaced with your own identifying 187c478bd9Sstevel@tonic-gate# information: Portions Copyright [yyyy] [name of copyright owner] 197c478bd9Sstevel@tonic-gate# 207c478bd9Sstevel@tonic-gate# CDDL HEADER END 217c478bd9Sstevel@tonic-gate# 227c478bd9Sstevel@tonic-gate# 237c478bd9Sstevel@tonic-gate# Copyright 2005 Sun Microsystems, Inc. All rights reserved. 247c478bd9Sstevel@tonic-gate# Use is subject to license terms. 257c478bd9Sstevel@tonic-gate# 267c478bd9Sstevel@tonic-gate#ident "%Z%%M% %I% %E% SMI" 277c478bd9Sstevel@tonic-gate 287c478bd9Sstevel@tonic-gateinclude ../../Makefile.cmd 297c478bd9Sstevel@tonic-gate 307c478bd9Sstevel@tonic-gateETCSVC = $(ROOTETC)/svc 317c478bd9Sstevel@tonic-gateLIBSVCSEED = $(ROOT)/lib/svc/seed 32*2269adc8SszhouINSTALLSEED = $(ROOT)/usr/sadm/install 337c478bd9Sstevel@tonic-gate 347c478bd9Sstevel@tonic-gate# 357c478bd9Sstevel@tonic-gate# Because seed repository construction requires a functioning repository, a 367c478bd9Sstevel@tonic-gate# working svccfg(1) binary, and XML support, the following libraries must exist 377c478bd9Sstevel@tonic-gate# on the build system or in the proto area: libscf, libuutil, and libxml2. 387c478bd9Sstevel@tonic-gate# 397c478bd9Sstevel@tonic-gate 407c478bd9Sstevel@tonic-gate# 41*2269adc8Sszhou# We build and deliver 3 seed repositories: 42*2269adc8Sszhou# global.db -- for a standalone Solaris (global zone) 43*2269adc8Sszhou# nonglobal.db -- for a Solaris Zone 44*2269adc8Sszhou# miniroot.db -- for the install miniroot 45*2269adc8Sszhou# COMMON_DESCRIPTIONS contains manifests needed by all 3 repositories. 46*2269adc8Sszhou# GLOBAL_ZONE_DESCRIPTIONS/NONGLOBAL_ZONE_DESCRIPTIONS/MINIROOT_DESCRIPTIONS 47*2269adc8Sszhou# contain additional manifests needed. 487c478bd9Sstevel@tonic-gate# 49*2269adc8Sszhou 50*2269adc8Sszhou# 51*2269adc8Sszhou# Manifests needed by all seed repositories. If you change this, you 52*2269adc8Sszhou# must test Solaris standalone, Solaris zone, and Install miniroot. 53*2269adc8Sszhou# 54*2269adc8SszhouCOMMON_DESCRIPTIONS = \ 557c478bd9Sstevel@tonic-gate ../milestone/boot-archive.xml \ 567c478bd9Sstevel@tonic-gate ../milestone/datalink.xml \ 577c478bd9Sstevel@tonic-gate ../milestone/devices-local.xml \ 587c478bd9Sstevel@tonic-gate ../milestone/identity.xml \ 597c478bd9Sstevel@tonic-gate ../milestone/local-fs.xml \ 607c478bd9Sstevel@tonic-gate ../milestone/manifest-import.xml \ 617c478bd9Sstevel@tonic-gate ../milestone/minimal-fs.xml \ 627c478bd9Sstevel@tonic-gate ../milestone/multi-user.xml \ 637c478bd9Sstevel@tonic-gate ../milestone/name-services.xml \ 647c478bd9Sstevel@tonic-gate ../milestone/network-initial.xml \ 657c478bd9Sstevel@tonic-gate ../milestone/network-loopback.xml \ 667c478bd9Sstevel@tonic-gate ../milestone/network-physical.xml \ 677c478bd9Sstevel@tonic-gate ../milestone/restarter.xml \ 687c478bd9Sstevel@tonic-gate ../milestone/root-fs.xml \ 697c478bd9Sstevel@tonic-gate ../milestone/single-user.xml \ 707c478bd9Sstevel@tonic-gate ../milestone/usr-fs.xml \ 717c478bd9Sstevel@tonic-gate ../../rpcbind/bind.xml \ 72*2269adc8Sszhou 73*2269adc8Sszhou# 74*2269adc8Sszhou# Additional manifests for standalone Solaris 75*2269adc8Sszhou# 76*2269adc8SszhouGLOBAL_ZONE_DESCRIPTIONS = \ 77*2269adc8Sszhou ../milestone/console-login.xml \ 78*2269adc8Sszhou ../milestone/datalink-init.xml \ 79*2269adc8Sszhou ../milestone/multi-user-server.xml \ 80*2269adc8Sszhou ../milestone/aggregation.xml \ 817c478bd9Sstevel@tonic-gate ../../cmd-inet/usr.lib/inetd/inetd-upgrade.xml \ 827c478bd9Sstevel@tonic-gate ../../utmpd/utmp.xml \ 837c478bd9Sstevel@tonic-gate ../../lvm/util/metainit.xml \ 847c478bd9Sstevel@tonic-gate ../../ipf/svc/pfil.xml 857c478bd9Sstevel@tonic-gate 86*2269adc8Sszhou# 87*2269adc8Sszhou# Additional manifests for a Solaris zone 88*2269adc8Sszhou# 897c478bd9Sstevel@tonic-gateNONGLOBAL_ZONE_DESCRIPTIONS = \ 907c478bd9Sstevel@tonic-gate ../milestone/console-login.xml \ 917c478bd9Sstevel@tonic-gate ../milestone/multi-user-server.xml \ 927c478bd9Sstevel@tonic-gate ../milestone/aggregation.xml \ 937c478bd9Sstevel@tonic-gate ../../utmpd/utmp.xml 947c478bd9Sstevel@tonic-gate 95*2269adc8Sszhou# 96*2269adc8Sszhou# Additional manifests for the install miniroot. 97*2269adc8Sszhou# 98*2269adc8SszhouMINIROOT_DESCRIPTIONS= \ 99*2269adc8Sszhou ../milestone/datalink-init.xml \ 100*2269adc8Sszhou ../milestone/sysconfig.xml \ 101*2269adc8Sszhou ../../cmd-inet/usr.lib/inetd/inetd.xml \ 102*2269adc8Sszhou ../../cmd-inet/usr.sbin/login.xml \ 103*2269adc8Sszhou ../milestone/network-service.xml \ 104*2269adc8Sszhou ../../cmd-inet/usr.sbin/telnet.xml \ 105*2269adc8Sszhou ../../../lib/libresolv2/client.xml \ 106*2269adc8Sszhou ../../ldapcachemgr/client.xml \ 107*2269adc8Sszhou ../../ypcmd/client.xml \ 108*2269adc8Sszhou ../../ypcmd/server.xml \ 109*2269adc8Sszhou ../../keyserv/keyserv.xml \ 110*2269adc8Sszhou ../../rpcsvc/nisplus.xml \ 111*2269adc8Sszhou ../../cmd-crypto/scripts/cryptosvc.xml \ 112*2269adc8Sszhou ../../nscd/name-service-cache.xml \ 113*2269adc8Sszhou ../../syslogd/system-log.xml 114*2269adc8Sszhou 1157c478bd9Sstevel@tonic-gateOWNER = root 1167c478bd9Sstevel@tonic-gateGROUP = sys 1177c478bd9Sstevel@tonic-gateFILEMODE = 0600 1187c478bd9Sstevel@tonic-gateSEEDFILEMODE = 0444 # seeds are not intended for editing, but may 1197c478bd9Sstevel@tonic-gate # be copied 1207c478bd9Sstevel@tonic-gate 1217c478bd9Sstevel@tonic-gateCONFIGD = ../configd/svc.configd-native 1227c478bd9Sstevel@tonic-gateSVCCFG = ../svccfg/svccfg-native 1237c478bd9Sstevel@tonic-gate 1247c478bd9Sstevel@tonic-gate.KEEP_STATE: 1257c478bd9Sstevel@tonic-gate 126*2269adc8Sszhouall: global.db nonglobal.db miniroot.db 1277c478bd9Sstevel@tonic-gate 1287c478bd9Sstevel@tonic-gate$(CONFIGD): FRC 1297c478bd9Sstevel@tonic-gate @cd ../configd; pwd; $(MAKE) $(MFLAGS) native 1307c478bd9Sstevel@tonic-gate 1317c478bd9Sstevel@tonic-gate$(SVCCFG): FRC 1327c478bd9Sstevel@tonic-gate @cd ../svccfg; pwd; $(MAKE) $(MFLAGS) native 1337c478bd9Sstevel@tonic-gate 1347c478bd9Sstevel@tonic-gate../milestone/console-login.xml: 1357c478bd9Sstevel@tonic-gate @cd ../milestone; pwd; $(MAKE) $(MFLAGS) console-login.xml 1367c478bd9Sstevel@tonic-gate 137*2269adc8Sszhoucommon.db: $(COMMON_DESCRIPTIONS) $(CONFIGD) $(SVCCFG) 138*2269adc8Sszhou $(RM) -f common.db common.db-journal 139*2269adc8Sszhou for m in $(COMMON_DESCRIPTIONS); do \ 140*2269adc8Sszhou echo $$m; \ 141*2269adc8Sszhou SVCCFG_DTD=../dtd/service_bundle.dtd.1 \ 142*2269adc8Sszhou SVCCFG_REPOSITORY=$(SRC)/cmd/svc/seed/common.db \ 143*2269adc8Sszhou SVCCFG_CONFIGD_PATH=$(CONFIGD) \ 144*2269adc8Sszhou $(SVCCFG) import $$m; \ 145*2269adc8Sszhou done 146*2269adc8Sszhou 147*2269adc8Sszhouglobal.db: common.db $(GLOBAL_ZONE_DESCRIPTIONS) $(CONFIGD) $(SVCCFG) 1487c478bd9Sstevel@tonic-gate $(RM) -f global.db global.db-journal 149*2269adc8Sszhou $(CP) common.db global.db 1507c478bd9Sstevel@tonic-gate for m in $(GLOBAL_ZONE_DESCRIPTIONS); do \ 1517c478bd9Sstevel@tonic-gate echo $$m; \ 1527c478bd9Sstevel@tonic-gate SVCCFG_DTD=../dtd/service_bundle.dtd.1 \ 1537c478bd9Sstevel@tonic-gate SVCCFG_REPOSITORY=$(SRC)/cmd/svc/seed/global.db \ 1547c478bd9Sstevel@tonic-gate SVCCFG_CONFIGD_PATH=$(CONFIGD) \ 1557c478bd9Sstevel@tonic-gate $(SVCCFG) import $$m; \ 1567c478bd9Sstevel@tonic-gate done 1577c478bd9Sstevel@tonic-gate 158*2269adc8Sszhounonglobal.db: common.db $(NONGLOBAL_ZONE_DESCRIPTIONS) $(CONFIGD) $(SVCCFG) 159*2269adc8Sszhou $(RM) -f nonglobal.db nonglobal.db-journal 160*2269adc8Sszhou $(CP) common.db nonglobal.db 1617c478bd9Sstevel@tonic-gate for m in $(NONGLOBAL_ZONE_DESCRIPTIONS); do \ 1627c478bd9Sstevel@tonic-gate echo $$m; \ 1637c478bd9Sstevel@tonic-gate SVCCFG_DTD=../dtd/service_bundle.dtd.1 \ 1647c478bd9Sstevel@tonic-gate SVCCFG_REPOSITORY=$(SRC)/cmd/svc/seed/nonglobal.db \ 1657c478bd9Sstevel@tonic-gate SVCCFG_CONFIGD_PATH=$(CONFIGD) \ 1667c478bd9Sstevel@tonic-gate $(SVCCFG) import $$m; \ 1677c478bd9Sstevel@tonic-gate done 1687c478bd9Sstevel@tonic-gate 169*2269adc8Sszhouminiroot.db: common.db $(MINIROOT_DESCRIPTIONS) $(CONFIGD) $(SVCCFG) 170*2269adc8Sszhou $(RM) -f miniroot.db miniroot.db-journal 171*2269adc8Sszhou $(CP) common.db miniroot.db 172*2269adc8Sszhou for m in $(MINIROOT_DESCRIPTIONS); do \ 173*2269adc8Sszhou echo $$m; \ 174*2269adc8Sszhou SVCCFG_DTD=../dtd/service_bundle.dtd.1 \ 175*2269adc8Sszhou SVCCFG_REPOSITORY=$(SRC)/cmd/svc/seed/miniroot.db \ 176*2269adc8Sszhou SVCCFG_CONFIGD_PATH=$(CONFIGD) \ 177*2269adc8Sszhou $(SVCCFG) import $$m; \ 178*2269adc8Sszhou done 179*2269adc8Sszhou 180*2269adc8Sszhouinstall: install_global install_nonglobal install_miniroot 1817c478bd9Sstevel@tonic-gate 1827c478bd9Sstevel@tonic-gateinstall_global: global.db 1837c478bd9Sstevel@tonic-gate $(RM) $(LIBSVCSEED)/global.db 1847c478bd9Sstevel@tonic-gate $(INS) -f $(LIBSVCSEED) -m $(SEEDFILEMODE) -s global.db 1857c478bd9Sstevel@tonic-gate 1867c478bd9Sstevel@tonic-gateinstall_nonglobal: nonglobal.db 1877c478bd9Sstevel@tonic-gate $(RM) $(LIBSVCSEED)/nonglobal.db 1887c478bd9Sstevel@tonic-gate $(INS) -f $(LIBSVCSEED) -m $(SEEDFILEMODE) -s nonglobal.db 1897c478bd9Sstevel@tonic-gate 190*2269adc8Sszhouinstall_miniroot: $(INSTALLSEED) miniroot.db 191*2269adc8Sszhou $(RM) $(INSTALLSEED)/miniroot.db 192*2269adc8Sszhou $(INS) -f $(INSTALLSEED) -m $(SEEDFILEMODE) -s miniroot.db 193*2269adc8Sszhou 194*2269adc8Sszhou$(INSTALLSEED): 195*2269adc8Sszhou $(INS.dir) 196*2269adc8Sszhou 1977c478bd9Sstevel@tonic-gateclean lint: 198*2269adc8Sszhou $(RM) common.db 1997c478bd9Sstevel@tonic-gate 2007c478bd9Sstevel@tonic-gateclobber: 201*2269adc8Sszhou $(RM) common.db global.db nonglobal.db miniroot.db 2027c478bd9Sstevel@tonic-gate 2037c478bd9Sstevel@tonic-gateFRC: 204