]> git.ipfire.org Git - people/ms/ipfire-2.x.git/commitdiff
vdr: fix build with glibc 2.31
authorArne Fitzenreiter <arne_f@ipfire.org>
Sun, 22 Mar 2020 19:04:14 +0000 (19:04 +0000)
committerArne Fitzenreiter <arne_f@ipfire.org>
Sun, 22 Mar 2020 19:04:14 +0000 (19:04 +0000)
Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
lfs/vdr
src/patches/vdr/vdr-2.4.1_replace_stime.patch [new file with mode: 0644]

diff --git a/lfs/vdr b/lfs/vdr
index d444ae9356ea2c04b7f4952486626e5092fa1cfb..d3958fda99a634482fe38561d8f04354f614f169 100644 (file)
--- a/lfs/vdr
+++ b/lfs/vdr
@@ -37,7 +37,7 @@ DL_FROM    = $(URL_IPFIRE)
 DIR_APP    = $(DIR_SRC)/$(THISAPP)
 TARGET     = $(DIR_INFO)/$(THISAPP)
 PROG       = vdr
-PAK_VER    = 10
+PAK_VER    = 11
 
 DEPS       = "vdr_streamdev"
 
@@ -98,6 +98,8 @@ $(subst %,%_MD5,$(objects)) :
 $(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
diff --git a/src/patches/vdr/vdr-2.4.1_replace_stime.patch b/src/patches/vdr/vdr-2.4.1_replace_stime.patch
new file mode 100644 (file)
index 0000000..e0d1c1d
--- /dev/null
@@ -0,0 +1,47 @@
+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);