#!/bin/sh # # Copyright (C) 1993 by Oliver Trepte. # # Permission to use, copy, modify, and distribute this software and its # documentation for any purpose and without fee is hereby granted, provided # that the above copyright notice appear in all copies and that both that # copyright notice and this permission notice appear in supporting # documentation. This software is provided "as is" without express or # implied warranty. # SOURCE_DATE_EPOCH is an environment variable as described here: # https://reproducible-builds.org/specs/source-date-epoch/ on 2017.03.16. # COMPILED_BY is a similar environment variable whose value is some # description of who is doing the build. If it is not set, we use the # value of LOGNAME; if that is not set, we use the value of User; if that # is not set, we use the output of program 'whoami'. SOURCE_DATE_OR_NONE=${SOURCE_DATE_EPOCH:-NONE} NOW_FROM_DATE_PGM=$(date +%s) if [ "$NOW_FROM_DATE_PGM" = "%s" ]; then # This system's 'date' doesn't know %s. (Solaris 10 for example). # Try Perl BUILD_DATETIME=$(perl -e 'print time()') else BUILD_DATETIME=$NOW_FROM_DATE_PGM fi LOGNAME_OR_UNKNOWN=${LOGNAME:-UNKNOWN} USER_OR_UNKNOWN=${USER:-$LOGNAME_OR_UNKNOWN} COMPILED_BY_OR_UNKNOWN=${COMPILED_BY:-$USER_OR_UNKNOWN} if [ "$COMPILED_BY_OR_UNKNOWN" = "UNKNOWN" ]; then COMPILED_BY=$(whoami) else COMPILED_BY=$COMPILED_BY_OR_UNKNOWN fi echo "/* This file tells some facts about the building of the package */" echo "/* DO NOT EDIT - THIS FILE IS MAINTAINED AUTOMATICALLY */" echo "/* Created by the program 'stamp-date' */" if [ "$SOURCE_DATE_OR_NONE" != "NONE" ]; then echo "#define SOURCE_DATETIME $SOURCE_DATE_OR_NONE" fi echo "#define BUILD_DATETIME $BUILD_DATETIME" echo "#define COMPILED_BY \"$COMPILED_BY\""