The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/conf/newvers.sh

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

    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.23 2008/07/14 04:01:44 dillon Exp $
   37 
   38 # The directory where the source resides
   39 #
   40 SRCDIR=$1
   41 if [ "${SRCDIR}" = "" ]; then
   42     SRCDIR=$(dirname $0)/../..
   43 fi
   44 
   45 # Set the branch
   46 #
   47 BRANCH="DEVELOPMENT_3_7"
   48 
   49 TYPE="DragonFly"
   50 
   51 # The SHORTTAG is inclusive of the BLAH_X_Y version (if any)
   52 #
   53 if [ -z "${SHORTTAG}" ]; then
   54     SHORTTAG=${BRANCH}
   55 fi
   56 
   57 # Figure out the revision and subversion, if any.  If the tag is in 
   58 # the form NAME_X_Y the revision is extracted from X and Y and the branch
   59 # tag is truncated to just NAME.  Otherwise we are on the HEAD branch and
   60 # we are either HEAD or PREVIEW and the programmed revision is used.
   61 #
   62 # If we are on a branch-tag we must also figure out the sub-version.  The
   63 # sub-version is extracted from the 'subvers-${SHORTTAG}' file.  This file
   64 # typically only exists within branches.
   65 #
   66 REVISION=${BRANCH#*_}
   67 BRANCH=${BRANCH%%_*}
   68 
   69 if [ "${REVISION}" != "${BRANCH}" ]; then
   70     REVISION=$(echo $REVISION | sed -e 's/_/./g')
   71 fi
   72 
   73 if [ -f ${SRCDIR}/sys/conf/subvers-${SHORTTAG} ]; then
   74     SUBVER=$(tail -1 ${SRCDIR}/sys/conf/subvers-${SHORTTAG} | awk '{ print $1; }')
   75     if [ "X${SUBVER}" != "X" ]; then
   76         REVISION="${REVISION}.${SUBVER}"
   77         break
   78     fi
   79 fi
   80 
   81 # obtain git commit name, like "v2.3.2.449.g84e97*"
   82 GITREV=$(${SRCDIR}/tools/gitrev.sh 2>/dev/null || true)
   83 
   84 RELEASE="${REVISION}-${BRANCH}"
   85 VERSION="${TYPE} ${RELEASE}"
   86 [ -n "$GITREV" ] && VERSION="${TYPE} ${GITREV}-${BRANCH}"
   87 
   88 if [ "X${PARAMFILE}" != "X" ]; then
   89         RELDATE=$(awk '/__DragonFly_version.*propagated to newvers/ {print $3}' \
   90                 ${PARAMFILE})
   91 else
   92         RELDATE=$(awk '/__DragonFly_version.*propagated to newvers/ {print $3}' \
   93                 ${SRCDIR}/sys/sys/param.h)
   94 fi
   95 
   96 
   97 year=`date '+%Y'`
   98 # look for copyright template
   99 if [ -r ${SRCDIR}/share/examples/etc/bsd-style-copyright ]; then
  100     COPYRIGHT=`sed \
  101         -e "s/\[year\]/$year/" \
  102         -e 's/\[your name\]\.*/The DragonFly Project/' \
  103         -e '/\[id for your version control system, if any\]/d' \
  104         ${SRCDIR}/share/examples/etc/bsd-style-copyright`
  105 fi
  106 
  107 # no copyright found, use a dummy
  108 if [ X"$COPYRIGHT" = X ]; then
  109         COPYRIGHT="/*
  110  * Copyright (c) $year The DragonFly Project
  111  * All rights reserved.
  112  *
  113  */"
  114 fi
  115 
  116 # add newline
  117 COPYRIGHT="$COPYRIGHT
  118 "
  119 
  120 LC_ALL=C; export LC_ALL
  121 if [ ! -r version ]
  122 then
  123         echo 0 > version
  124 fi
  125 
  126 touch version
  127 v=`cat version` u=${USER-root} d=`pwd` h=`hostname` t=`date`
  128 if [ "$v" = "" ]; then
  129     v=1
  130 fi
  131 i=`make -V KERN_IDENT`
  132 cat << EOF > vers.c
  133 $COPYRIGHT
  134 char version[] = "${VERSION} #${v}: ${t}\\n    ${u}@${h}:${d}\\n";
  135 char ostype[] = "${TYPE}";
  136 char osrelease[] = "${RELEASE}";
  137 int osreldate = ${RELDATE};
  138 char kern_ident[] = "${i}";
  139 EOF
  140 
  141 echo `expr ${v} + 1` > version
  142 
  143 if [ "${BRANCH}" = "DEVELOPMENT" ]; then
  144     SBRANCH=DEV
  145 fi
  146 if [ "${BRANCH}" = "RELEASE" ]; then
  147     SBRANCH=REL
  148 fi
  149 
  150 stamp=`date +%Y%m%d`
  151 echo DragonFly-${MACHINE}-${stamp}-${SBRANCH}-${GITREV} > vers.txt

Cache object: eedf62eebf6a4f9881132c886d380b1e


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.