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. Neither the name of the University nor the names of its contributors 15# may be used to endorse or promote products derived from this software 16# without specific prior written permission. 17# 18# THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 19# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 20# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 21# ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 22# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 23# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 24# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 25# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 26# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 27# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 28# SUCH DAMAGE. 29# 30# @(#)newvers.sh 8.1 (Berkeley) 4/20/94 31# $FreeBSD: src/sys/conf/newvers.sh,v 1.44.2.30 2003/04/04 07:02:46 murray Exp $ 32 33# The directory where the source resides 34# 35SRCDIR=$1 36if [ "${SRCDIR}" = "" ]; then 37 SRCDIR=$(dirname $0)/../.. 38fi 39 40# Set the branch 41# 42BRANCH="DEVELOPMENT_6_5" 43 44TYPE="DragonFly" 45 46# Figure out the revision and subversion, if any. If the tag is in 47# the form NAME_X_Y the revision is extracted from X and Y and the branch 48# tag is truncated to just NAME. Otherwise we are on the HEAD branch and 49# we are either HEAD or PREVIEW and the programmed revision is used. 50# 51REVISION=${BRANCH#*_} 52BRANCH=${BRANCH%%_*} 53 54if [ "${REVISION}" != "${BRANCH}" ]; then 55 REVISION=$(echo $REVISION | sed -e 's/_/./g') 56fi 57 58# obtain git commit name, like "v2.3.2.449.g84e97*" 59GITREV=$(${SRCDIR}/tools/gitrev.sh 2>/dev/null || true) 60 61RELEASE="${REVISION}-${BRANCH}" 62VERSION="${TYPE} ${RELEASE}" 63[ -n "$GITREV" ] && VERSION="${TYPE} ${GITREV}-${BRANCH}" 64 65if [ "X${PARAMFILE}" != "X" ]; then 66 RELDATE=$(awk '/__DragonFly_version.*propagated to newvers/ {print $3}' \ 67 ${PARAMFILE}) 68else 69 RELDATE=$(awk '/__DragonFly_version.*propagated to newvers/ {print $3}' \ 70 ${SRCDIR}/sys/sys/param.h) 71fi 72 73 74year=`date '+%Y'` 75COPYRIGHT="/*- 76 * Copyright (c) $year The DragonFly Project 77 * All rights reserved. 78 */ 79" 80 81LC_ALL=C; export LC_ALL 82if [ ! -r version ] 83then 84 echo 0 > version 85fi 86 87touch version 88v=`cat version` 89u=${USER:-root} 90d=`pwd` 91h=${HOSTNAME:-`hostname`} 92t=`date` 93if [ "$v" = "" ]; then 94 v=1 95fi 96i=`make -V KERN_IDENT` 97cat << EOF > vers.c 98$COPYRIGHT 99char version[] = "${VERSION} #${v}: ${t}\\n ${u}@${h}:${d}\\n"; 100char ostype[] = "${TYPE}"; 101char osrelease[] = "${RELEASE}"; 102int osreldate = ${RELDATE}; 103char kern_ident[] = "${i}"; 104EOF 105 106echo `expr ${v} + 1` > version 107 108if [ "${BRANCH}" = "DEVELOPMENT" ]; then 109 SBRANCH=DEV 110fi 111if [ "${BRANCH}" = "RELEASE" ]; then 112 SBRANCH=REL 113fi 114 115stamp=`date +%Y%m%d` 116echo DragonFly-${MACHINE}-${stamp}-${SBRANCH}-${GITREV} > vers.txt 117