aports/community/docker/tini-cmake-fixes.patch
Gennady Feldman cc01cdeb28 community/docker: Fixing some packaging issues, adding docker-doc subpackage.
* Needed to tweak tini to return not just version but also commit.
  This is needed so docker doesn't complain it can't get version.
* Added docker-doc man pages (sub package)
* Upgrade to v17.03.1-ce
2017-03-30 12:51:09 +00:00

79 lines
2.5 KiB
Diff

From a8f82ea60cde15cbbd0ebcf729062de6bad9859c Mon Sep 17 00:00:00 2001
From: Thomas Orozco <thomas@orozco.fr>
Date: Tue, 28 Mar 2017 21:59:07 +0200
Subject: [PATCH] Allow setting VERSION_GIT
Fixes: #79
---
CMakeLists.txt | 48 +++++++++++++++++++++++++++++-------------------
1 file changed, 29 insertions(+), 19 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 8936f18..06c180c 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -6,34 +6,44 @@ set (tini_VERSION_MAJOR 0)
set (tini_VERSION_MINOR 14)
set (tini_VERSION_PATCH 0)
+set (GIT_PREFIX " - git.")
+
# Build options
option(MINIMAL "Disable argument parsing and verbose output" OFF)
+# Set VERSION_GIT to INTERNAL so it does not persist across runs of CMake, just
+# like the auto-discovery would.
+set(VERSION_GIT "" CACHE INTERNAL "Override the git revision")
+
if(MINIMAL)
add_definitions(-DTINI_MINIMAL=1)
endif()
# Extract git version and dirty-ness
-execute_process (
- COMMAND git --git-dir "${PROJECT_SOURCE_DIR}/.git" --work-tree "${PROJECT_SOURCE_DIR}" log -n 1 --date=local --pretty=format:%h
- WORKING_DIRECTORY "${PROJECT_SOURCE_DIR}"
- RESULT_VARIABLE git_version_check_ret
- OUTPUT_VARIABLE tini_VERSION_GIT
-)
-
-execute_process(
- COMMAND git --git-dir "${PROJECT_SOURCE_DIR}/.git" --work-tree "${PROJECT_SOURCE_DIR}" status --porcelain --untracked-files=no
- WORKING_DIRECTORY "${PROJECT_SOURCE_DIR}"
- OUTPUT_VARIABLE git_dirty_check_out
-)
-
-if("${git_version_check_ret}" EQUAL 0)
- set(tini_VERSION_GIT " - git.${tini_VERSION_GIT}")
- if(NOT "${git_dirty_check_out}" STREQUAL "")
- set(tini_VERSION_GIT "${tini_VERSION_GIT}-dirty")
- endif()
+if(VERSION_GIT)
+ set(tini_VERSION_GIT "${GIT_PREFIX}${VERSION_GIT}")
else()
- set(tini_VERSION_GIT "")
+ execute_process (
+ COMMAND git --git-dir "${PROJECT_SOURCE_DIR}/.git" --work-tree "${PROJECT_SOURCE_DIR}" log -n 1 --date=local --pretty=format:%h
+ WORKING_DIRECTORY "${PROJECT_SOURCE_DIR}"
+ RESULT_VARIABLE git_version_check_ret
+ OUTPUT_VARIABLE tini_VERSION_GIT
+ )
+
+ execute_process(
+ COMMAND git --git-dir "${PROJECT_SOURCE_DIR}/.git" --work-tree "${PROJECT_SOURCE_DIR}" status --porcelain --untracked-files=no
+ WORKING_DIRECTORY "${PROJECT_SOURCE_DIR}"
+ OUTPUT_VARIABLE git_dirty_check_out
+ )
+
+ if("${git_version_check_ret}" EQUAL 0)
+ set(tini_VERSION_GIT "${GIT_PREFIX}${tini_VERSION_GIT}")
+ if(NOT "${git_dirty_check_out}" STREQUAL "")
+ set(tini_VERSION_GIT "${tini_VERSION_GIT}-dirty")
+ endif()
+ else()
+ set(tini_VERSION_GIT "")
+ endif()
endif()
# Flags