summaryrefslogtreecommitdiff
path: root/debian/patches/reproducible.diff
blob: 8779be6cf0d8a848451821af807d8147b8289730 (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
--- a/Makefile
+++ b/Makefile
@@ -2,11 +2,11 @@ include version.mk
 include config.mk
 include colors.mk
 
-HLWMSRC = $(wildcard src/*.cpp)
+HLWMSRC = $(sort $(wildcard src/*.cpp))
 HLWMOBJ = $(HLWMSRC:.cpp=.o)
 HLWMTARGET = herbstluftwm
 
-HCSRC = $(wildcard ipc-client/*.c)
+HCSRC = $(sort $(wildcard ipc-client/*.c))
 HCOBJ = $(HCSRC:.c=.o)
 HCTARGET = herbstclient
 
@@ -18,6 +18,15 @@
 HERBSTLUFTWMDOC = doc/herbstluftwm.txt
 TUTORIAL = doc/herbstluftwm-tutorial.txt
 
+DATE_FMT = %Y-%m-%d
+ifdef SOURCE_DATE_EPOCH
+    BUILD_DATE ?= $(shell date -u -d "@$(SOURCE_DATE_EPOCH)" "+$(DATE_FMT)"  2>/dev/null || date -u -r "$(SOURCE_DATE_EPOCH)" "+$(DATE_FMT)" 2>/dev/null || date -u "+$(DATE_FMT)")
+else
+    BUILD_DATE ?= $(shell date "+$(DATE_FMT)")
+endif
+
+export CPPFLAGS += -DBUILD_DATE="\"$(BUILD_DATE)\""
+
 .PHONY: depend all all-nodoc doc install install-nodoc info www
 .PHONY: cleandoc cleanwww cleandeps clean
 
@@ -93,7 +102,7 @@
 
 doc/%.1 doc/%.7: doc/%.txt version.mk
 	$(call colorecho,DOC,$@)
-	$(VERBOSE) $(A2X) -f manpage -a "herbstluftwmversion=herbstluftwm $(VERSION)" -a "date=`date +%Y-%m-%d`" $<
+	$(VERBOSE) $(A2X) -f manpage -a "herbstluftwmversion=herbstluftwm $(VERSION)" -a "date=$(BUILD_DATE)" $<
 
 doc/%.html: doc/%.txt version.mk
 	$(call colorecho,DOC,$@)
--- a/ipc-client/main.c
+++ b/ipc-client/main.c
@@ -17,7 +17,7 @@
 #include "client-utils.h"
 
 #define HERBSTCLIENT_VERSION_STRING \
-    "herbstclient " HERBSTLUFT_VERSION " (built on " __DATE__ ")\n"
+    "herbstclient " HERBSTLUFT_VERSION " (built on " BUILD_DATE ")\n"
 
 void print_help(char* command, FILE* file);
 void init_hook_regex(int argc, char* argv[]);
--- a/src/globals.h
+++ b/src/globals.h
@@ -12,7 +12,7 @@
 #define HERBSTLUFT_AUTOSTART "herbstluftwm/autostart"
 #define WINDOW_MANAGER_NAME "herbstluftwm"
 #define HERBSTLUFT_VERSION_STRING \
-    WINDOW_MANAGER_NAME " " HERBSTLUFT_VERSION " (built on " __DATE__ ")"
+    WINDOW_MANAGER_NAME " " HERBSTLUFT_VERSION " (built on " BUILD_DATE ")"
 
 #define HERBST_FRAME_CLASS "_HERBST_FRAME"
 #define HERBST_DECORATION_CLASS "_HERBST_DECORATION"