| Commit | Line | Data |
|---|---|---|
| 984263bc MD |
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 $ | |
| 3b7b6af7 | 36 | # $DragonFly: src/sys/conf/newvers.sh,v 1.23 2008/07/14 04:01:44 dillon Exp $ |
| 208ec2ab | 37 | |
| 7e7d17cb SW |
38 | # The directory where the source resides |
| 39 | # | |
| 40 | SRCDIR=$1 | |
| 41 | if [ "${SRCDIR}" = "" ]; then | |
| 42 | SRCDIR=$(dirname $0)/../.. | |
| 43 | fi | |
| 44 | ||
| d8e83bc2 | 45 | # Set the branch |
| 73945174 | 46 | # |
| 68dc98df | 47 | BRANCH="DEVELOPMENT_2_9" |
| 984263bc | 48 | |
| d77e8324 | 49 | TYPE="DragonFly" |
| 73945174 MD |
50 | |
| 51 | # The SHORTTAG is inclusive of the BLAH_X_Y version (if any) | |
| 52 | # | |
| 8c4b29b0 SS |
53 | if [ -z "${SHORTTAG}" ]; then |
| 54 | SHORTTAG=${BRANCH} | |
| 55 | fi | |
| 73945174 MD |
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') | |
| 73945174 MD |
71 | fi |
| 72 | ||
| 7e7d17cb SW |
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 | |
| 4acfda1f | 78 | fi |
| 7e7d17cb | 79 | fi |
| 4acfda1f | 80 | |
| 8ea4378c SS |
81 | # obtain git commit name, like "v2.3.2.449.g84e97*" |
| 82 | GITREV=$(${SRCDIR}/tools/gitrev.sh 2>/dev/null || true) | |
| 8ea4378c | 83 | |
| 984263bc | 84 | RELEASE="${REVISION}-${BRANCH}" |
| 962d1e44 SS |
85 | VERSION="${TYPE} ${RELEASE}" |
| 86 | [ -n "$GITREV" ] && VERSION="${TYPE} ${GITREV}-${BRANCH}" | |
| 984263bc MD |
87 | |
| 88 | if [ "X${PARAMFILE}" != "X" ]; then | |
| d77e8324 | 89 | RELDATE=$(awk '/__DragonFly_version.*propagated to newvers/ {print $3}' \ |
| 984263bc MD |
90 | ${PARAMFILE}) |
| 91 | else | |
| d77e8324 | 92 | RELDATE=$(awk '/__DragonFly_version.*propagated to newvers/ {print $3}' \ |
| 7e7d17cb | 93 | ${SRCDIR}/sys/sys/param.h) |
| 984263bc MD |
94 | fi |
| 95 | ||
| 96 | ||
| 984263bc MD |
97 | year=`date '+%Y'` |
| 98 | # look for copyright template | |
| 7e7d17cb SW |
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 | |
| 984263bc MD |
106 | |
| 107 | # no copyright found, use a dummy | |
| 108 | if [ X"$COPYRIGHT" = X ]; then | |
| 109 | COPYRIGHT="/* | |
| 65d28b98 SW |
110 | * Copyright (c) $year The DragonFly Project |
| 111 | * All rights reserved. | |
| 984263bc MD |
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` | |
| 796176d8 MD |
128 | if [ "$v" = "" ]; then |
| 129 | v=1 | |
| 130 | fi | |
| cf75fe93 | 131 | i=`make -V KERN_IDENT` |
| 984263bc MD |
132 | cat << EOF > vers.c |
| 133 | $COPYRIGHT | |
| 984263bc MD |
134 | char version[] = "${VERSION} #${v}: ${t}\\n ${u}@${h}:${d}\\n"; |
| 135 | char ostype[] = "${TYPE}"; | |
| 136 | char osrelease[] = "${RELEASE}"; | |
| 137 | int osreldate = ${RELDATE}; | |
| cf75fe93 | 138 | char kern_ident[] = "${i}"; |
| 984263bc MD |
139 | EOF |
| 140 | ||
| 141 | echo `expr ${v} + 1` > version | |
| 2be89e20 | 142 | |
| 075a0e78 MD |
143 | if [ "${BRANCH}" = "DEVELOPMENT" ]; then |
| 144 | SBRANCH=DEV | |
| 145 | fi | |
| 146 | if [ "${BRANCH}" = "RELEASE" ]; then | |
| 147 | SBRANCH=REL | |
| 148 | fi | |
| 149 | ||
| 2be89e20 | 150 | stamp=`date +%Y%m%d` |
| 075a0e78 | 151 | echo DragonFly-${MACHINE}-${stamp}-${SBRANCH}-${GITREV} > vers.txt |