summaryrefslogtreecommitdiffstats
path: root/recipes-bsp/isp-imx/isp-imx/0001-isp-imx-drop-use-of-__TIME__-__DATE__.patch
blob: d8d12267b213047a703acd426fa548720773e4dc (plain)
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 accaeb1ae77eb40b89e70df3efcb00d0dc2af758 Mon Sep 17 00:00:00 2001
From: Max Krummenacher <max.krummenacher@toradex.com>
Date: Mon, 14 Jun 2021 08:20:48 +0000
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 48cd7633e..f587758e0 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 a3033cf83..d08dee127 100644
--- a/mediacontrol/daemon/main_v4l2.cpp
+++ b/mediacontrol/daemon/main_v4l2.cpp
@@ -96,7 +96,7 @@ int main(int argc, char* argv[]) {
     if (argc ==  2){
          if(!(string2Version.find(argv[1])==string2Version.end())){
              std::cout << "Version : "<<MEDIA_SERVER_VERSION<<std::endl;
-             std::cout << "Build Time : "<<__DATE__<<", "<<__TIME__<<std::endl;
+             std::cout << "Build Time : "<<BUILD_DATE<<std::endl;
              return 0;
          }
     }
@@ -105,8 +105,8 @@ int main(int argc, char* argv[]) {
     if(fd_running >= 0)
     {
         ALOGI("******************************************************************");
-        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);
         ALOGI("******************************************************************\n");
 
         if (argc < 2) {
@@ -123,7 +123,7 @@ int main(int argc, char* argv[]) {
         while( i < argc ){
                 if(!(string2Version.find(argv[i])==string2Version.end())){
                     std::cout << "Version : "<<MEDIA_SERVER_VERSION<<std::endl;
-                    std::cout << "Build Time : "<<__DATE__<<", "<<__TIME__<<std::endl;
+                    std::cout << "Build Time : "<<BUILD_DATE<<std::endl;
                     i++;
                     continue;
                  }
-- 
2.20.1