Edit

openbios/openboot/bin/move-if-changed

Branch :

  • Show log

    Commit

  • Author : Stefan Reinauer
    Date : 2010-08-25 09:23:17
    Hash : 1a08f436
    Message : change to well-formed svn directory structure. git-svn-id: svn://coreboot.org/openboot/trunk@2 4486e004-3823-0410-90c7-fb508cc143bb

  • bin/move-if-changed
  • #!/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