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/osrelease.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 #       $NetBSD: osrelease.sh,v 1.122 2012/02/16 23:56:57 christos Exp $
    4 #
    5 # Copyright (c) 1997 The NetBSD Foundation, Inc.
    6 # All rights reserved.
    7 #
    8 # This code is derived from software contributed to The NetBSD Foundation
    9 # by Luke Mewburn.
   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 
   33 # We use the number specified in <sys/param.h>
   34 
   35 path="$0"
   36 [ "${path#/*}" = "$path" ] && path="./$path"
   37 exec < ${path%/*}/../sys/param.h
   38 
   39 # Search for line
   40 # #define __NetBSD_Version__ <ver_num> /* NetBSD <ver_text> */
   41 #
   42 # <ver_num> and <ver_text> should match!
   43 
   44 while
   45         read define ver_tag rel_num comment_start NetBSD rel_text rest || exit 1
   46 do
   47         [ "$define" = "#define" ] || continue;
   48         [ "$ver_tag" = "__NetBSD_Version__" ] || continue
   49         break
   50 done
   51 
   52 # default: return MM.mm.pp
   53 # -m: return MM, representing only the major number; however, for -current,
   54 #     return the next major number (e.g. for 5.99.nn, return 6)
   55 # -n: return MM.mm
   56 # -s: return MMmmpp (no dots)
   57 # -k: return MM.mm on release branch, MM.mm.pp on current.
   58 
   59 option="$1"
   60 
   61 # ${rel_num} is [M]Mmm00pp00
   62 rel_num=${rel_num%??}
   63 rel_MMmm=${rel_num%????}
   64 rel_MM=${rel_MMmm%??}
   65 rel_mm=${rel_MMmm#${rel_MM}}
   66 # rel_pp=${rel_num#${rel_MMmm}00}
   67 
   68 # Get patch from text version
   69 IFS=.
   70 set -- - $rel_text
   71 beta=${3#[0-9]}
   72 beta=${beta#[0-9]}
   73 shift 3
   74 IFS=' '
   75 set -- $rel_MM ${rel_mm#0}$beta $*
   76 
   77 case "$option" in
   78 -k)
   79         if [ ${rel_mm#0} = 99 ]
   80         then
   81                 IFS=.
   82                 echo "$*"
   83         else
   84                 echo "${rel_MM}.${rel_mm#0}"
   85         fi
   86         ;;
   87              
   88 -m)
   89         echo "$(((${rel_MMmm}+1)/100))"
   90         ;;
   91 -n)
   92         echo "${rel_MM}.${rel_mm#0}"
   93         ;;
   94 -s)
   95         IFS=
   96         echo "$*"
   97         ;;
   98 *)
   99         IFS=.
  100         echo "$*"
  101         ;;
  102 esac

Cache object: 42317d5ec9c829f9c159c2862b56f0ec


[ 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.