--- old/usr/src/Makefile	2013-08-15 11:59:46.533896376 -0400
+++ new/usr/src/Makefile	2013-08-15 11:59:46.539571732 -0400
@@ -130,22 +130,20 @@
 
 closedbins: bldtools $(ROOTDIRS) FRC
 	@CLOSED_ROOT="$$ON_CLOSED_BINS/root_$(MACH)$${RELEASE_BUILD+-nd}"; \
-	if [ "$$CLOSED_IS_PRESENT" = no ]; then \
-		if [ ! -d "$$CLOSED_ROOT" ]; then \
-			$(ECHO) "Error: ON_CLOSED_BINS must point to closed" \
-			    "binaries."; \
-			$(ECHO) "root_$(MACH)$${RELEASE_BUILD+-nd} is not" \
-			    "present in $$ON_CLOSED_BINS."; \
-			exit 1; \
-		fi; \
-		$(ECHO) "Copying closed binaries from $$CLOSED_ROOT"; \
-		(cd $$CLOSED_ROOT; \
-		    $(TAR) cfX - $(CODEMGR_WS)/exception_lists/closed-bins .) | \
-		    (cd $(ROOT); $(TAR) xBpf -); \
-		( cd $(ROOT); $(CTFSTRIP) $$(cd $$CLOSED_ROOT; $(FIND) \
-		    ./kernel ./usr/kernel ./platform/*/kernel -type f -a -perm -u+x | \
-		    $(EGREP) -vf $(CODEMGR_WS)/exception_lists/closed-bins) ); \
-	fi
+	if [ ! -d "$$CLOSED_ROOT" ]; then \
+		$(ECHO) "Error: ON_CLOSED_BINS must point to closed" \
+		    "binaries."; \
+		$(ECHO) "root_$(MACH)$${RELEASE_BUILD+-nd} is not" \
+		    "present in $$ON_CLOSED_BINS."; \
+		exit 1; \
+	fi; \
+	$(ECHO) "Copying closed binaries from $$CLOSED_ROOT"; \
+	(cd $$CLOSED_ROOT; \
+	    $(TAR) cfX - $(CODEMGR_WS)/exception_lists/closed-bins .) | \
+	    (cd $(ROOT); $(TAR) xBpf -); \
+	( cd $(ROOT); $(CTFSTRIP) $$(cd $$CLOSED_ROOT; $(FIND) \
+	    ./kernel ./usr/kernel ./platform/*/kernel -type f -a -perm -u+x | \
+	    $(EGREP) -vf $(CODEMGR_WS)/exception_lists/closed-bins) )
 
 #
 # Declare what parts can be built in parallel
--- old/usr/src/tools/env/developer.sh	2013-08-15 11:59:46.675672095 -0400
+++ new/usr/src/tools/env/developer.sh	2013-08-15 11:59:46.680305212 -0400
@@ -61,12 +61,6 @@
 # the usr/closed tree.
 CLOSED_CLONE_WS="${CLONE_WS}/usr/closed";	export CLOSED_CLONE_WS
 
-# This flag controls whether to build the closed source.  If
-# undefined, nightly(1) and bldenv(1) will set it according to whether
-# the closed source tree is present.  CLOSED_IS_PRESENT="no" means not
-# building the closed sources.
-# CLOSED_IS_PRESENT="yes";		export CLOSED_IS_PRESENT
-
 # The bringover, if any, is done as STAFFER.
 # Set STAFFER to your own login as gatekeeper or developer
 # The point is to use group "staff" and avoid referencing the parent
--- old/usr/src/tools/env/gatekeeper.sh	2013-08-15 11:59:46.817234417 -0400
+++ new/usr/src/tools/env/gatekeeper.sh	2013-08-15 11:59:46.821856681 -0400
@@ -70,12 +70,6 @@
 CLOSED_CLONE_WS="${CLONE_WS}/usr/closed"
 export CLOSED_CLONE_WS
 
