Makefile revision 0ea5e3a571e3da934507bdd32924d11659c70704
7f007e36bec06aba6b3a0f84a64f2abf99edfcd8gstein#
bc23ab8c177d79287dc20f01c119cd54d0f46ef7gstein# CDDL HEADER START
2a6c49cfaef5979a5a06098f3ce987cd76769409manoj#
2a6c49cfaef5979a5a06098f3ce987cd76769409manoj# The contents of this file are subject to the terms of the
2a6c49cfaef5979a5a06098f3ce987cd76769409manoj# Common Development and Distribution License (the "License").
b876b7bcf0ce3d232da723246d709e8dbbfe8762rbb# You may not use this file except in compliance with the License.
b876b7bcf0ce3d232da723246d709e8dbbfe8762rbb#
b876b7bcf0ce3d232da723246d709e8dbbfe8762rbb# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
cf6bf6c34c936e6a6fe731dbce4a5c3c8bf8e9a3gstein# or http://www.opensolaris.org/os/licensing.
35330e0d79ceb8027223bbb8330a381b1f989d6etrawick# See the License for the specific language governing permissions
6f6f4a4bca281779d196acbdd5c017bb90858305trawick# and limitations under the License.
8dd4618c4709236b4ea297d7250d282e463ce2d8rbb#
09bd86d0db1114ee23eda0a6eb76ca055877a1cftrawick# When distributing Covered Code, include this CDDL HEADER in each
2deb319e6b3de239f45c16a3e9e836d44f1f7108rbb# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
bd929c73ef04789b7183b840d8db6e01d03a4d86rbb# If applicable, add the following below this CDDL HEADER, with the
70f6f32765cfaadd6da8de6f0fea97ddd72d8fadmanoj# fields enclosed by brackets "[]" replaced with your own identifying
2a6c49cfaef5979a5a06098f3ce987cd76769409manoj# information: Portions Copyright [yyyy] [name of copyright owner]
2a6c49cfaef5979a5a06098f3ce987cd76769409manoj#
531c23ff01a2489646f0a2029097013b328d935agstein# CDDL HEADER END
447c6ce3ff08073c44f6785d5256271fcb877512wrowe#
447c6ce3ff08073c44f6785d5256271fcb877512wrowe# Copyright 2006 Sun Microsystems, Inc. All rights reserved.
447c6ce3ff08073c44f6785d5256271fcb877512wrowe# Use is subject to license terms.
447c6ce3ff08073c44f6785d5256271fcb877512wrowe#
73cbcafbe4c5ce51e6ba8043d33235fde09b6e94trawick#ident "%Z%%M% %I% %E% SMI"
73cbcafbe4c5ce51e6ba8043d33235fde09b6e94trawick
73cbcafbe4c5ce51e6ba8043d33235fde09b6e94trawickinclude ../../Makefile.cmd
bfb62a96023822c56c9120e4ee627d4091cc59c2rbb
85cbdc16ac57fa68ce1358a308269abcd417f4d9stoddardETCSVC = $(ROOTETC)/svc
85cbdc16ac57fa68ce1358a308269abcd417f4d9stoddardLIBSVCSEED = $(ROOT)/lib/svc/seed
85cbdc16ac57fa68ce1358a308269abcd417f4d9stoddardINSTALLSEED = $(ROOT)/usr/sadm/install
d208bda4a893cc81ed5d3ed1cdd7d706e012bd42stoddard
d208bda4a893cc81ed5d3ed1cdd7d706e012bd42stoddard#
d208bda4a893cc81ed5d3ed1cdd7d706e012bd42stoddard# Because seed repository construction requires a functioning repository, a
d208bda4a893cc81ed5d3ed1cdd7d706e012bd42stoddard# working svccfg(1) binary, and XML support, the following libraries must exist
10b386767f6c87b45937244371cb751f0b454d16wrowe# on the build system or in the proto area: libscf, libuutil, and libxml2.
10b386767f6c87b45937244371cb751f0b454d16wrowe#
863ec32e13d6c9619414c48b51109f3dca99cbc6wrowe
863ec32e13d6c9619414c48b51109f3dca99cbc6wrowe#
75960f20f88dad6bc67892c711c429946063d133stoddard# We build and deliver 3 seed repositories:
75960f20f88dad6bc67892c711c429946063d133stoddard# global.db -- for a standalone Solaris (global zone)
75960f20f88dad6bc67892c711c429946063d133stoddard# nonglobal.db -- for a Solaris Zone
75960f20f88dad6bc67892c711c429946063d133stoddard# miniroot.db -- for the install miniroot
75960f20f88dad6bc67892c711c429946063d133stoddard# COMMON_DESCRIPTIONS contains manifests needed by all 3 repositories.
75960f20f88dad6bc67892c711c429946063d133stoddard# GLOBAL_ZONE_DESCRIPTIONS/NONGLOBAL_ZONE_DESCRIPTIONS/MINIROOT_DESCRIPTIONS
75960f20f88dad6bc67892c711c429946063d133stoddard# contain additional manifests needed.
10b386767f6c87b45937244371cb751f0b454d16wrowe#
10b386767f6c87b45937244371cb751f0b454d16wrowe
10b386767f6c87b45937244371cb751f0b454d16wrowe#
10b386767f6c87b45937244371cb751f0b454d16wrowe# Manifests needed by all seed repositories. If you change this, you
10b386767f6c87b45937244371cb751f0b454d16wrowe# must test Solaris standalone, Solaris zone, and Install miniroot.
10b386767f6c87b45937244371cb751f0b454d16wrowe#
10b386767f6c87b45937244371cb751f0b454d16wroweCOMMON_DESCRIPTIONS = \
10b386767f6c87b45937244371cb751f0b454d16wrowe ../milestone/boot-archive.xml \
a9e07e4f90adcc7bc768db3055431c3dcd560cd1manoj ../milestone/devices-local.xml \
f6a6245816cd866361da8c576b1f47c7a54b6610fanf ../milestone/identity.xml \
f6a6245816cd866361da8c576b1f47c7a54b6610fanf ../milestone/local-fs.xml \
97b758d0b174d7b7c5a1de1a583f5840ec3fc910trawick ../milestone/manifest-import.xml \
db3ccce11afac4fc1d4f51a65424412f7480c46cgstein ../milestone/minimal-fs.xml \
641cb23141f2238ed09e3b9fa79189225f8a2bcbrbb ../milestone/multi-user.xml \
641cb23141f2238ed09e3b9fa79189225f8a2bcbrbb ../milestone/name-services.xml \
641cb23141f2238ed09e3b9fa79189225f8a2bcbrbb ../milestone/network-initial.xml \
79d5106a9b65b956d646f5daae4b94bc79e315b8trawick ../milestone/network-loopback.xml \
79d5106a9b65b956d646f5daae4b94bc79e315b8trawick ../milestone/network-physical.xml \
79d5106a9b65b956d646f5daae4b94bc79e315b8trawick ../milestone/restarter.xml \
79d5106a9b65b956d646f5daae4b94bc79e315b8trawick ../milestone/root-fs.xml \
79d5106a9b65b956d646f5daae4b94bc79e315b8trawick ../milestone/single-user.xml \
79d5106a9b65b956d646f5daae4b94bc79e315b8trawick ../milestone/usr-fs.xml \
7f007e36bec06aba6b3a0f84a64f2abf99edfcd8gstein ../../rpcbind/bind.xml \
7f007e36bec06aba6b3a0f84a64f2abf99edfcd8gstein
7f007e36bec06aba6b3a0f84a64f2abf99edfcd8gstein#
7f007e36bec06aba6b3a0f84a64f2abf99edfcd8gstein# Additional manifests for standalone Solaris
b876b7bcf0ce3d232da723246d709e8dbbfe8762rbb#
b876b7bcf0ce3d232da723246d709e8dbbfe8762rbbGLOBAL_ZONE_DESCRIPTIONS = \
b876b7bcf0ce3d232da723246d709e8dbbfe8762rbb ../milestone/console-login.xml \
b876b7bcf0ce3d232da723246d709e8dbbfe8762rbb ../milestone/multi-user-server.xml \
b876b7bcf0ce3d232da723246d709e8dbbfe8762rbb ../../cmd-inet/usr.lib/inetd/inetd-upgrade.xml \
b876b7bcf0ce3d232da723246d709e8dbbfe8762rbb ../../utmpd/utmp.xml \
b876b7bcf0ce3d232da723246d709e8dbbfe8762rbb ../../lvm/util/metainit.xml \
b876b7bcf0ce3d232da723246d709e8dbbfe8762rbb ../../ipf/svc/pfil.xml
b876b7bcf0ce3d232da723246d709e8dbbfe8762rbb
b876b7bcf0ce3d232da723246d709e8dbbfe8762rbb#
b876b7bcf0ce3d232da723246d709e8dbbfe8762rbb# Additional manifests for a Solaris zone
b876b7bcf0ce3d232da723246d709e8dbbfe8762rbb#
b876b7bcf0ce3d232da723246d709e8dbbfe8762rbbNONGLOBAL_ZONE_DESCRIPTIONS = \
b876b7bcf0ce3d232da723246d709e8dbbfe8762rbb ../milestone/console-login.xml \
b876b7bcf0ce3d232da723246d709e8dbbfe8762rbb ../milestone/multi-user-server.xml \
7f007e36bec06aba6b3a0f84a64f2abf99edfcd8gstein ../../utmpd/utmp.xml
2a6c49cfaef5979a5a06098f3ce987cd76769409manoj
531c23ff01a2489646f0a2029097013b328d935agstein#
b187d568e1507d75139ebc13ca945b38fc05d55cstoddard# Additional manifests for the install miniroot.
b187d568e1507d75139ebc13ca945b38fc05d55cstoddard#
b187d568e1507d75139ebc13ca945b38fc05d55cstoddardMINIROOT_DESCRIPTIONS= \
1c6fb1e726ce22694de0e9a957adb67b929e5d4fstoddard ../milestone/sysconfig.xml \
1c6fb1e726ce22694de0e9a957adb67b929e5d4fstoddard ../../cmd-inet/usr.lib/inetd/inetd.xml \
1c6fb1e726ce22694de0e9a957adb67b929e5d4fstoddard ../../cmd-inet/usr.sbin/login.xml \
1c6fb1e726ce22694de0e9a957adb67b929e5d4fstoddard ../milestone/network-service.xml \
1c6fb1e726ce22694de0e9a957adb67b929e5d4fstoddard ../../cmd-inet/usr.sbin/telnet.xml \
8bed76428f56e5c643174a2d6807c3f18016af5cbjh ../../../lib/libresolv2/client.xml \
8bed76428f56e5c643174a2d6807c3f18016af5cbjh ../../ldapcachemgr/client.xml \
8bed76428f56e5c643174a2d6807c3f18016af5cbjh ../../ypcmd/client.xml \
8bed76428f56e5c643174a2d6807c3f18016af5cbjh ../../ypcmd/server.xml \
8bed76428f56e5c643174a2d6807c3f18016af5cbjh ../../keyserv/keyserv.xml \
2aae6faee508221efbeaba5547ca79b7a20ef047stoddard ../../rpcsvc/nisplus.xml \
2aae6faee508221efbeaba5547ca79b7a20ef047stoddard ../../cmd-crypto/scripts/cryptosvc.xml \
10b386767f6c87b45937244371cb751f0b454d16wrowe ../../nscd/name-service-cache.xml \
10b386767f6c87b45937244371cb751f0b454d16wrowe ../../syslogd/system-log.xml
10b386767f6c87b45937244371cb751f0b454d16wrowe
10b386767f6c87b45937244371cb751f0b454d16wroweOWNER = root
10b386767f6c87b45937244371cb751f0b454d16wroweGROUP = sys
10b386767f6c87b45937244371cb751f0b454d16wroweFILEMODE = 0600
75960f20f88dad6bc67892c711c429946063d133stoddardSEEDFILEMODE = 0444 # seeds are not intended for editing, but may
a5ed555df952c85bc1b179f5981e8a6c54ba16e6stoddard # be copied
d2f8b010487ffa990a9c268df5a25579e7291bcdrbb
d2f8b010487ffa990a9c268df5a25579e7291bcdrbbCONFIGD = ../configd/svc.configd-native
a5ed555df952c85bc1b179f5981e8a6c54ba16e6stoddardSVCCFG = ../svccfg/svccfg-native
0bff2f28ef945280c17099c142126178a78e1e54manoj
0bff2f28ef945280c17099c142126178a78e1e54manoj.KEEP_STATE:
0bff2f28ef945280c17099c142126178a78e1e54manoj
1e585ba09ea32272e63c4c39c35491e975d21d98stoddardall: global.db nonglobal.db miniroot.db
0bff2f28ef945280c17099c142126178a78e1e54manoj
35330e0d79ceb8027223bbb8330a381b1f989d6etrawick$(CONFIGD): FRC
0bff2f28ef945280c17099c142126178a78e1e54manoj @cd ../configd; pwd; $(MAKE) $(MFLAGS) native
9c09943bad734ebd5c7cc10bd6d63b75c4c6e056stoddard
75960f20f88dad6bc67892c711c429946063d133stoddard$(SVCCFG): FRC
f03d292915be9977eaf74e9be7b0404aec226f84manoj @cd ../svccfg; pwd; $(MAKE) $(MFLAGS) native
302dc1f7b3feee23a91ad8f3cf3cb2edd95a557bmanoj
302dc1f7b3feee23a91ad8f3cf3cb2edd95a557bmanoj../milestone/console-login.xml:
302dc1f7b3feee23a91ad8f3cf3cb2edd95a557bmanoj @cd ../milestone; pwd; $(MAKE) $(MFLAGS) console-login.xml
302dc1f7b3feee23a91ad8f3cf3cb2edd95a557bmanoj
ff849e4163ed879288f0df15f78b6c9d278ec804fanfcommon.db: $(COMMON_DESCRIPTIONS) $(CONFIGD) $(SVCCFG)
ff849e4163ed879288f0df15f78b6c9d278ec804fanf $(RM) -f common.db common.db-journal
9805ac88e1befa6dea11d8513023f150d8f8e807fanf for m in $(COMMON_DESCRIPTIONS); do \
9805ac88e1befa6dea11d8513023f150d8f8e807fanf echo $$m; \
9805ac88e1befa6dea11d8513023f150d8f8e807fanf SVCCFG_DTD=../dtd/service_bundle.dtd.1 \
9805ac88e1befa6dea11d8513023f150d8f8e807fanf SVCCFG_REPOSITORY=$(SRC)/cmd/svc/seed/common.db \
cf6bf6c34c936e6a6fe731dbce4a5c3c8bf8e9a3gstein SVCCFG_CONFIGD_PATH=$(CONFIGD) \
df4a7c143b27b489dd2d865bb3f6668c8420b3a9fanf $(SVCCFG) import $$m; \
447c6ce3ff08073c44f6785d5256271fcb877512wrowe done
447c6ce3ff08073c44f6785d5256271fcb877512wrowe
447c6ce3ff08073c44f6785d5256271fcb877512wroweglobal.db: common.db $(GLOBAL_ZONE_DESCRIPTIONS) $(CONFIGD) $(SVCCFG)
447c6ce3ff08073c44f6785d5256271fcb877512wrowe $(RM) -f global.db global.db-journal
447c6ce3ff08073c44f6785d5256271fcb877512wrowe $(CP) common.db global.db
447c6ce3ff08073c44f6785d5256271fcb877512wrowe for m in $(GLOBAL_ZONE_DESCRIPTIONS); do \
cf6bf6c34c936e6a6fe731dbce4a5c3c8bf8e9a3gstein echo $$m; \
cf6bf6c34c936e6a6fe731dbce4a5c3c8bf8e9a3gstein SVCCFG_DTD=../dtd/service_bundle.dtd.1 \
c03566fa0156d3a1500a42e4fe539e3e0fc8a11dgstein SVCCFG_REPOSITORY=$(SRC)/cmd/svc/seed/global.db \
db3ccce11afac4fc1d4f51a65424412f7480c46cgstein SVCCFG_CONFIGD_PATH=$(CONFIGD) \
dd4713dc5b186f4d1be7b88f86608fdb84cbe5d5gstein $(SVCCFG) import $$m; \
0eb7ca6cf812d98c534661ac474e873a32bf6325gstein done
cf6bf6c34c936e6a6fe731dbce4a5c3c8bf8e9a3gstein
8d07897b52e3b7055874501f8a499e75800db206gsteinnonglobal.db: common.db $(NONGLOBAL_ZONE_DESCRIPTIONS) $(CONFIGD) $(SVCCFG)
8d07897b52e3b7055874501f8a499e75800db206gstein $(RM) -f nonglobal.db nonglobal.db-journal
db3ccce11afac4fc1d4f51a65424412f7480c46cgstein $(CP) common.db nonglobal.db
79d5106a9b65b956d646f5daae4b94bc79e315b8trawick for m in $(NONGLOBAL_ZONE_DESCRIPTIONS); do \
79d5106a9b65b956d646f5daae4b94bc79e315b8trawick echo $$m; \
79d5106a9b65b956d646f5daae4b94bc79e315b8trawick SVCCFG_DTD=../dtd/service_bundle.dtd.1 \
cf6bf6c34c936e6a6fe731dbce4a5c3c8bf8e9a3gstein SVCCFG_REPOSITORY=$(SRC)/cmd/svc/seed/nonglobal.db \
cf6bf6c34c936e6a6fe731dbce4a5c3c8bf8e9a3gstein SVCCFG_CONFIGD_PATH=$(CONFIGD) \
cf6bf6c34c936e6a6fe731dbce4a5c3c8bf8e9a3gstein $(SVCCFG) import $$m; \
6fa71a1bd8c61518b05f5798a7a1594c270e78afrbb done
93c5cba06b623ebe8e4372e886eece12d9a80c3egstein
14cccaddba3a9263cf0d0ddc311e18f3e3dc9b0fgsteinminiroot.db: common.db $(MINIROOT_DESCRIPTIONS) $(CONFIGD) $(SVCCFG)
14cccaddba3a9263cf0d0ddc311e18f3e3dc9b0fgstein $(RM) -f miniroot.db miniroot.db-journal
14cccaddba3a9263cf0d0ddc311e18f3e3dc9b0fgstein $(CP) common.db miniroot.db
14cccaddba3a9263cf0d0ddc311e18f3e3dc9b0fgstein for m in $(MINIROOT_DESCRIPTIONS); do \
14cccaddba3a9263cf0d0ddc311e18f3e3dc9b0fgstein echo $$m; \
14cccaddba3a9263cf0d0ddc311e18f3e3dc9b0fgstein SVCCFG_DTD=../dtd/service_bundle.dtd.1 \
eb3def494ba5580320dfe1dd47b4d8b05519cb74gstein SVCCFG_REPOSITORY=$(SRC)/cmd/svc/seed/miniroot.db \
eb3def494ba5580320dfe1dd47b4d8b05519cb74gstein SVCCFG_CONFIGD_PATH=$(CONFIGD) \
eb3def494ba5580320dfe1dd47b4d8b05519cb74gstein $(SVCCFG) import $$m; \
cf6bf6c34c936e6a6fe731dbce4a5c3c8bf8e9a3gstein done
eb3def494ba5580320dfe1dd47b4d8b05519cb74gstein #
1e088f9182ba67f39713fcb850e11934be5f6d17gstein # Make sure the miniroot's syslogd and rpcbind do not respond
1e088f9182ba67f39713fcb850e11934be5f6d17gstein # to packets from outside the machine. Since we cannot set property
823c303d33c9e637a83d82208bcbafaf5f532d7bgstein # values by applying a profile yet, we need to set them explicitly
823c303d33c9e637a83d82208bcbafaf5f532d7bgstein # with svccfg commands.
e636eba7474e0010b5c7198af1c2fe5ad8652dbbmanoj #
e636eba7474e0010b5c7198af1c2fe5ad8652dbbmanoj SVCCFG_DTD=../dtd/service_bundle.dtd.1 \
e636eba7474e0010b5c7198af1c2fe5ad8652dbbmanoj SVCCFG_REPOSITORY=$(SRC)/cmd/svc/seed/miniroot.db \
531c23ff01a2489646f0a2029097013b328d935agstein SVCCFG_CONFIGD_PATH=$(CONFIGD) \
531c23ff01a2489646f0a2029097013b328d935agstein $(SVCCFG) -s svc:/system/system-log \
531c23ff01a2489646f0a2029097013b328d935agstein setprop config/log_from_remote = false
531c23ff01a2489646f0a2029097013b328d935agstein #
531c23ff01a2489646f0a2029097013b328d935agstein SVCCFG_DTD=../dtd/service_bundle.dtd.1 \
bc23ab8c177d79287dc20f01c119cd54d0f46ef7gstein SVCCFG_REPOSITORY=$(SRC)/cmd/svc/seed/miniroot.db \
bc23ab8c177d79287dc20f01c119cd54d0f46ef7gstein SVCCFG_CONFIGD_PATH=$(CONFIGD) \
bc23ab8c177d79287dc20f01c119cd54d0f46ef7gstein $(SVCCFG) -s svc:/network/rpc/bind setprop config/local_only = true
bc23ab8c177d79287dc20f01c119cd54d0f46ef7gstein
bc23ab8c177d79287dc20f01c119cd54d0f46ef7gsteininstall: install_global install_nonglobal install_miniroot
64ad864fa0f4493eebb181e393b40a8a90beccb9coar
64ad864fa0f4493eebb181e393b40a8a90beccb9coarinstall_global: global.db
64ad864fa0f4493eebb181e393b40a8a90beccb9coar $(RM) $(LIBSVCSEED)/global.db
64ad864fa0f4493eebb181e393b40a8a90beccb9coar $(INS) -f $(LIBSVCSEED) -m $(SEEDFILEMODE) -s global.db
64ad864fa0f4493eebb181e393b40a8a90beccb9coar
28d1da9ca818f831ea491f110dafcc10f7f07050coarinstall_nonglobal: nonglobal.db
64ad864fa0f4493eebb181e393b40a8a90beccb9coar $(RM) $(LIBSVCSEED)/nonglobal.db
64ad864fa0f4493eebb181e393b40a8a90beccb9coar $(INS) -f $(LIBSVCSEED) -m $(SEEDFILEMODE) -s nonglobal.db
64ad864fa0f4493eebb181e393b40a8a90beccb9coar
28d1da9ca818f831ea491f110dafcc10f7f07050coarinstall_miniroot: $(INSTALLSEED) miniroot.db
64ad864fa0f4493eebb181e393b40a8a90beccb9coar $(RM) $(INSTALLSEED)/miniroot.db
64ad864fa0f4493eebb181e393b40a8a90beccb9coar $(INS) -f $(INSTALLSEED) -m $(SEEDFILEMODE) -s miniroot.db
64ad864fa0f4493eebb181e393b40a8a90beccb9coar
28d1da9ca818f831ea491f110dafcc10f7f07050coar$(INSTALLSEED):
64ad864fa0f4493eebb181e393b40a8a90beccb9coar $(INS.dir)
64ad864fa0f4493eebb181e393b40a8a90beccb9coar
64ad864fa0f4493eebb181e393b40a8a90beccb9coarclean lint:
28d1da9ca818f831ea491f110dafcc10f7f07050coar $(RM) common.db
64ad864fa0f4493eebb181e393b40a8a90beccb9coar
64ad864fa0f4493eebb181e393b40a8a90beccb9coarclobber:
64ad864fa0f4493eebb181e393b40a8a90beccb9coar $(RM) common.db global.db nonglobal.db miniroot.db
64ad864fa0f4493eebb181e393b40a8a90beccb9coar
28d1da9ca818f831ea491f110dafcc10f7f07050coarFRC:
64ad864fa0f4493eebb181e393b40a8a90beccb9coar