1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
|
From ea5ce303fa5bc7b6a17c522b4caf49d349adb12b Mon Sep 17 00:00:00 2001
From: Max Krummenacher <max.krummenacher@toradex.com>
Date: Sat, 30 Oct 2021 17:26:42 +0200
Subject: [PATCH] isp-imx: drop use of __TIME__, __DATE__
With reproducible build enabled the compiler is configured to throw
an error if __TIME__, __DATE__ preprocessor macros are used.
| isp-imx-4.2.2.11.0/mediacontrol/daemon/main_v4l2.cpp:99:44: error: macro "__DATE__" might prevent reproducible builds [-Werror=date-time]
| 99 | std::cout << "Build Time : "<<__DATE__<<", "<<__TIME__<<std::endl;
| | ^~~~~~~~
Fix this by replacing __DATE__, __TIME__ with BUILD_DATE and setting
BUILD_DATE from CMakeLists.txt to either SOURCE_DATE_EPOCH if present
or the local time otherwise.
Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
---
mediacontrol/CMakeLists.txt | 3 +++
mediacontrol/daemon/main_v4l2.cpp | 8 ++++----
2 files changed, 7 insertions(+), 4 deletions(-)
diff --git a/mediacontrol/CMakeLists.txt b/mediacontrol/CMakeLists.txt
index 5849c163e..8a8e1a4a0 100755
--- a/mediacontrol/CMakeLists.txt
+++ b/mediacontrol/CMakeLists.txt
@@ -2,6 +2,9 @@ cmake_minimum_required(VERSION 3.1.0)
project(ISP_MEDIA_CONTROL)
+string(TIMESTAMP BUILD_DATE "%b %d %Y" UTC)
+add_compile_definitions(BUILD_DATE="${BUILD_DATE}")
+
if( NOT DEFINED APPSHELL_TOP_COMPILE)
if(DEFINED PLATFORM)
if(${PLATFORM} STREQUAL ARM64)
diff --git a/mediacontrol/daemon/main_v4l2.cpp b/mediacontrol/daemon/main_v4l2.cpp
index d3d1c2423..dd0514358 100644
--- a/mediacontrol/daemon/main_v4l2.cpp
+++ b/mediacontrol/daemon/main_v4l2.cpp
@@ -105,7 +105,7 @@ int main(int argc, char* argv[]) {
if(!(string2Version.find(argv[1])==string2Version.end())){
std::cout << "Version : "<<MEDIA_SERVER_VERSION<<std::endl;
#ifndef ANDROID
- std::cout << "Build Time : "<<__DATE__<<", "<<__TIME__<<std::endl;
+ std::cout << "Build Time : "<<BUILD_DATE<<std::endl;
#endif
return 0;
}
@@ -116,8 +116,8 @@ int main(int argc, char* argv[]) {
{
ALOGI("******************************************************************");
#ifndef ANDROID
- ALOGI("VIV ISP Media Control Framework V%s (%s, %s)",
- MEDIA_SERVER_VERSION, __DATE__, __TIME__);
+ ALOGI("VIV ISP Media Control Framework V%s (%s)",
+ MEDIA_SERVER_VERSION, BUILD_DATE);
#else
ALOGI("VIV ISP Media Control Framework V%s", MEDIA_SERVER_VERSION);
#endif
@@ -138,7 +138,7 @@ int main(int argc, char* argv[]) {
if(!(string2Version.find(argv[i])==string2Version.end())){
std::cout << "Version : "<<MEDIA_SERVER_VERSION<<std::endl;
#ifndef ANDROID
- std::cout << "Build Time : "<<__DATE__<<", "<<__TIME__<<std::endl;
+ std::cout << "Build Time : "<<BUILD_DATE<<std::endl;
#endif
i++;
continue;
--
2.20.1
|