#!/bin/sh
# ========== Copyright Header Begin ==========================================
# 
# Hypervisor Software File: move-if-changed
# 
# Copyright (c) 2006 Sun Microsystems, Inc. All Rights Reserved.
# 
#  - Do no alter or remove copyright notices
# 
#  - Redistribution and use of this software in source and binary forms, with 
#    or without modification, are permitted provided that the following 
#    conditions are met: 
# 
#  - Redistribution of source code must retain the above copyright notice, 
#    this list of conditions and the following disclaimer.
# 
#  - Redistribution in binary form must reproduce the above copyright notice,
#    this list of conditions and the following disclaimer in the
#    documentation and/or other materials provided with the distribution. 
# 
#    Neither the name of Sun Microsystems, Inc. or the names of contributors 
# may be used to endorse or promote products derived from this software 
# without specific prior written permission. 
# 
#     This software is provided "AS IS," without a warranty of any kind. 
# ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES, 
# INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A 
# PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN 
# MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL NOT BE LIABLE FOR 
# ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR 
# DISTRIBUTING THIS SOFTWARE OR ITS DERIVATIVES. IN NO EVENT WILL SUN 
# OR ITS LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT OR DATA, OR 
# FOR DIRECT, INDIRECT, SPECIAL, CONSEQUENTIAL, INCIDENTAL OR PUNITIVE 
# DAMAGES, HOWEVER CAUSED AND REGARDLESS OF THE THEORY OF LIABILITY, 
# ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF 
# SUN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
# 
# You acknowledge that this software is not designed, licensed or
# intended for use in the design, construction, operation or maintenance of
# any nuclear facility. 
# 
# ========== Copyright Header End ============================================
#
# move-if-changed <file1> <file2>
# 
# if (file2 != file1) then copy file2 to file1.
#
src=$1
dest=$2
tmp1=$src.tmp
tmp2=$dest.tmp

RM="/usr/bin/rm -f"
GREP="/usr/bin/grep"
SCCS="/usr/ccs/bin/sccs"
CP="/usr/bin/cp -p"
TOUCH="/usr/bin/touch"
CMP="/usr/bin/cmp -s"
CHMOD="/usr/bin/chmod"

$RM $tmp1 $tmp2
$GREP -v '#' $src > $tmp1
$GREP -v '#' $dest > $tmp2
$TOUCH $tmp1 $tmp2
if $CMP $tmp1 $tmp2; then
	/bin/true
else
	dir=`dirname $src`;
	fname=`basename $src`;
	here=`pwd`;
	cd $dir
	$CHMOD -w $fname
	$RM SCCS/p.$fname
	$SCCS edit $fname > /dev/null
	cd $here
	$CP -f $dest $src
fi
$RM $tmp1 $tmp2 $dest
exit 0
