Home | History | Annotate | Download | only in common_files
      1 #!/bin/sh
      2 #
      3 # CDDL HEADER START
      4 #
      5 # The contents of this file are subject to the terms of the
      6 # Common Development and Distribution License (the "License").
      7 # You may not use this file except in compliance with the License.
      8 #
      9 # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
     10 # or http://www.opensolaris.org/os/licensing.
     11 # See the License for the specific language governing permissions
     12 # and limitations under the License.
     13 #
     14 # When distributing Covered Code, include this CDDL HEADER in each
     15 # file and include the License file at usr/src/OPENSOLARIS.LICENSE.
     16 # If applicable, add the following below this CDDL HEADER, with the
     17 # fields enclosed by brackets "[]" replaced with your own identifying
     18 # information: Portions Copyright [yyyy] [name of copyright owner]
     19 #
     20 # CDDL HEADER END
     21 #
     22 
     23 #
     24 # Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
     25 # Use is subject to license terms.
     26 #
     27 # ident	"%Z%%M%	%I%	%E% SMI"
     28 #
     29 
     30 PATH="/usr/bin:/usr/sbin:${PATH}"
     31 export PATH
     32 
     33 FLD='[^ 	]\{1,\}[ 	]\{1,\}'
     34 LN_DEVFS="/devices	-	/devices	devfs	-	no	-"
     35 LN_CTFS="ctfs\t\t-	/system/contract	ctfs	-	no	-"
     36 LN_OBJFS="objfs\t\t-	/system/object	objfs	-	no	-"
     37 LN_SHAREFS="sharefs\t\t-	/etc/dfs/sharetab	sharefs	-	no	-"
     38 
     39 missing()
     40 {
     41 	grep "$FLD$FLD$2" $1 > /dev/null 2>&1
     42 	if [ $? = 0 ]; then
     43 		return 1
     44 	else
     45 		return 0
     46 	fi
     47 }
     48 
     49 while read src dst; do
     50 	if [ ! -f $dst ]; then
     51 		cp $src $dst
     52 	else
     53 		if missing $dst /devices; then
     54 			echo "$LN_DEVFS" >> $dst
     55 		fi
     56 		if missing $dst /system/contract; then
     57 			echo "$LN_CTFS" >> $dst
     58 		fi
     59 		if missing $dst /system/object; then
     60 			echo "$LN_OBJFS" >> $dst
     61 		fi
     62 		if missing $dst /etc/dfs/sharetab; then
     63 			echo "$LN_SHAREFS" >> $dst
     64 		fi
     65 	fi
     66 done
     67 exit 0
     68