]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - stand/common/newvers.sh
Merge llvm-project release/17.x llvmorg-17.0.6-0-g6009708b4367
[FreeBSD/FreeBSD.git] / stand / common / newvers.sh
1 #!/bin/sh -
2 #
3 #       $NetBSD: newvers.sh,v 1.1 1997/07/26 01:50:38 thorpej Exp $
4 #
5 # Copyright (c) 1984, 1986, 1990, 1993
6 #       The Regents of the University of California.  All rights reserved.
7 #
8 # Redistribution and use in source and binary forms, with or without
9 # modification, are permitted provided that the following conditions
10 # are met:
11 # 1. Redistributions of source code must retain the above copyright
12 #    notice, this list of conditions and the following disclaimer.
13 # 2. Redistributions in binary form must reproduce the above copyright
14 #    notice, this list of conditions and the following disclaimer in the
15 #    documentation and/or other materials provided with the distribution.
16 # 3. Neither the name of the University nor the names of its contributors
17 #    may be used to endorse or promote products derived from this software
18 #    without specific prior written permission.
19 #
20 # THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
21 # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
22 # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
23 # ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
24 # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
25 # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
26 # OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
27 # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
28 # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
29 # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
30 # SUCH DAMAGE.
31
32 tempfile=$(mktemp tmp.XXXXXX) || exit
33 trap "rm -f $tempfile" EXIT INT TERM
34
35 include_metadata=true
36 while getopts r opt; do
37         case "$opt" in
38         r)
39                 include_metadata=
40                 ;;
41         esac
42 done
43 shift $((OPTIND - 1))
44
45 LC_ALL=C; export LC_ALL
46 u=${USER-root} h=${HOSTNAME-`hostname`} t=`date`
47 #r=`head -n 6 $1 | tail -n 1 | awk -F: ' { print $1 } '`
48 r=`awk -F: ' /^[0-9]\.[0-9]+:/ { print $1; exit }' $1`
49
50 bootprog_info="FreeBSD/${3} ${2}, Revision ${r}\\n"
51 if [ -n "${include_metadata}" ]; then
52         bootprog_info="$bootprog_info(${t} ${u}@${h})\\n"
53 fi
54
55 cat > $tempfile <<EOF
56 char bootprog_info[] = "$bootprog_info";
57 unsigned bootprog_rev = ${r%%.*} * 1000 + ${r##*.};
58 EOF
59 mv $tempfile vers.c