[BACK]Return to bumpversion CVS log [TXT][DIR] Up to [local] / src / lib

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