/stand/common/newvers.sh

https://bitbucket.org/freebsd/freebsd-base · Shell · 60 lines · 21 code · 5 blank · 34 comment · 3 complexity · 596deef92d9def63fcd6fc9153523559 MD5 · raw file

  1. #!/bin/sh -
  2. #
  3. # $FreeBSD$
  4. # $NetBSD: newvers.sh,v 1.1 1997/07/26 01:50:38 thorpej Exp $
  5. #
  6. # Copyright (c) 1984, 1986, 1990, 1993
  7. # The Regents of the University of California. All rights reserved.
  8. #
  9. # Redistribution and use in source and binary forms, with or without
  10. # modification, are permitted provided that the following conditions
  11. # are met:
  12. # 1. Redistributions of source code must retain the above copyright
  13. # notice, this list of conditions and the following disclaimer.
  14. # 2. Redistributions in binary form must reproduce the above copyright
  15. # notice, this list of conditions and the following disclaimer in the
  16. # documentation and/or other materials provided with the distribution.
  17. # 3. Neither the name of the University nor the names of its contributors
  18. # may be used to endorse or promote products derived from this software
  19. # without specific prior written permission.
  20. #
  21. # THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  22. # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  23. # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  24. # ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  25. # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  26. # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  27. # OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  28. # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  29. # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  30. # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  31. # SUCH DAMAGE.
  32. #
  33. # @(#)newvers.sh 8.1 (Berkeley) 4/20/94
  34. tempfile=$(mktemp tmp.XXXXXX) || exit
  35. trap "rm -f $tempfile" EXIT INT TERM
  36. include_metadata=true
  37. while getopts r opt; do
  38. case "$opt" in
  39. r)
  40. include_metadata=
  41. ;;
  42. esac
  43. done
  44. shift $((OPTIND - 1))
  45. LC_ALL=C; export LC_ALL
  46. u=${USER-root} h=${HOSTNAME-`hostname`} t=`date`
  47. #r=`head -n 6 $1 | tail -n 1 | awk -F: ' { print $1 } '`
  48. r=`awk -F: ' /^[0-9]\.[0-9]+:/ { print $1; exit }' $1`
  49. bootprog_info="FreeBSD/${3} ${2}, Revision ${r}\\n"
  50. if [ -n "${include_metadata}" ]; then
  51. bootprog_info="$bootprog_info(${t} ${u}@${h})\\n"
  52. fi
  53. echo "char bootprog_info[] = \"$bootprog_info\";" > $tempfile
  54. echo "unsigned bootprog_rev = ${r%%.*}${r##*.};" >> $tempfile
  55. mv $tempfile vers.c