make-rules/build-zone.mk
changeset 3817 30b42c38bbc4
parent 3814 60344306d223
child 3820 1063fcafa7a5
--- a/make-rules/build-zone.mk	Mon Feb 16 13:54:04 2015 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,143 +0,0 @@
-#
-# CDDL HEADER START
-#
-# The contents of this file are subject to the terms of the
-# Common Development and Distribution License (the "License").
-# You may not use this file except in compliance with the License.
-#
-# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-# or http://www.opensolaris.org/os/licensing.
-# See the License for the specific language governing permissions
-# and limitations under the License.
-#
-# When distributing Covered Code, include this CDDL HEADER in each
-# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-# If applicable, add the following below this CDDL HEADER, with the
-# fields enclosed by brackets "[]" replaced with your own identifying
-# information: Portions Copyright [yyyy] [name of copyright owner]
-#
-# CDDL HEADER END
-#
-# Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
-#
-
-#
-# Rules and Macros for creating a template build zone from the installed system
-# and a set of build zones that are clones of the template build zone.
-#
-# To use these rules to create a template build zone
-#  $ gmake -f make-rules/build-zone.mk template-build-zone
-#
-# To use these rules to clone the template zone
-#  $ gmake -f make-rules/build-zone.mk build-zone-[1-9]
-# or
-#  $ gmake -f make-rules/build-zone.mk \
-#		/rpool/zones/build-zone-{*}/root/etc/sysidcfg
-#
-# Before you create any cloned build zones, it is recommended that you create
-# the template build zone, boot it, and make any customizations to it first.
-# The act of booting the template zone will cause it to perform any "first boot"
-# tasks that might othwise slow down the initial boot of a new build zone.
-# Also, all customizations of the template zone will only propagate to the build
-# zones when they are created.
-#
-
-ZONECFG =		/usr/sbin/zonecfg
-ZONEADM =		/usr/sbin/zoneadm
-TZ=			$(shell sed -e '/^TZ=/!d' -e 's;TZ=;;' /etc/default/init)
-
-ZONESCFG_DIR =		/etc/zones
-BUILD_ZONE_SPACE =	/rpool/zones
-
-TOUCH =			/usr/bin/touch
-
-SYSIDCFG =		root/etc/sysidcfg
-ZI_TAG =		root/.installed
-
-# the name of the template build zone
-TMPL_ZONE_NAME =	template-build-zone
-
-#
-# The template build zone will start with 'entire' installed.  We include
-# additional packages to make the build zones more closely match most
-# components' build requirements.  This makes build zone preparation quicker.
-#
-#TMPL_ZONE_TOOLS +=	developer/gcc-3
-#TMPL_ZONE_TOOLS +=	developer/gnu-binutils
-#TMPL_ZONE_TOOLS +=	developer/sunstudio12u1
-TMPL_ZONE_TOOLS +=	archiver/gnu-tar
-TMPL_ZONE_TOOLS +=	compress/p7zip
-TMPL_ZONE_TOOLS +=	compress/unzip
-TMPL_ZONE_TOOLS +=	developer/build/ant
-TMPL_ZONE_TOOLS +=	developer/build/autoconf
-TMPL_ZONE_TOOLS +=	developer/build/automake-110
-TMPL_ZONE_TOOLS +=	developer/build/gnu-make
-TMPL_ZONE_TOOLS +=	developer/build/libtool
-TMPL_ZONE_TOOLS +=	developer/build/make
-TMPL_ZONE_TOOLS +=	developer/gnome/gettext
-TMPL_ZONE_TOOLS +=	developer/java/jdk
-TMPL_ZONE_TOOLS +=	developer/lexer/flex
-TMPL_ZONE_TOOLS +=	developer/macro/cpp
-TMPL_ZONE_TOOLS +=	developer/macro/gnu-m4
-TMPL_ZONE_TOOLS +=	developer/object-file
-TMPL_ZONE_TOOLS +=	developer/parser/bison
-TMPL_ZONE_TOOLS +=	file/gnu-coreutils
-TMPL_ZONE_TOOLS +=	file/gnu-findutils
-TMPL_ZONE_TOOLS +=	library/libxslt
-TMPL_ZONE_TOOLS +=	library/pcre
-TMPL_ZONE_TOOLS +=	text/gawk
-TMPL_ZONE_TOOLS +=	text/gnu-diffutils
-TMPL_ZONE_TOOLS +=	text/gnu-gettext
-TMPL_ZONE_TOOLS +=	text/gnu-grep
-TMPL_ZONE_TOOLS +=	text/gnu-patch
-TMPL_ZONE_TOOLS +=	text/gnu-sed
-TMPL_ZONE_TOOLS +=	text/groff
-TMPL_ZONE_TOOLS +=	text/texinfo
-
-TMPL_ZONE_PKGS =	$(TMPL_ZONE_TOOLS)
-
-template-build-zone:	$(BUILD_ZONE_SPACE)/$(TMPL_ZONE_NAME)/$(SYSIDCFG)
-build-zone-1:		$(BUILD_ZONE_SPACE)/build-zone-1/$(SYSIDCFG)
-build-zone-2:		$(BUILD_ZONE_SPACE)/build-zone-2/$(SYSIDCFG)
-build-zone-3:		$(BUILD_ZONE_SPACE)/build-zone-3/$(SYSIDCFG)
-build-zone-4:		$(BUILD_ZONE_SPACE)/build-zone-4/$(SYSIDCFG)
-build-zone-5:		$(BUILD_ZONE_SPACE)/build-zone-5/$(SYSIDCFG)
-build-zone-6:		$(BUILD_ZONE_SPACE)/build-zone-6/$(SYSIDCFG)
-build-zone-7:		$(BUILD_ZONE_SPACE)/build-zone-7/$(SYSIDCFG)
-build-zone-8:		$(BUILD_ZONE_SPACE)/build-zone-8/$(SYSIDCFG)
-build-zone-9:		$(BUILD_ZONE_SPACE)/build-zone-9/$(SYSIDCFG)
-
-# zone install options.  The template zone uses "install", while the build
-# zones "clone" the template zone.
-ZI_OPT =				clone $(TMPL_ZONE_NAME)
-$(BUILD_ZONE_SPACE)/$(TMPL_ZONE_NAME)/$(ZI_TAG): \
-	ZI_OPT = 			install $(TMPL_ZONE_PKGS:%=-e %)
-
-$(BUILD_ZONE_SPACE):
-	$(MKDIR) $@
-
-# configure a zone
-$(ZONECFG_DIR)/%.xml:	$(BUILD_ZONE_SPACE)
-	( echo "create -b"; \
-	  echo "set zonepath=$(BUILD_ZONE_SPACE)/$(@:$(ZONECFG_DIR)/%.xml=%)"; \
-	  echo "set brand=ipkg"; \
-	  echo "set autoboot=false"; \
-	  echo "verify"; \
-	  echo "commit" ) | $(ZONECFG) -z $(@:$(ZONECFG_DIR)/%.xml=%)
-
-# install a zone
-$(BUILD_ZONE_SPACE)/%/$(ZI_TAG):	$(ZONECFG_DIR)/%.xml
-	$(ZONEADM) -z $(@:$(BUILD_ZONE_SPACE)/%/$(ZI_TAG)=%) $(ZI_OPT)
-
-$(BUILD_ZONE_SPACE)/%/$(SYSIDCFG):	$(BUILD_ZONE_SPACE)/%/$(ZI_TAG)
-	( echo "system_locale=C"; \
-	  echo "timezone=$(TZ)"; \
-	  echo "terminal=xterms"; \
-	  echo "security_policy=NONE"; \
-	  echo "timeserver=localhost"; \
-	  echo "name_service=NONE"; \
-	  echo "network_interface=none {"; \
-	  echo "    hostname=$(@:$(BUILD_ZONE_SPACE)/%/$(SYSIDCFG)=%)"; \
-	  echo "}"; \
-	  echo "nfs4_domain=dynamic"; \
-	  echo "root_password=NP" ) > $@