123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- #!/usr/bin/env bash
- USER_MODULES_H=app/include/user_modules.h
- COMMIT_ID="$(git rev-parse HEAD)"
- BRANCH="$(git rev-parse --abbrev-ref HEAD | sed -E 's/[\/\\]+/_/g')"
- RELEASE="$(git describe --tags --long | sed -E 's/(.*)-(.*)-.*/\1 +\2/g' | sed 's/ +0$//')"
- RELEASE_DTS=$(TZ=UTC git show --quiet --date=format-local:"%Y%m%d%H%M" --format="%cd" HEAD)
- BUILD_DATE="$(date "+%Y-%m-%d %H:%M")"
- MODULES=$(awk '/^[ \t]*#define LUA_USE_MODULES/{modules=modules sep tolower(substr($2,17));sep=","}END{if(length(modules)==0)modules="-";print modules}' $USER_MODULES_H | tr -d '\r')
- # create temp buildinfo
- TEMPFILE=/tmp/buildinfo.h
- cat > $TEMPFILE << EndOfMessage
- #ifndef __BUILDINFO_H__
- #define __BUILDINFO_H__
- #include "user_config.h"
- #define BUILDINFO_STR_HELPER(x) #x
- #define BUILDINFO_TO_STR(x) BUILDINFO_STR_HELPER(x)
- #ifdef LUA_FLASH_STORE
- #define BUILDINFO_LFS_SIZE LUA_FLASH_STORE
- #else
- #define BUILDINFO_LFS_SIZE 0
- #endif
- #ifdef CLIENT_SSL_ENABLE
- #define BUILDINFO_SSL true
- #define BUILDINFO_SSL_STR "true"
- #else
- #define BUILDINFO_SSL false
- #define BUILDINFO_SSL_STR "false"
- #endif
- #ifdef LUA_NUMBER_INTEGRAL
- #define BUILDINFO_BUILD_TYPE "integer"
- #else
- #ifdef LUA_NUMBER_64BITS
- #define BUILDINFO_BUILD_TYPE "double"
- #else
- #define BUILDINFO_BUILD_TYPE "float"
- #endif
- #endif
- #define USER_PROLOG "$USER_PROLOG"
- #define BUILDINFO_BRANCH "$BRANCH"
- #define BUILDINFO_COMMIT_ID "$COMMIT_ID"
- #define BUILDINFO_RELEASE "$RELEASE"
- #define BUILDINFO_RELEASE_DTS "$RELEASE_DTS"
- #define BUILDINFO_MODULES "$MODULES"
- #define BUILDINFO_BUILD_DATE "$BUILD_DATE"
- #define NODE_VERSION_LONG \\
- USER_PROLOG "\n" \\
- "\tbranch: " BUILDINFO_BRANCH "\n" \\
- "\tcommit: " BUILDINFO_COMMIT_ID "\n" \\
- "\trelease: " BUILDINFO_RELEASE "\n" \\
- "\trelease DTS: " BUILDINFO_RELEASE_DTS "\n" \\
- "\tSSL: " BUILDINFO_SSL_STR "\n" \\
- "\tbuild type: " BUILDINFO_BUILD_TYPE "\n" \\
- "\tLFS: " BUILDINFO_TO_STR(BUILDINFO_LFS_SIZE) " bytes total capacity\n" \\
- "\tmodules: " BUILDINFO_MODULES "\n"
- EndOfMessage
- echo "#endif /* __BUILDINFO_H__ */" >> $TEMPFILE
- diff -q $TEMPFILE app/include/buildinfo.h || cp $TEMPFILE app/include/buildinfo.h
- rm $TEMPFILE
|