Commit | Line | Data |
---|---|---|
920dae64 AT |
1 | #!/bin/sh |
2 | # ========== Copyright Header Begin ========================================== | |
3 | # | |
4 | # Hypervisor Software File: move-if-changed | |
5 | # | |
6 | # Copyright (c) 2006 Sun Microsystems, Inc. All Rights Reserved. | |
7 | # | |
8 | # - Do no alter or remove copyright notices | |
9 | # | |
10 | # - Redistribution and use of this software in source and binary forms, with | |
11 | # or without modification, are permitted provided that the following | |
12 | # conditions are met: | |
13 | # | |
14 | # - Redistribution of source code must retain the above copyright notice, | |
15 | # this list of conditions and the following disclaimer. | |
16 | # | |
17 | # - Redistribution in binary form must reproduce the above copyright notice, | |
18 | # this list of conditions and the following disclaimer in the | |
19 | # documentation and/or other materials provided with the distribution. | |
20 | # | |
21 | # Neither the name of Sun Microsystems, Inc. or the names of contributors | |
22 | # may be used to endorse or promote products derived from this software | |
23 | # without specific prior written permission. | |
24 | # | |
25 | # This software is provided "AS IS," without a warranty of any kind. | |
26 | # ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES, | |
27 | # INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A | |
28 | # PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN | |
29 | # MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL NOT BE LIABLE FOR | |
30 | # ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR | |
31 | # DISTRIBUTING THIS SOFTWARE OR ITS DERIVATIVES. IN NO EVENT WILL SUN | |
32 | # OR ITS LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT OR DATA, OR | |
33 | # FOR DIRECT, INDIRECT, SPECIAL, CONSEQUENTIAL, INCIDENTAL OR PUNITIVE | |
34 | # DAMAGES, HOWEVER CAUSED AND REGARDLESS OF THE THEORY OF LIABILITY, | |
35 | # ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF | |
36 | # SUN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. | |
37 | # | |
38 | # You acknowledge that this software is not designed, licensed or | |
39 | # intended for use in the design, construction, operation or maintenance of | |
40 | # any nuclear facility. | |
41 | # | |
42 | # ========== Copyright Header End ============================================ | |
43 | # | |
44 | # move-if-changed <file1> <file2> | |
45 | # | |
46 | # if (file2 != file1) then copy file2 to file1. | |
47 | # | |
48 | src=$1 | |
49 | dest=$2 | |
50 | tmp1=$src.tmp | |
51 | tmp2=$dest.tmp | |
52 | ||
53 | RM="/usr/bin/rm -f" | |
54 | GREP="/usr/bin/grep" | |
55 | SCCS="/usr/ccs/bin/sccs" | |
56 | CP="/usr/bin/cp -p" | |
57 | TOUCH="/usr/bin/touch" | |
58 | CMP="/usr/bin/cmp -s" | |
59 | CHMOD="/usr/bin/chmod" | |
60 | ||
61 | $RM $tmp1 $tmp2 | |
62 | $GREP -v '#' $src > $tmp1 | |
63 | $GREP -v '#' $dest > $tmp2 | |
64 | $TOUCH $tmp1 $tmp2 | |
65 | if $CMP $tmp1 $tmp2; then | |
66 | /bin/true | |
67 | else | |
68 | dir=`dirname $src`; | |
69 | fname=`basename $src`; | |
70 | here=`pwd`; | |
71 | cd $dir | |
72 | $CHMOD -w $fname | |
73 | $RM SCCS/p.$fname | |
74 | $SCCS edit $fname > /dev/null | |
75 | cd $here | |
76 | $CP -f $dest $src | |
77 | fi | |
78 | $RM $tmp1 $tmp2 $dest | |
79 | exit 0 |