diff options
Diffstat (limited to 'stand/common/newvers.sh')
-rwxr-xr-x | stand/common/newvers.sh | 20 |
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 |