-# This flag controls whether to build the closed source.  If
-# undefined, nightly(1) and bldenv(1) will set it according to whether
-# the closed source tree is present.  CLOSED_IS_PRESENT="no" means not
-# building the closed sources.
-# CLOSED_IS_PRESENT="yes";		export CLOSED_IS_PRESENT
-
 # The bringover, if any, is done as STAFFER.
 # Set STAFFER to your own login as gatekeeper or integration engineer.
 # The point is to use group "staff" and avoid referencing the parent
--- old/usr/src/tools/scripts/Install.sh	2013-08-15 11:59:46.959453089 -0400
+++ new/usr/src/tools/scripts/Install.sh	2013-08-15 11:59:46.964097941 -0400
@@ -732,13 +732,9 @@
 	fi
 
 	srctrees=$SRC
-	if [[ -d $SRC/../closed && "$CLOSED_IS_PRESENT" != no ]]; then
-		srctrees="$srctrees $SRC/../closed"
-	else
-		if [ -z "$ON_CRYPTO_BINS" ]; then
-			echo "Warning: ON_CRYPTO_BINS not set; pre-signed" \
-			    "crypto not provided."
-		fi
+	if [ -z "$ON_CRYPTO_BINS" ]; then
+		echo "Warning: ON_CRYPTO_BINS not set; pre-signed" \
+		    "crypto not provided."
 	fi
 	if [[ $WANT64 = "yes" ]] ; then
 		# kmdbmod for sparc and x86 are built and installed
--- old/usr/src/tools/scripts/bldenv.sh	2013-08-15 11:59:47.125207793 -0400
+++ new/usr/src/tools/scripts/bldenv.sh	2013-08-15 11:59:47.129778806 -0400
@@ -345,14 +345,6 @@
 	export PATH="${SUNWSPRO}/bin:$PATH" 
 fi 
 
-if [[ -z "$CLOSED_IS_PRESENT" ]]; then
-	if [[ -d $SRC/../closed ]]; then
-		export CLOSED_IS_PRESENT="yes"
-	else
-		export CLOSED_IS_PRESENT="no"
-	fi
-fi
-
 TOOLS="${SRC}/tools"
 TOOLS_PROTO="${TOOLS}/proto/root_${MACH}-nd" ; export TOOLS_PROTO
 
@@ -421,16 +413,9 @@
 export TONICBUILD="#"
 
 if "${flags.O}" ; then 
-	if [[ "$CLOSED_IS_PRESENT" != "yes" ]]; then
-		print "OpenSolaris closed binary generation requires "
-		print "closed tree"
-		exit 1
-	fi
-	print "Generating OpenSolaris deliverables"
-	# We only need CLOSEDROOT in the env for convenience. Makefile.master
-	# figures out what it needs when it matters.
-	export CLOSEDROOT="${ROOT}-closed"
-	export TONICBUILD=""
+	print "OpenSolaris closed binary generation requires "
+	print "closed tree"
+	exit 1
 fi
 
 ENVLDLIBS1="-L$ROOT/lib -L$ROOT/usr/lib"
--- old/usr/src/tools/scripts/checkpaths.sh	2013-08-15 11:59:47.274618879 -0400
+++ new/usr/src/tools/scripts/checkpaths.sh	2013-08-15 11:59:47.279193809 -0400
@@ -59,11 +59,6 @@
 	rootlist="$CODEMGR_WS/proto/root_sparc $CODEMGR_WS/proto/root_i386"
 fi
 
-# If the closed source is not present, then exclude IKE from validation.
-if [ "$CLOSED_IS_PRESENT" = no ]; then
-	excl="-e ^usr/include/ike/"
-fi
-
 for ROOT in $rootlist
 do
 	case "$ROOT" in
@@ -84,7 +79,8 @@
 		# the svr4-specific usr/src/pkgdefs
 		#
 		[ -f $SRC/pkgdefs/etc/exception_list_$arch ] && \
-			validate_paths '-s/\s*'$arch'$//' $excl -b $ROOT \
+			validate_paths '-s/\s*'$arch'$//'  \
+			    -e ^usr/include/ike/ -b $ROOT \
 			    $args $SRC/pkgdefs/etc/exception_list_$arch
 		#
 		# These are the new-style packaging exception lists,
