Home | History | Annotate | Download | only in scripts
      1 #! /bin/ksh -p
      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 2006 Sun Microsystems, Inc.  All rights reserved.
     25 # Use is subject to license terms.
     26 #
     27 # ident	"%Z%%M%	%I%	%E% SMI"
     28 #
     29 
     30 # Invoked when make thinks a source file is out of touch with SCCS.
     31 
     32 #
     33 # The CDPATH variable causes ksh's `cd' builtin to emit messages to stdout
     34 # under certain circumstances, which can really screw things up; unset it.
     35 #
     36 unset CDPATH
     37 
     38 
     39 PATH=/usr/bin:/usr/ccs/bin
     40 
     41 if [ $# -ne 1 ]; then
     42 	echo "Usage: $0 filename" 1>&2
     43 	exit 1
     44 fi
     45 
     46 file="$1"
     47 if [ ! -f "$file" ]; then
     48 	(echo "\n$0: error: Source file $file has gone missing!"
     49 	echo "$0: error: Check for over-enthusiastic clobber rules\n") 1>&2
     50 	exit 1
     51 fi
     52 
     53 w=warning
     54 status=0
     55 
     56 if [ ! -z "$SCCSCHECK_FAIL" ]; then
     57 	w=error
     58 	status=1
     59 elif [ -z "$SCCSCHECK_WARN" ]; then
     60     	exit 0
     61 fi
     62 
     63 case "$file" in
     64 /*)
     65 	;;
     66 *)
     67 	file="./$file";;
     68 esac
     69 
     70 sfile="${file%/*}/SCCS/s.${file##*/}"
     71 
     72 if [ "$sfile" -nt "$file" ]; then
     73 	(echo "\n$0: $w: In $(pwd)"
     74 	echo "$0: $w: $file is out of date:\n"
     75 	echo "$0: $w: \c"
     76 	ls -E $sfile
     77 	echo "$0: $w: \c"
     78 	ls -E $file
     79 	echo "\n$0: $w: Run bringovercheck ${CODEMGR_WS} to fix this workspace.\n") 1>&2 
     80 	exit $status
     81 fi
     82 exit 0
     83