Annotation of src/lib/bumpversion, Revision 1.1.1.1
1.1 deraadt 1: #!/bin/sh
2: #
3: # Copyright (c) 1993 Christopher G. Demetriou
4: # All rights reserved.
5: #
6: # Redistribution and use in source and binary forms, with or without
7: # modification, are permitted provided that the following conditions
8: # are met:
9: # 1. Redistributions of source code must retain the above copyright
10: # notice, this list of conditions and the following disclaimer.
11: # 2. Redistributions in binary form must reproduce the above copyright
12: # notice, this list of conditions and the following disclaimer in the
13: # documentation and/or other materials provided with the distribution.
14: # 3. All advertising materials mentioning features or use of this software
15: # must display the following acknowledgement:
16: # This product includes software developed by Christopher G. Demetriou.
17: # 4. The name of the author may not be used to endorse or promote products
18: # derived from this software without specific prior written permission
19: #
20: # THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
21: # IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
22: # OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
23: # IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
24: # INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
25: # NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
26: # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
27: # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
28: # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
29: # THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
30: #
31: # $Id: bumpversion,v 1.3 1994/01/29 01:54:01 jtc Exp $
32: #
33:
34: PATH=/bin:/usr/bin
35: export PATH
36:
37: while :
38: do case "$1" in
39: # -c says to create new shlib_version files
40: -c)
41: create=TRUE
42: shift ;;
43:
44: # -n sets 'do nothing mode'
45: -n)
46: donothing=TRUE
47: shift ;;
48:
49: # -m says to bump major number, rather than minor number
50: -m)
51: bumpmajor=TRUE
52: shift ;;
53:
54: *)
55: break ;;
56: esac
57: done
58:
59: if [ $# = 0 ] ; then
60: echo "usage: $0 [-c] [-m] [-n] dir ..."
61: exit 2
62: fi
63:
64: TMP=/tmp/bump$$
65: error=0
66:
67: trap 'rm -f $TMP ; exit 1' 1 2 3 13 15
68:
69: for dir in $@ ; do
70: versf=$dir/shlib_version
71:
72: if [ "X$create" != "X" ] ; then
73: if [ ! -d $dir ] ; then
74: echo $0: $dir is not a directory 1>&2
75: error=1
76: continue
77: fi
78: if [ -e $versf ] ; then
79: echo $0: $versf exists\; not replacing 1>&2
80: error=1
81: continue
82: fi
83: else
84: if [ ! -e $versf ] ; then
85: echo $0: $versf does not exist 1>&2
86: error=1
87: continue
88: fi
89: if [ ! -f $versf ] ; then
90: echo $0: $versf is not a regular file 1>&2
91: error=1
92: continue
93: fi
94: if [ ! -r $versf ] ; then
95: echo $0: $versf is not readable 1>&2
96: error=1
97: continue
98: fi
99: if [ ! -w $versf ] ; then
100: echo $0: $versf is not a writable 1>&2
101: error=1
102: continue
103: fi
104:
105: . $versf
106: fi
107:
108: if [ "X$create" != "X" ] ; then
109: nmajor=0
110: nminor=0
111: elif [ "X$bumpmajor" != "X" ] ; then
112: nmajor=`expr $major + 1`
113: nminor=0
114: else
115: nmajor=$major
116: nminor=`expr $minor + 1`
117: fi
118:
119: if [ "X$donothing" = "X" ] ; then
120: echo major=$nmajor > $TMP
121: echo minor=$nminor >> $TMP
122: mv $TMP $versf
123: else
124: echo "$0: $versf -> $nmajor.$nminor"
125: fi
126: done
127:
128: exit $error