DIR_APP = $(DIR_SRC)/$(THISAPP)
TARGET = $(DIR_INFO)/$(THISAPP)
PROG = vdr
-PAK_VER = 10
+PAK_VER = 11
DEPS = "vdr_streamdev"
$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
@$(PREBUILD)
@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar jxf $(DIR_DL)/$(DL_FILE)
+ # stime was removed from glibc with version 2.31
+ cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/vdr/vdr-2.4.1_replace_stime.patch
# Compile main package.
cd $(DIR_APP) && make $(MAKE_OPTIONS) $(MAKETUNING) vdr include-dir
--- /dev/null
+From dcfa8ba29f4c95edbdceb0f1bbae0e62fa40c4e2 Mon Sep 17 00:00:00 2001
+From: Manuel Reimer <manuel.reimer@gmx.de>
+Date: Sat, 14 Dec 2019 12:01:13 +0100
+Subject: [PATCH 1/2] Replace obsolete stime() function with clock_settime()
+
+---
+ eit.c | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/eit.c b/eit.c
+index 50d8229..82294dc 100644
+--- a/eit.c
++++ b/eit.c
+@@ -391,7 +391,9 @@ cTDT::cTDT(const u_char *Data)
+ if (abs(diff) > MAX_TIME_DIFF) {
+ mutex.Lock();
+ if (abs(diff) > MAX_ADJ_DIFF) {
+- if (stime(&dvbtim) == 0)
++ timespec ts = {0};
++ ts.tv_sec = dvbtim;
++ if (clock_settime(CLOCK_REALTIME, &ts) == 0)
+ isyslog("system time changed from %s (%ld) to %s (%ld)", *TimeToString(loctim), loctim, *TimeToString(dvbtim), dvbtim);
+ else
+ esyslog("ERROR while setting system time: %m");
+
+From 3395a81a07416f54b0aa94ba709b902d72dacce7 Mon Sep 17 00:00:00 2001
+From: Manuel Reimer <manuel.reimer@gmx.de>
+Date: Sun, 15 Dec 2019 11:26:42 +0100
+Subject: [PATCH 2/2] Fix "struct timespec has more than one member" warning
+
+---
+ eit.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/eit.c b/eit.c
+index 82294dc..098e627 100644
+--- a/eit.c
++++ b/eit.c
+@@ -391,7 +391,7 @@ cTDT::cTDT(const u_char *Data)
+ if (abs(diff) > MAX_TIME_DIFF) {
+ mutex.Lock();
+ if (abs(diff) > MAX_ADJ_DIFF) {
+- timespec ts = {0};
++ timespec ts = {};
+ ts.tv_sec = dvbtim;
+ if (clock_settime(CLOCK_REALTIME, &ts) == 0)
+ isyslog("system time changed from %s (%ld) to %s (%ld)", *TimeToString(loctim), loctim, *TimeToString(dvbtim), dvbtim);