@@ -117,12 +113,9 @@
 fi
 
 if [ -f $SRC/tools/opensolaris/license-list ]; then
-	excl=
-	if [ "$CLOSED_IS_PRESENT" = no ]; then
-		excl="-e ^usr/closed"
-	fi
 	sed -e 's/$/.descrip/' < $SRC/tools/opensolaris/license-list | \
-		validate_paths -n SRC/tools/opensolaris/license-list $excl
+		validate_paths -n SRC/tools/opensolaris/license-list \
+		    -e ^usr/closed
 fi
 
 # Finally, make sure the that (req|inc).flg files are in good shape.
@@ -131,11 +124,7 @@
 if [ ! -d "$CODEMGR_WS/Codemgr_wsdata" ]; then
 	f_flg='-f'
 fi
-# If the closed source is not present, then don't validate it.
-if [ "$CLOSED_IS_PRESENT" = no ]; then
-	excl="-e ^usr/closed/"
-fi
 
-validate_flg $f_flg $excl
+validate_flg $f_flg -e ^usr/closed/
 
 exit 0
--- old/usr/src/tools/scripts/nightly.sh	2013-08-15 11:59:47.415910660 -0400
+++ new/usr/src/tools/scripts/nightly.sh	2013-08-15 11:59:47.420853642 -0400
@@ -294,8 +294,7 @@
 }
 
 #
-# Mercurial-specific copy code for copy_source().  Handles the
-# combined open and closed trees.
+# Mercurial-specific copy code for copy_source().
 #
 # Returns 0 for success, non-zero for failure.
 #
@@ -304,59 +303,12 @@
 function copy_source_mercurial {
 	typeset dest=$1
 	typeset srcroot=$2
-	typeset open_top closed_top
 
-	case $srcroot in
-	usr)
-		open_top=usr
-		if [[ "$CLOSED_IS_PRESENT" = yes ]]; then
-			closed_top=usr/closed
-		fi
-		;;
-	usr/closed*)
-		if [[ "$CLOSED_IS_PRESENT" = no ]]; then
-			printf "can't copy %s: closed tree not present.\n" \
-			    "$srcroot" | tee -a $mail_msg_file >> $LOGFILE
-			return 1
-		fi
-		closed_top="$srcroot"
-		;;
-	*)
-		open_top="$srcroot"
-		;;
-	esac		
-
-	if [[ -n "$open_top" ]]; then
-		hg locate -I "$open_top" | cpio -pd "$dest" >>$LOGFILE 2>&1
-		if (( $? != 0 )) ; then
-		    printf "cpio failed for %s\n" "$dest" |
-			tee -a $mail_msg_file >> $LOGFILE
-		    return 1
-		fi
-	fi
-
-	if [[ -n "$closed_top" ]]; then
-		mkdir -p "$dest/usr/closed" || return 1
-		if [[ "$closed_top" = usr/closed ]]; then
-			(cd usr/closed; hg locate |
-			    cpio -pd "$dest/usr/closed") >>$LOGFILE 2>&1
-			if (( $? != 0 )) ; then
-			    printf "cpio failed for %s/usr/closed\n" \
-				"$dest" | tee -a $mail_msg_file >> $LOGFILE
-			    return 1
-			fi
-		else
-			# copy subtree of usr/closed
-			closed_top=${closed_top#usr/closed/}
-			(cd usr/closed; hg locate -I "$closed_top" |
-			    cpio -pd "$dest/usr/closed") >>$LOGFILE 2>&1
-			if (( $? != 0 )) ; then
-			    printf "cpio failed for %s/usr/closed/%s\n" \
-				"$dest" "$closed_top" |
-				tee -a $mail_msg_file >> $LOGFILE
-			    return 1
-			fi
-		fi
+	hg locate -I "$srcroot" | cpio -pd "$dest" >>$LOGFILE 2>&1
+	if (( $? != 0 )) ; then
+	    printf "cpio failed for %s\n" "$dest" |
+		tee -a $mail_msg_file >> $LOGFILE
+	    return 1
 	fi
 
 	return 0
@@ -896,9 +848,7 @@
 #
 function check_closed_tree {
 	if [[ ! -d "$ON_CLOSED_BINS" ]]; then
-		echo "If the closed sources are not present," \
-		    "ON_CLOSED_BINS"
-		echo "must point to the closed binaries tree."
+		echo "ON_CLOSED_BINS must point to the closed binaries tree."
 		build_ok=n
 		exit 1
 	fi
@@ -1249,13 +1199,6 @@
 	BRINGOVER_FILES="usr"
 fi
 
-#
-# If the closed sources are not present, the closed binaries must be
-# present for the build to succeed.  If there's no pointer to the
-# closed binaries, flag that now, rather than forcing the user to wait
-# a couple hours (or more) to find out.
-#
-orig_closed_is_present="$CLOSED_IS_PRESENT"
 check_closed_tree
 
 #
@@ -1268,18 +1211,6 @@
 do
 	case $FLAG in
 	  A )	A_FLAG=y
-		#
-		# If ELF_DATA_BASELINE_DIR is not defined, and we are on SWAN
-		# (based on CLOSED_IS_PRESENT), then refuse to run. The value
-		# of ELF version checking is greatly enhanced by including
-		# the baseline gate comparison.
-		if [ "$CLOSED_IS_PRESENT" = 'yes' -a \
-		     "$ELF_DATA_BASELINE_DIR" = '' ]; then
-			echo "ELF_DATA_BASELINE_DIR must be set if the A" \
-			    "flag is present in\nNIGHTLY_OPTIONS and closed" \
-			    "sources are present. Update environment file."
-			exit 1;
-		fi
 		;;
 	  B )	D_FLAG=y
 		;; # old version of D
