Module Name: src
Committed By: dsl
Date: Sun Nov 15 14:40:18 UTC 2009
Modified Files:
src/sys/conf: osrelease.sh
Log Message:
Get patch part of version from comment.
To generate a diff of this commit:
cvs rdiff -u -r1.118 -r1.119 src/sys/conf/osrelease.sh
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/conf/osrelease.sh
diff -u src/sys/conf/osrelease.sh:1.118 src/sys/conf/osrelease.sh:1.119
--- src/sys/conf/osrelease.sh:1.118 Sun Nov 15 13:39:00 2009
+++ src/sys/conf/osrelease.sh Sun Nov 15 14:40:18 2009
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# $NetBSD: osrelease.sh,v 1.118 2009/11/15 13:39:00 dsl Exp $
+# $NetBSD: osrelease.sh,v 1.119 2009/11/15 14:40:18 dsl Exp $
#
# Copyright (c) 1997 The NetBSD Foundation, Inc.
# All rights reserved.
@@ -35,40 +35,54 @@
path="./$0"
exec < ${path%/*}/../sys/param.h
+# Search for line
+# #define __NetBSD_Version__ <ver_num> /* NetBSD <ver_text> */
+#
+# <ver_num> and <ver_text> should match!
+
while
- read define ver_tag release comment || exit 1
+ read define ver_tag rel_num comment_start NetBSD rel_text rest || exit 1
do
[ "$define" = "#define" ] || continue;
[ "$ver_tag" = "__NetBSD_Version__" ] || continue
break
done
-# ${release} is [M]Mmm00pp00
-#
# default: return MM.mm.pp
# -m: return MM, representing only the major number; however, for -current,
# return the next major number (e.g. for 5.99.nn, return 6)
# -n: return MM.mm
# -s: return MMmmpp (no dots)
-release=${release%??}
+option="$1"
-rel_MMmm=${release%????}
+# ${rel_num} is [M]Mmm00pp00
+rel_num=${rel_num%??}
+rel_MMmm=${rel_num%????}
rel_MM=${rel_MMmm%??}
rel_mm=${rel_MMmm#${rel_MM}}
-rel_pp=${release#${rel_MMmm}00}
+# rel_pp=${rel_num#${rel_MMmm}00}
+
+# Get patch from text version
+IFS=.
+set -- - $rel_text
+shift 3
+IFS=' '
+set -- $rel_MM ${rel_mm#0} $*
-case $1 in
+case "$option" in
-m)
echo "$(((${rel_MMmm}+1)/100))"
;;
-n)
- echo "$rel_MM.$rel_mm"
+ echo "${rel_MM}.${rel_mm#0}"
;;
-s)
- echo "$rel_MM$rel_mm$rel_pp"
+ IFS=
+ echo "$*"
;;
*)
- echo "$rel_MM.$rel_mm.$rel_pp"
+ IFS=.
+ echo "$*"
;;
esac