From 3f9cbe8b41619cbe53cbffa5fa36c6a3ecefe637 Mon Sep 17 00:00:00 2001 From: Peter Johnson Date: Mon, 18 Feb 2019 01:22:58 -0800 Subject: [PATCH] Include git version information in webpage and /etc/rpi-issue (#110) Fixes #95. --- build-docker.sh | 3 +++ build.sh | 7 +++++-- deps/tools/configServer/Makefile | 7 ++++--- deps/tools/configServer/gen_resource.py | 4 ++++ deps/tools/configServer/src/resources/index.html | 9 +++++++++ scripts/common | 2 +- 6 files changed, 26 insertions(+), 6 deletions(-) diff --git a/build-docker.sh b/build-docker.sh index e56f7d9..e4c4b6c 100755 --- a/build-docker.sh +++ b/build-docker.sh @@ -30,6 +30,7 @@ do esac done +IMG_VERSION=${IMG_VERSION:-$(git describe)} CONTAINER_NAME=${CONTAINER_NAME:-pigen_work} CONTINUE=${CONTINUE:-0} PRESERVE_CONTAINER=${PRESERVE_CONTAINER:-0} @@ -59,6 +60,7 @@ if [ "$CONTAINER_EXISTS" != "" ]; then time $DOCKER run --rm --privileged \ --volumes-from="${CONTAINER_NAME}" --name "${CONTAINER_NAME}_cont" \ -e IMG_NAME="${IMG_NAME}"\ + -e IMG_VERSION="${IMG_VERSION}"\ pi-gen \ bash -e -o pipefail -c "dpkg-reconfigure qemu-user-static && cd /pi-gen; ./build.sh; @@ -68,6 +70,7 @@ else trap "echo 'got CTRL+C... please wait 5s'; $DOCKER stop -t 5 ${CONTAINER_NAME}" SIGINT SIGTERM time $DOCKER run --name "${CONTAINER_NAME}" --privileged \ -e IMG_NAME="${IMG_NAME}"\ + -e IMG_VERSION="${IMG_VERSION}"\ "${config_file[@]}" \ pi-gen \ bash -e -o pipefail -c "dpkg-reconfigure qemu-user-static && diff --git a/build.sh b/build.sh index c44e6db..6be4fa5 100755 --- a/build.sh +++ b/build.sh @@ -143,9 +143,12 @@ if [ -z "${IMG_NAME}" ]; then fi export USE_QEMU="${USE_QEMU:-0}" +export IMG_VERSION=${IMG_VERSION:-$(git describe)} export IMG_DATE="${IMG_DATE:-"$(date +%Y-%m-%d)"}" -export IMG_FILENAME="${IMG_FILENAME:-"${IMG_DATE}-${IMG_NAME}${IMG_SUFFIX}"}" -export ZIP_FILENAME="${ZIP_FILENAME:-"image_${IMG_DATE}-${IMG_NAME}${IMG_SUFFIX}"}" +export IMG_FILENAME="${IMG_FILENAME:-"${IMG_NAME}-${IMG_VERSION}_${IMG_DATE}${IMG_SUFFIX}"}" +export ZIP_FILENAME="${ZIP_FILENAME:-"${IMG_NAME}_image-${IMG_VERSION}_${IMG_DATE}${IMG_SUFFIX}"}" + +echo "IMG_VERSION=${IMG_VERSION}" BASE_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" export SCRIPT_DIR="${BASE_DIR}/scripts" diff --git a/deps/tools/configServer/Makefile b/deps/tools/configServer/Makefile index 67990c0..bb12aac 100644 --- a/deps/tools/configServer/Makefile +++ b/deps/tools/configServer/Makefile @@ -1,3 +1,4 @@ +IMG_VERSION?=$(shell git describe) DEPS_CFLAGS?=$(shell pkg-config --cflags cscore wpiutil) DEPS_LIBS?=$(shell pkg-config --libs --static cscore wpiutil) EXEC_HOME?=/home/pi @@ -44,11 +45,11 @@ configServer: ${OBJS} $< %.html.cpp: %.html - ./gen_resource.py $@ $< + env IMG_VERSION=${IMG_VERSION} ./gen_resource.py $@ $< %.css.cpp: %.css - ./gen_resource.py $@ $< + env IMG_VERSION=${IMG_VERSION} ./gen_resource.py $@ $< %.js.cpp: %.js - ./gen_resource.py $@ $< + env IMG_VERSION=${IMG_VERSION} ./gen_resource.py $@ $< diff --git a/deps/tools/configServer/gen_resource.py b/deps/tools/configServer/gen_resource.py index 6c1de17..697a747 100755 --- a/deps/tools/configServer/gen_resource.py +++ b/deps/tools/configServer/gen_resource.py @@ -15,6 +15,10 @@ args = parser.parse_args() with open(args.inputFile, "rb") as f: data = f.read() +version = os.getenv('IMG_VERSION') +if version is not None and b'IMG_VERSION' in data: + data = data.replace(b'IMG_VERSION', version.encode('utf-8')) + fileSize = len(data) inputBase = os.path.basename(args.inputFile) diff --git a/deps/tools/configServer/src/resources/index.html b/deps/tools/configServer/src/resources/index.html index c3e848d..cf8001d 100644 --- a/deps/tools/configServer/src/resources/index.html +++ b/deps/tools/configServer/src/resources/index.html @@ -474,6 +474,15 @@ + diff --git a/scripts/common b/scripts/common index ea18cb6..6672c57 100644 --- a/scripts/common +++ b/scripts/common @@ -95,7 +95,7 @@ export -f on_chroot update_issue() { local GIT_HASH GIT_HASH=$(git rev-parse HEAD) - echo -e "FRCVision ${IMG_DATE}\nGenerated using pi-gen, https://github.com/allwpilib/FRCVision-pi-gen, ${GIT_HASH}, ${1}" > "${ROOTFS_DIR}/etc/rpi-issue" + echo -e "FRCVision ${IMG_VERSION} built on ${IMG_DATE}\nGenerated using pi-gen, https://github.com/allwpilib/FRCVision-pi-gen, ${GIT_HASH}, ${1}" > "${ROOTFS_DIR}/etc/rpi-issue" } export -f update_issue