@@ -1386,13 +1317,7 @@
 
 # roots of source trees, both relative to $SRC and absolute.
 relsrcdirs="."
-if [[ -d $CODEMGR_WS/usr/closed && "$CLOSED_IS_PRESENT" != no ]]; then
-	relsrcdirs="$relsrcdirs ../closed"
-fi
-abssrcdirs=""
-for d in $relsrcdirs; do
-	abssrcdirs="$abssrcdirs $SRC/$d"
-done
+abssrcdirs="$SRC"
 
 unset CH
 if [ "$o_FLAG" = "y" ]; then
@@ -2140,25 +2065,6 @@
 		touch $TMPDIR/new_repository
 	fi
 
-	#
-	# If the user set CLOSED_BRINGOVER_WS and didn't set CLOSED_IS_PRESENT
-	# to "no," then we'll want to initialise the closed repository
-	#
-	# We use $orig_closed_is_present instead of $CLOSED_IS_PRESENT,
-	# because for newly-created source trees, the latter will be "no"
-	# until after the bringover completes.
-	#
-	if [[ "$orig_closed_is_present" != "no" && \
-	    -n "$CLOSED_BRINGOVER_WS" && \
-	    ! -d $CODEMGR_WS/usr/closed/.hg ]]; then
-		staffer mkdir -p $CODEMGR_WS/usr/closed
-		staffer hg init $CODEMGR_WS/usr/closed
-		staffer echo "[paths]" > $CODEMGR_WS/usr/closed/.hg/hgrc
-		staffer echo "default=$CLOSED_BRINGOVER_WS" >> $CODEMGR_WS/usr/closed/.hg/hgrc
-		touch $TMPDIR/new_closed
-		export CLOSED_IS_PRESENT=yes
-	fi
-
 	typeset -x HGMERGE="/bin/false"
 
 	#
@@ -2257,69 +2163,6 @@
 	printf "\n"
 
 	#
