mirror of
https://gitlab.alpinelinux.org/alpine/aports.git
synced 2025-08-05 21:37:15 +02:00
* 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
79 lines
2.5 KiB
Diff
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
|