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 34PATH=/bin:/usr/bin 35export PATH 36 37while : 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 57done 58 59if [ $# = 0 ] ; then 60 echo "usage: $0 [-c] [-m] [-n] dir ..." 61 exit 2 62fi 63 64TMP=/tmp/bump$$ 65error=0 66 67trap 'rm -f $TMP ; exit 1' 1 2 3 13 15 68 69for 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 126done 127 128exit $error 129