-	# We only want to update usr/closed if it exists, and we haven't been
-	# told not to via $CLOSED_IS_PRESENT, and we actually know where to
-	# pull from ($CLOSED_BRINGOVER_WS).
-	#
-	if [[ $CLOSED_IS_PRESENT = yes && \
-	    -d $CODEMGR_WS/usr/closed/.hg && \
-	    -n $CLOSED_BRINGOVER_WS ]]; then
-
-		HG_SOURCE=$CLOSED_BRINGOVER_WS
-		if [ ! -f $TMPDIR/new_closed ]; then
-			HG_SOURCE=$TMPDIR/closed_bundle.hg
-			staffer hg --cwd $CODEMGR_WS/usr/closed incoming \
-			    --bundle $HG_SOURCE -v $CLOSED_BRINGOVER_WS \
-			    > $TMPDIR/incoming_closed.out
-
-			#
-			# If there are no incoming changesets, then incoming will
-			# fail, and there will be no bundle file.  Reset the source,
-			# to allow the remaining logic to complete with no false
-			# negatives.  (Unlike incoming, pull will return success
-			# for the no-change case.)
-			#
-			if (( $? != 0 )); then
-				HG_SOURCE=$CLOSED_BRINGOVER_WS
-			fi
-		fi
-
-		staffer hg --cwd $CODEMGR_WS/usr/closed pull -u \
-			$HG_SOURCE > $TMPDIR/pull_closed.out 2>&1
-		if (( $? != 0 )); then
-			printf "closed pull failed as follows:\n\n"
-			cat $TMPDIR/pull_closed.out
-			if grep "^merging.*failed" $TMPDIR/pull_closed.out \
-			    > /dev/null 2>&1; then
-				printf "$mergefailmsg"
-			fi
-			touch $TMPDIR/bringover_failed
-			return
-		fi
-
-		if grep "not updating" $TMPDIR/pull_closed.out > /dev/null 2>&1; then
-			staffer hg --cwd $CODEMGR_WS/usr/closed merge \
-			    >> $TMPDIR/pull_closed.out 2>&1
-			if (( $? != 0 )); then
-				printf "closed merge failed as follows:\n\n"
-				cat $TMPDIR/pull_closed.out
-				if grep "^merging.*failed" $TMPDIR/pull_closed.out > /dev/null 2>&1; then
-					printf "$mergefailmsg"
-				fi
-				touch $TMPDIR/bringover_failed
-				return
-			fi
-		fi
-
-		printf "updated %s with the following results:\n" \
-		    "$CODEMGR_WS/usr/closed"
-		cat $TMPDIR/pull_closed.out
-		if grep "^merging" $TMPDIR/pull_closed.out > /dev/null 2>&1; then
-			printf "$mergepassmsg"
-		fi
-	fi
-
-	#
 	# Per-changeset output is neither useful nor manageable for a
 	# newly-created repository.
 	#
@@ -2416,18 +2259,13 @@
 
 	run_hook POST_BRINGOVER
 
-	#
-	# Possible transition from pre-split workspace to split
-	# workspace.  See if the bringover changed anything.
-	#
-	CLOSED_IS_PRESENT="$orig_closed_is_present"
 	check_closed_tree
 
 else
 	echo "\n==== No bringover to $CODEMGR_WS ====\n" >> $LOGFILE
 fi
 
-if [[ "$O_FLAG" = y && "$CLOSED_IS_PRESENT" != "yes" ]]; then
+if [[ "$O_FLAG" = y ]]; then
 	build_ok=n
 	echo "OpenSolaris binary deliverables need usr/closed." \
 	    | tee -a "$mail_msg_file" >> $LOGFILE
@@ -2607,7 +2445,6 @@
 
 if [ "$SO_FLAG" = "y" -a "$build_ok" = y ]; then
 	SRC=$OPEN_SRCDIR/usr/src
-	export CLOSED_IS_PRESENT=no
 fi
 
 if is_source_build && [ $build_ok = y ] ; then
--- old/usr/src/tools/scripts/ws.sh	2013-08-15 11:59:47.663681225 -0400
+++ new/usr/src/tools/scripts/ws.sh	2013-08-15 11:59:47.668370232 -0400
@@ -365,14 +365,6 @@
 
 osbld_flag=0
 
-if [[ ! -v CLOSED_IS_PRESENT ]]; then
-        if [[ -d $SRC/../closed ]]; then
-                export CLOSED_IS_PRESENT="yes"
-        else
-                export CLOSED_IS_PRESENT="no"
-        fi
-fi
-
 if [[ -z "$ONBLD_DIR" ]]; then
 	ONBLD_DIR=$(/bin/dirname $(whence $0))
 fi
