1#!/bin/sh - 2# 3# $NetBSD: newvers_stand.sh,v 1.8 2011/01/22 19:19:25 joerg Exp $ 4# 5# Copyright (c) 2000 The NetBSD Foundation, Inc. 6# All rights reserved. 7# 8# This code is derived from software contributed to The NetBSD Foundation 9# by Jaromir Dolecek. 10# 11# Redistribution and use in source and binary forms, with or without 12# modification, are permitted provided that the following conditions 13# are met: 14# 1. Redistributions of source code must retain the above copyright 15# notice, this list of conditions and the following disclaimer. 16# 2. Redistributions in binary form must reproduce the above copyright 17# notice, this list of conditions and the following disclaimer in the 18# documentation and/or other materials provided with the distribution. 19# 20# THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS 21# ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED 22# TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 23# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS 24# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 25# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 26# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 27# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 28# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 29# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 30# POSSIBILITY OF SUCH DAMAGE. 31 32# Script for generating of vers.c file from given template. Used in 33# bootblock build on various architectures. 34# 35# Called as: 36# sh ${S}/conf/newvers_stand.sh [-N] VERSION_FILE ARCH [EXTRA_MSG] 37 38cwd=$(dirname $0) 39 40add_name=yes 41add_date=no 42add_kernrev=yes 43 44# parse command args 45while getopts "DKN?" OPT; do 46 case $OPT in 47 D) add_date=yes;; 48 K) add_kernrev=no;; 49 N) add_name=no;; 50 ?) echo "Syntax: newvers_stand.sh [-NDMK] VERSION_TEMPLATE ARCH EXTRA_COMMENT" >&2 51 exit 1;; 52 esac 53done 54 55shift `expr $OPTIND - 1` 56 57r=`awk -F: '$1 ~ /^[0-9.]*$/ { it = $1; } END { print it }' $1` 58t=`LC_ALL=C date` 59 60if [ $add_date = yes ]; then 61 echo "const char bootprog_rev[] = \"${r} (${t})\";" > vers.c 62else 63 echo "const char bootprog_rev[] = \"${r}\";" > vers.c 64fi 65 66if [ $add_name = yes ]; then 67 a="$2" # architecture name 68 extra=${3:+" $3"} 69 70 echo "const char bootprog_name[] = \"NetBSD/${a}${extra}\";" >> vers.c 71fi 72 73if [ $add_kernrev = yes ]; then 74 osr=$(sh ${cwd}/osrelease.sh) 75 echo "const char bootprog_kernrev[] = \"${osr}\";" >> vers.c 76fi 77