From a9ab33806054d5e4044a075e21d16f806dfd1d1c Mon Sep 17 00:00:00 2001 From: tobtoht Date: Sat, 6 Feb 2021 04:57:18 +0100 Subject: [PATCH] Build: always copy Tor on reproducible build --- CMakeLists.txt | 6 +++++- Makefile | 3 ++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index eeaf112..7be1b39 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -199,7 +199,11 @@ if(TOR_BIN) # - linux: See `Dockerfile` # - windows: See `Dockerfile.windows` # - macos: taken from Tor Browser official release - set(TOR_COPY_CMD "cp -u ${TOR_BIN} ${CMAKE_CURRENT_SOURCE_DIR}/src/assets/exec/tor") + if(REPRODUCIBLE) # Always copy Tor when doing a reproducible build to prevent old versions from getting included + set(TOR_COPY_CMD "cp ${TOR_BIN} ${CMAKE_CURRENT_SOURCE_DIR}/src/assets/exec/tor") + else() + set(TOR_COPY_CMD "cp -u ${TOR_BIN} ${CMAKE_CURRENT_SOURCE_DIR}/src/assets/exec/tor") + endif() message(STATUS "${TOR_COPY_CMD}") execute_process(COMMAND bash -c "${TOR_COPY_CMD}" RESULT_VARIABLE ret) if(ret EQUAL "1") diff --git a/Makefile b/Makefile index 1947cb7..a1f81ad 100644 --- a/Makefile +++ b/Makefile @@ -43,13 +43,14 @@ CMAKEFLAGS = \ release-static: CMAKEFLAGS += -DBUILD_TAG="linux-x64" release-static: CMAKEFLAGS += -DTOR_BIN=$(or ${TOR_BIN},OFF) release-static: CMAKEFLAGS += -DCMAKE_BUILD_TYPE=Release +release-static: CMAKEFLAGS += -DREPRODUCIBLE=$(or ${SOURCE_DATE_EPOCH},OFF) release-static: cmake -Bbuild $(CMAKEFLAGS) $(MAKE) -Cbuild depends: mkdir -p build/$(target)/release - cd build/$(target)/release && cmake -D STATIC=ON -DTOR_VERSION=$(or ${TOR_VERSION}, OFF) -DTOR_BIN=$(or ${TOR_BIN},OFF) -D DEV_MODE=$(or ${DEV_MODE},OFF) -D BUILD_TAG=$(tag) -D CMAKE_BUILD_TYPE=Release -D CMAKE_TOOLCHAIN_FILE=$(root)/$(target)/share/toolchain.cmake ../../.. && $(MAKE) + cd build/$(target)/release && cmake -D STATIC=ON -DREPRODUCIBLE=$(or ${SOURCE_DATE_EPOCH},OFF) -DTOR_VERSION=$(or ${TOR_VERSION}, OFF) -DTOR_BIN=$(or ${TOR_BIN},OFF) -D DEV_MODE=$(or ${DEV_MODE},OFF) -D BUILD_TAG=$(tag) -D CMAKE_BUILD_TYPE=Release -D CMAKE_TOOLCHAIN_FILE=$(root)/$(target)/share/toolchain.cmake ../../.. && $(MAKE) windows-mxe-release: CMAKEFLAGS += -DBUILD_TAG="win-x64" windows-mxe-release: CMAKEFLAGS += -DTOR_BIN=$(or ${TOR_BIN},OFF)