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 50ea5e3a5Sjjj# Common Development and Distribution License (the "License"). 60ea5e3a5Sjjj# You may not use this file except in compliance with the License. 77c478bd9Sstevel@tonic-gate# 87c478bd9Sstevel@tonic-gate# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 97c478bd9Sstevel@tonic-gate# or http://www.opensolaris.org/os/licensing. 107c478bd9Sstevel@tonic-gate# See the License for the specific language governing permissions 117c478bd9Sstevel@tonic-gate# and limitations under the License. 127c478bd9Sstevel@tonic-gate# 137c478bd9Sstevel@tonic-gate# When distributing Covered Code, include this CDDL HEADER in each 147c478bd9Sstevel@tonic-gate# file and include the License file at usr/src/OPENSOLARIS.LICENSE. 157c478bd9Sstevel@tonic-gate# If applicable, add the following below this CDDL HEADER, with the 167c478bd9Sstevel@tonic-gate# fields enclosed by brackets "[]" replaced with your own identifying 177c478bd9Sstevel@tonic-gate# information: Portions Copyright [yyyy] [name of copyright owner] 187c478bd9Sstevel@tonic-gate# 197c478bd9Sstevel@tonic-gate# CDDL HEADER END 207c478bd9Sstevel@tonic-gate# 215f10ef69SYuri Pankov 225f10ef69SYuri Pankov# 236ba597c5SAnurag S. Maskey# Copyright 2010 Sun Microsystems, Inc. All rights reserved. 247c478bd9Sstevel@tonic-gate# Use is subject to license terms. 255f10ef69SYuri Pankov# Copyright 2016 Nexenta Systems, Inc. 26f81209f5SAndy Fiddaman# Copyright 2021 OmniOS Community Edition (OmniOSce) Association. 277c478bd9Sstevel@tonic-gate# 287c478bd9Sstevel@tonic-gate 297c478bd9Sstevel@tonic-gateinclude ../../Makefile.cmd 307c478bd9Sstevel@tonic-gate 317c478bd9Sstevel@tonic-gateETCSVC = $(ROOTETC)/svc 327c478bd9Sstevel@tonic-gateLIBSVCSEED = $(ROOT)/lib/svc/seed 332269adc8SszhouINSTALLSEED = $(ROOT)/usr/sadm/install 347c478bd9Sstevel@tonic-gate 357c478bd9Sstevel@tonic-gate# 367c478bd9Sstevel@tonic-gate# Because seed repository construction requires a functioning repository, a 377c478bd9Sstevel@tonic-gate# working svccfg(1) binary, and XML support, the following libraries must exist 387c478bd9Sstevel@tonic-gate# on the build system or in the proto area: libscf, libuutil, and libxml2. 397c478bd9Sstevel@tonic-gate# 407c478bd9Sstevel@tonic-gate 41f81209f5SAndy FiddamanMFST_ROOT=lib/svc/manifest 42f81209f5SAndy FiddamanMFST_TYPE= \ 43f81209f5SAndy Fiddaman system \ 44f81209f5SAndy Fiddaman system/device \ 45f81209f5SAndy Fiddaman system/filesystem \ 46f81209f5SAndy Fiddaman system/svc \ 47f81209f5SAndy Fiddaman milestone \ 48f81209f5SAndy Fiddaman network \ 49f81209f5SAndy Fiddaman network/dns \ 50f81209f5SAndy Fiddaman network/ldap \ 51f81209f5SAndy Fiddaman network/nis \ 52f81209f5SAndy Fiddaman network/rpc 53f81209f5SAndy Fiddaman 54f81209f5SAndy FiddamanMFST_DIRS = $(MFST_TYPE:%=$(MFST_ROOT)/%) 55f81209f5SAndy Fiddaman 567c478bd9Sstevel@tonic-gate# 572269adc8Sszhou# We build and deliver 3 seed repositories: 58f81209f5SAndy Fiddaman# global.db -- for a standalone system (global zone) 59f81209f5SAndy Fiddaman# nonglobal.db -- for a non-global zone 602269adc8Sszhou# miniroot.db -- for the install miniroot 61f81209f5SAndy Fiddaman# 62f81209f5SAndy Fiddaman# COMMON_MANIFESTS contains manifests needed by all 3 repositories. 63f81209f5SAndy Fiddaman# {GLOBAL_ZONE,NONGLOBAL_ZONE,MINIROOT}_MANIFESTS 642269adc8Sszhou# contain additional manifests needed. 657c478bd9Sstevel@tonic-gate# 662269adc8Sszhou 672269adc8Sszhou# 68f81209f5SAndy Fiddaman# Manifests needed by all seed repositories. 692269adc8Sszhou# 70f81209f5SAndy FiddamanCOMMON_MANIFESTS = \ 71f81209f5SAndy Fiddaman milestone/multi-user.xml \ 72f81209f5SAndy Fiddaman milestone/name-services.xml \ 73f81209f5SAndy Fiddaman milestone/single-user.xml \ 74f81209f5SAndy Fiddaman network/dlmgmt.xml \ 75f81209f5SAndy Fiddaman network/network-initial.xml \ 76f81209f5SAndy Fiddaman network/network-ipmgmt.xml \ 77f81209f5SAndy Fiddaman network/network-loopback.xml \ 78f81209f5SAndy Fiddaman network/network-netcfg.xml \ 79f81209f5SAndy Fiddaman network/network-physical.xml \ 80f81209f5SAndy Fiddaman network/rpc/bind.xml \ 81f81209f5SAndy Fiddaman system/boot-archive.xml \ 82f81209f5SAndy Fiddaman system/device/devices-local.xml \ 83f81209f5SAndy Fiddaman system/filesystem/local-fs.xml \ 84f81209f5SAndy Fiddaman system/filesystem/minimal-fs.xml \ 85f81209f5SAndy Fiddaman system/filesystem/root-fs.xml \ 86f81209f5SAndy Fiddaman system/filesystem/usr-fs.xml \ 87f81209f5SAndy Fiddaman system/identity.xml \ 88f81209f5SAndy Fiddaman system/manifest-import.xml \ 89f81209f5SAndy Fiddaman system/svc/global.xml \ 90f81209f5SAndy Fiddaman system/svc/restarter.xml 912269adc8Sszhou 922269adc8Sszhou# 93f81209f5SAndy Fiddaman# Additional manifests for a standalone system (global zone) 942269adc8Sszhou# 95f81209f5SAndy FiddamanGLOBAL_ZONE_MANIFESTS = \ 96f81209f5SAndy Fiddaman milestone/multi-user-server.xml \ 97f81209f5SAndy Fiddaman network/inetd-upgrade.xml \ 98f81209f5SAndy Fiddaman system/console-login.xml \ 99f81209f5SAndy Fiddaman system/utmp.xml 1007c478bd9Sstevel@tonic-gate 1012269adc8Sszhou# 102f81209f5SAndy Fiddaman# Additional manifests for a non-global zone 1032269adc8Sszhou# 104f81209f5SAndy FiddamanNONGLOBAL_ZONE_MANIFESTS = \ 105f81209f5SAndy Fiddaman milestone/multi-user-server.xml \ 106f81209f5SAndy Fiddaman system/console-login.xml \ 107f81209f5SAndy Fiddaman system/utmp.xml 1087c478bd9Sstevel@tonic-gate 1092269adc8Sszhou# 1102269adc8Sszhou# Additional manifests for the install miniroot. 1112269adc8Sszhou# 112f81209f5SAndy FiddamanMINIROOT_MANIFESTS= \ 113f81209f5SAndy Fiddaman milestone/sysconfig.xml \ 114f81209f5SAndy Fiddaman network/dns/client.xml \ 115f81209f5SAndy Fiddaman network/inetd.xml \ 116f81209f5SAndy Fiddaman network/ldap/client.xml \ 117f81209f5SAndy Fiddaman network/login.xml \ 118f81209f5SAndy Fiddaman network/network-service.xml \ 119f81209f5SAndy Fiddaman network/nis/client.xml \ 120f81209f5SAndy Fiddaman network/nis/server.xml \ 121f81209f5SAndy Fiddaman network/rpc/keyserv.xml \ 122f81209f5SAndy Fiddaman network/telnet.xml \ 123f81209f5SAndy Fiddaman system/cryptosvc.xml \ 124f81209f5SAndy Fiddaman system/name-service-cache.xml \ 125f81209f5SAndy Fiddaman system/system-log.xml 126f81209f5SAndy Fiddaman 127f81209f5SAndy Fiddaman 128f81209f5SAndy FiddamanCOMMON_DESCRIPTIONS=$(COMMON_MANIFESTS:%=$(MFST_ROOT)/%) 129f81209f5SAndy FiddamanGLOBAL_ZONE_DESCRIPTIONS=$(GLOBAL_ZONE_MANIFESTS:%=$(MFST_ROOT)/%) 130f81209f5SAndy FiddamanNONGLOBAL_ZONE_DESCRIPTIONS=$(NONGLOBAL_ZONE_MANIFESTS:%=$(MFST_ROOT)/%) 131f81209f5SAndy FiddamanMINIROOT_DESCRIPTIONS=$(MINIROOT_MANIFESTS:%=$(MFST_ROOT)/%) 1322269adc8Sszhou 1337c478bd9Sstevel@tonic-gateFILEMODE = 0600 134f81209f5SAndy Fiddaman# seeds are not intended for editing, but may be copied 135f81209f5SAndy FiddamanSEEDFILEMODE = 0444 1367c478bd9Sstevel@tonic-gate 1377c478bd9Sstevel@tonic-gate.KEEP_STATE: 1387c478bd9Sstevel@tonic-gate 1392269adc8Sszhouall: global.db nonglobal.db miniroot.db 1407c478bd9Sstevel@tonic-gate 1417c478bd9Sstevel@tonic-gate../milestone/console-login.xml: 142f96a0cefSRichard Lowe @cd ../milestone; pwd; $(MAKE) console-login.xml 1437c478bd9Sstevel@tonic-gate 144f81209f5SAndy FiddamanCONFIGD_ENV = \ 1452269adc8Sszhou SVCCFG_DTD=../dtd/service_bundle.dtd.1 \ 146f81209f5SAndy Fiddaman PKG_INSTALL_ROOT=$(SRC)/cmd/svc/seed \ 147f81209f5SAndy Fiddaman SVCCFG_REPOSITORY=$(SRC)/cmd/svc/seed/$@ \ 148*9b9d39d2SRichard Lowe SVCCFG_CONFIGD_PATH=$(SVCCONFIGD) 1492269adc8Sszhou 150f81209f5SAndy FiddamanIMPORT.mfst = $(CONFIGD_ENV) $(SVCCFG) import 1517c478bd9Sstevel@tonic-gate 152*9b9d39d2SRichard Lowecommon.db: $(MFST_DIRS) $(COMMON_DESCRIPTIONS) 153f81209f5SAndy Fiddaman $(RM) -f $@ $@-journal 154f81209f5SAndy Fiddaman $(IMPORT.mfst) $(COMMON_DESCRIPTIONS) 1557c478bd9Sstevel@tonic-gate 156f81209f5SAndy Fiddamanglobal.db: common.db $(GLOBAL_ZONE_DESCRIPTIONS) 157f81209f5SAndy Fiddaman $(RM) -f $@ $@-journal 158f81209f5SAndy Fiddaman $(CP) common.db $@ 159f81209f5SAndy Fiddaman $(IMPORT.mfst) $(GLOBAL_ZONE_DESCRIPTIONS) 160f81209f5SAndy Fiddaman 161f81209f5SAndy Fiddamannonglobal.db: common.db $(NONGLOBAL_ZONE_DESCRIPTIONS) 162f81209f5SAndy Fiddaman $(RM) -f $@ $@-journal 163f81209f5SAndy Fiddaman $(CP) common.db $@ 164f81209f5SAndy Fiddaman $(IMPORT.mfst) $(NONGLOBAL_ZONE_DESCRIPTIONS) 165f81209f5SAndy Fiddaman 166f81209f5SAndy Fiddamanminiroot.db: common.db $(MINIROOT_DESCRIPTIONS) 167f81209f5SAndy Fiddaman $(RM) -f $@ $@-journal 168f81209f5SAndy Fiddaman $(CP) common.db $@ 169f81209f5SAndy Fiddaman $(IMPORT.mfst) $(MINIROOT_DESCRIPTIONS) 1700ea5e3a5Sjjj # 1710ea5e3a5Sjjj # Make sure the miniroot's syslogd and rpcbind do not respond 1720ea5e3a5Sjjj # to packets from outside the machine. Since we cannot set property 1730ea5e3a5Sjjj # values by applying a profile yet, we need to set them explicitly 1740ea5e3a5Sjjj # with svccfg commands. 1750ea5e3a5Sjjj # 176f81209f5SAndy Fiddaman $(CONFIGD_ENV) $(SVCCFG) -s svc:/system/system-log \ 1770ea5e3a5Sjjj setprop config/log_from_remote = false 178f81209f5SAndy Fiddaman $(CONFIGD_ENV) $(SVCCFG) -s svc:/network/rpc/bind \ 179f81209f5SAndy Fiddaman setprop config/local_only = true 180f81209f5SAndy Fiddaman 181f81209f5SAndy Fiddaman.PARALLEL: global.db nonglobal.db miniroot.db 1822269adc8Sszhou 1832269adc8Sszhouinstall: install_global install_nonglobal install_miniroot 1847c478bd9Sstevel@tonic-gate 1857c478bd9Sstevel@tonic-gateinstall_global: global.db 1867c478bd9Sstevel@tonic-gate $(RM) $(LIBSVCSEED)/global.db 1877c478bd9Sstevel@tonic-gate $(INS) -f $(LIBSVCSEED) -m $(SEEDFILEMODE) -s global.db 1887c478bd9Sstevel@tonic-gate 1897c478bd9Sstevel@tonic-gateinstall_nonglobal: nonglobal.db 1907c478bd9Sstevel@tonic-gate $(RM) $(LIBSVCSEED)/nonglobal.db 1917c478bd9Sstevel@tonic-gate $(INS) -f $(LIBSVCSEED) -m $(SEEDFILEMODE) -s nonglobal.db 1927c478bd9Sstevel@tonic-gate 1932269adc8Sszhouinstall_miniroot: $(INSTALLSEED) miniroot.db 1942269adc8Sszhou $(RM) $(INSTALLSEED)/miniroot.db 1952269adc8Sszhou $(INS) -f $(INSTALLSEED) -m $(SEEDFILEMODE) -s miniroot.db 1962269adc8Sszhou 1972269adc8Sszhou$(INSTALLSEED): 1982269adc8Sszhou $(INS.dir) 1992269adc8Sszhou 200f81209f5SAndy Fiddamanclean: 2012269adc8Sszhou $(RM) common.db 202f81209f5SAndy Fiddaman $(RM) $(COMMON_DESCRIPTIONS) $(GLOBAL_ZONE_DESCRIPTIONS) 203f81209f5SAndy Fiddaman $(RM) $(NON_GLOBAL_ZONE_DESCRIPTIONS) $(MINIROOT_DESCRIPTIONS) 2047c478bd9Sstevel@tonic-gate 2057c478bd9Sstevel@tonic-gateclobber: 2062269adc8Sszhou $(RM) common.db global.db nonglobal.db miniroot.db 207f81209f5SAndy Fiddaman $(RM) -r lib/ 208f81209f5SAndy Fiddaman 209f81209f5SAndy Fiddaman$(MFST_DIRS): FRC 210f81209f5SAndy Fiddaman $(INS.dir) 211f81209f5SAndy Fiddaman 212f81209f5SAndy Fiddaman$(MFST_ROOT)/milestone/%: ../milestone/% 213f81209f5SAndy Fiddaman $(INS.file) 214f81209f5SAndy Fiddaman 215f81209f5SAndy Fiddaman$(MFST_ROOT)/network/%: ../../cmd-inet/lib/ipmgmtd/% 216f81209f5SAndy Fiddaman $(INS.file) 217f81209f5SAndy Fiddaman 218f81209f5SAndy Fiddaman$(MFST_ROOT)/network/%: ../../cmd-inet/usr.lib/inetd/% 219f81209f5SAndy Fiddaman $(INS.file) 220f81209f5SAndy Fiddaman 221f81209f5SAndy Fiddaman$(MFST_ROOT)/network/%: ../../cmd-inet/usr.sbin/% 222f81209f5SAndy Fiddaman $(INS.file) 223f81209f5SAndy Fiddaman 224f81209f5SAndy Fiddaman$(MFST_ROOT)/network/%: ../../dlmgmtd/% 225f81209f5SAndy Fiddaman $(INS.file) 226f81209f5SAndy Fiddaman 227f81209f5SAndy Fiddaman$(MFST_ROOT)/network/%: ../milestone/% 228f81209f5SAndy Fiddaman $(INS.file) 229f81209f5SAndy Fiddaman 230f81209f5SAndy Fiddaman$(MFST_ROOT)/network/dns/%: ../../../lib/libresolv2/% 231f81209f5SAndy Fiddaman $(INS.file) 232f81209f5SAndy Fiddaman 233f81209f5SAndy Fiddaman$(MFST_ROOT)/network/ldap/%: ../../ldapcachemgr/% 234f81209f5SAndy Fiddaman $(INS.file) 235f81209f5SAndy Fiddaman 236f81209f5SAndy Fiddaman$(MFST_ROOT)/network/nis/%: ../../ypcmd/% 237f81209f5SAndy Fiddaman $(INS.file) 238f81209f5SAndy Fiddaman 239f81209f5SAndy Fiddaman$(MFST_ROOT)/network/rpc/%: ../../keyserv/% 240f81209f5SAndy Fiddaman $(INS.file) 241f81209f5SAndy Fiddaman 242f81209f5SAndy Fiddaman$(MFST_ROOT)/network/rpc/%: ../../rpcbind/% 243f81209f5SAndy Fiddaman $(INS.file) 244f81209f5SAndy Fiddaman 245f81209f5SAndy Fiddaman$(MFST_ROOT)/system/%: ../../cmd-crypto/scripts/% 246f81209f5SAndy Fiddaman $(INS.file) 247f81209f5SAndy Fiddaman 248f81209f5SAndy Fiddaman$(MFST_ROOT)/system/%: ../../nscd/% 249f81209f5SAndy Fiddaman $(INS.file) 250f81209f5SAndy Fiddaman 251f81209f5SAndy Fiddaman$(MFST_ROOT)/system/%: ../../syslogd/% 252f81209f5SAndy Fiddaman $(INS.file) 253f81209f5SAndy Fiddaman 254f81209f5SAndy Fiddaman$(MFST_ROOT)/system/%: ../../utmpd/% 255f81209f5SAndy Fiddaman $(INS.file) 256f81209f5SAndy Fiddaman 257f81209f5SAndy Fiddaman$(MFST_ROOT)/system/%: ../milestone/% 258f81209f5SAndy Fiddaman $(INS.file) 259f81209f5SAndy Fiddaman 260f81209f5SAndy Fiddaman$(MFST_ROOT)/system/device/%: ../milestone/% 261f81209f5SAndy Fiddaman $(INS.file) 262f81209f5SAndy Fiddaman 263f81209f5SAndy Fiddaman$(MFST_ROOT)/system/filesystem/%: ../milestone/% 264f81209f5SAndy Fiddaman $(INS.file) 265f81209f5SAndy Fiddaman 266f81209f5SAndy Fiddaman$(MFST_ROOT)/system/svc/%: ../milestone/% 267f81209f5SAndy Fiddaman $(INS.file) 2687c478bd9Sstevel@tonic-gate 2697c478bd9Sstevel@tonic-gateFRC: 270