NetBSD/lib/bumpversion
lukem 5542a7ca43 - define WARNS?=1 in the top-level Makefile.inc, and don't define
anywhere else.
- for now, override WARNS=0 in librpcsvc and libwrap, until they're
  cleaned up
- rcsid police

lib is now clean (except for librpcsvc and libwrap) on the i386, and
this should motivate the other ports to fix any other minor problems
that their compilers pick up that the i386 version doesn't.
1997-10-09 14:36:17 +00:00

128 lines
3.3 KiB
Bash
Executable File

#!/bin/sh
# $NetBSD: bumpversion,v 1.5 1997/10/09 14:36:17 lukem Exp $
#
# Copyright (c) 1993 Christopher G. Demetriou
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
# 1. Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# 2. Redistributions 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.
# 3. All advertising materials mentioning features or use of this software
# must display the following acknowledgement:
# This product includes software developed by Christopher G. Demetriou.
# 4. The name of the author may not be used to endorse or promote products
# derived from this software without specific prior written permission
#
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#
PATH=/bin:/usr/bin
export PATH
while :
do case "$1" in
# -c says to create new shlib_version files
-c)
create=TRUE
shift ;;
# -n sets 'do nothing mode'
-n)
donothing=TRUE
shift ;;
# -m says to bump major number, rather than minor number
-m)
bumpmajor=TRUE
shift ;;
*)
break ;;
esac
done
if [ $# = 0 ] ; then
echo "usage: $0 [-c] [-m] [-n] dir ..."
exit 2
fi
TMP=/tmp/bump$$
error=0
trap 'rm -f $TMP ; exit 1' 1 2 3 13 15
for dir in $@ ; do
versf=$dir/shlib_version
if [ "X$create" != "X" ] ; then
if [ ! -d $dir ] ; then
echo $0: $dir is not a directory 1>&2
error=1
continue
fi
if [ -e $versf ] ; then
echo $0: $versf exists\; not replacing 1>&2
error=1
continue
fi
else
if [ ! -e $versf ] ; then
echo $0: $versf does not exist 1>&2
error=1
continue
fi
if [ ! -f $versf ] ; then
echo $0: $versf is not a regular file 1>&2
error=1
continue
fi
if [ ! -r $versf ] ; then
echo $0: $versf is not readable 1>&2
error=1
continue
fi
if [ ! -w $versf ] ; then
echo $0: $versf is not a writable 1>&2
error=1
continue
fi
. $versf
fi
if [ "X$create" != "X" ] ; then
nmajor=0
nminor=0
elif [ "X$bumpmajor" != "X" ] ; then
nmajor=`expr $major + 1`
nminor=0
else
nmajor=$major
nminor=`expr $minor + 1`
fi
if [ "X$donothing" = "X" ] ; then
echo major=$nmajor > $TMP
echo minor=$nminor >> $TMP
mv $TMP $versf
else
echo "$0: $versf -> $nmajor.$nminor"
fi
done
exit $error