xref: /dragonfly/sys/conf/newvers.sh (revision 606a6e92)
1#!/bin/sh -
2#
3# Copyright (c) 1984, 1986, 1990, 1993
4#	The Regents of the University of California.  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 the University of
17#	California, Berkeley and its contributors.
18# 4. Neither the name of the University nor the names of its contributors
19#    may be used to endorse or promote products derived from this software
20#    without specific prior written permission.
21#
22# THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
23# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
24# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
25# ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
26# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
27# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
28# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
29# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
30# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
31# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
32# SUCH DAMAGE.
33#
34#	@(#)newvers.sh	8.1 (Berkeley) 4/20/94
35# $FreeBSD: src/sys/conf/newvers.sh,v 1.44.2.30 2003/04/04 07:02:46 murray Exp $
36# $DragonFly: src/sys/conf/newvers.sh,v 1.10 2004/10/22 23:43:25 dillon Exp $
37
38tag="\$Name:  $"
39
40# Set BRANCH based on TAG, remove any DragonFly_ prefix to the tag.
41# If there is no tag set the branch name to CURRENT.
42#
43BRANCH="`echo $tag | awk '{ print $2; }' | sed -e 's/DragonFly_//'`"
44
45# This case occurs if we have checked out without a tag (i.e. HEAD), either
46# implicitly or explicitly.
47#
48if [ "X${BRANCH}" = "X$" ]; then
49    BRANCH="CURRENT"
50fi
51if [ "X${BRANCH}" = "XHEAD" ]; then
52    BRANCH="CURRENT"
53fi
54
55# This case occurs if the $Name:  $ field has not been expanded.
56#
57if [ "X${BRANCH}" = "X" ]; then
58    BRANCH="UNKNOWN"
59fi
60
61TYPE="DragonFly"
62REVISION="1.1"
63RELEASE="${REVISION}-${BRANCH}"
64VERSION="${TYPE} ${RELEASE}"
65
66if [ "X${PARAMFILE}" != "X" ]; then
67	RELDATE=$(awk '/__DragonFly_version.*propagated to newvers/ {print $3}' \
68		${PARAMFILE})
69else
70	RELDATE=$(awk '/__DragonFly_version.*propagated to newvers/ {print $3}' \
71		$(dirname $0)/../sys/param.h)
72fi
73
74
75b=share/examples/etc/bsd-style-copyright
76year=`date '+%Y'`
77# look for copyright template
78for bsd_copyright in ../$b ../../$b ../../../$b /usr/src/$b /usr/$b
79do
80	if [ -r "$bsd_copyright" ]; then
81		COPYRIGHT=`sed \
82		    -e "s/\[year\]/$year/" \
83		    -e 's/\[your name here\]\.* /DragonFly Inc./' \
84		    -e 's/\[your name\]\.*/DragonFly Inc./' \
85		    -e '/\[id for your version control system, if any\]/d' \
86		    $bsd_copyright`
87		break
88	fi
89done
90
91# no copyright found, use a dummy
92if [ X"$COPYRIGHT" = X ]; then
93	COPYRIGHT="/*
94 * Copyright (c) $year
95 *	DragonFly Inc. All rights reserved.
96 *
97 */"
98fi
99
100# add newline
101COPYRIGHT="$COPYRIGHT
102"
103
104LC_ALL=C; export LC_ALL
105if [ ! -r version ]
106then
107	echo 0 > version
108fi
109
110touch version
111v=`cat version` u=${USER-root} d=`pwd` h=`hostname` t=`date`
112i=`make -V KERN_IDENT`
113cat << EOF > vers.c
114$COPYRIGHT
115char sccspad[32 - 4 /* sizeof(sccs) */] = { '\\0' };
116char sccs[4] = { '@', '(', '#', ')' };
117char version[] = "${VERSION} #${v}: ${t}\\n    ${u}@${h}:${d}\\n";
118char ostype[] = "${TYPE}";
119char osrelease[] = "${RELEASE}";
120int osreldate = ${RELDATE};
121char kern_ident[] = "${i}";
122EOF
123
124echo `expr ${v} + 1` > version
125