aboutsummaryrefslogtreecommitdiff
path: root/stand/common/newvers.sh
diff options
context:
space:
mode:
Diffstat (limited to 'stand/common/newvers.sh')
-rwxr-xr-xstand/common/newvers.sh20
1 files changed, 14 insertions, 6 deletions
diff --git a/stand/common/newvers.sh b/stand/common/newvers.sh
index 714adba6c9cb..8541d61ed76c 100755
--- a/stand/common/newvers.sh
+++ b/stand/common/newvers.sh
@@ -1,6 +1,5 @@
#!/bin/sh -
#
-# $FreeBSD$
# $NetBSD: newvers.sh,v 1.1 1997/07/26 01:50:38 thorpej Exp $
#
# Copyright (c) 1984, 1986, 1990, 1993
@@ -29,8 +28,6 @@
# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
# SUCH DAMAGE.
-#
-# @(#)newvers.sh 8.1 (Berkeley) 4/20/94
tempfile=$(mktemp tmp.XXXXXX) || exit
trap "rm -f $tempfile" EXIT INT TERM
@@ -46,17 +43,28 @@ done
shift $((OPTIND - 1))
LC_ALL=C; export LC_ALL
-u=${USER-root} h=${HOSTNAME-`hostname`} t=`date`
-#r=`head -n 6 $1 | tail -n 1 | awk -F: ' { print $1 } '`
+u=${USER-root} h=${HOSTNAME-`hostname`}
+if [ -n "$SOURCE_DATE_EPOCH" ]; then
+ if ! t=$(date -ur $SOURCE_DATE_EPOCH 2>/dev/null); then
+ echo "Invalid SOURCE_DATE_EPOCH" >&2
+ exit 1
+ fi
+else
+ t="${NEWVERS_DATE:-`date`}"
+fi
r=`awk -F: ' /^[0-9]\.[0-9]+:/ { print $1; exit }' $1`
bootprog_info="FreeBSD/${3} ${2}, Revision ${r}\\n"
if [ -n "${include_metadata}" ]; then
bootprog_info="$bootprog_info(${t} ${u}@${h})\\n"
+ if [ -n "$BUILD_UTC" ]; then
+ # We can use what(1) to extract BUILD_UTC
+ bootprog_info="$bootprog_info\\0@(#)BUILD_UTC=$BUILD_UTC"
+ fi
fi
cat > $tempfile <<EOF
char bootprog_info[] = "$bootprog_info";
-unsigned bootprog_rev = ${r%%.*}${r##*.};
+unsigned bootprog_rev = ${r%%.*} * 1000 + ${r##*.};
EOF
mv $tempfile vers.c