From 95bbca469743855365ff92fc41bd7f4962b44bd0 Mon Sep 17 00:00:00 2001 From: vanhofen Date: Wed, 11 May 2022 16:11:58 +0200 Subject: [PATCH] - dvb-apps: align build to buildroot --- package/dvb-apps/dvb-apps.mk | 24 +++++---- ...ate-Remove-Obsoleted-stime-API-calls.patch | 32 ------------ .../0002-Fix-compiler-warning-flags.patch | 44 ++++++++++++++++ ...0003-handle-static-shared-only-build.patch | 8 +-- .../0005-libucsi-optimization-removal.patch | 13 ----- ...s-fix-build-with-kernel-headers-4.14.patch | 52 +++++++++++++++++++ .../dvb-apps/patches/0006-CA_SET_PID.patch | 24 --------- .../patches/0006-fix-glibc-2.31.patch | 21 ++++++++ 8 files changed, 134 insertions(+), 84 deletions(-) delete mode 100644 package/dvb-apps/patches/0001-dvbdate-Remove-Obsoleted-stime-API-calls.patch create mode 100644 package/dvb-apps/patches/0002-Fix-compiler-warning-flags.patch delete mode 100644 package/dvb-apps/patches/0005-libucsi-optimization-removal.patch create mode 100644 package/dvb-apps/patches/0005-utils-fix-build-with-kernel-headers-4.14.patch delete mode 100644 package/dvb-apps/patches/0006-CA_SET_PID.patch create mode 100644 package/dvb-apps/patches/0006-fix-glibc-2.31.patch diff --git a/package/dvb-apps/dvb-apps.mk b/package/dvb-apps/dvb-apps.mk index f42671c2..f3f682db 100644 --- a/package/dvb-apps/dvb-apps.mk +++ b/package/dvb-apps/dvb-apps.mk @@ -4,10 +4,12 @@ # ################################################################################ -DVB_APPS_VERSION = git -DVB_APPS_DIR = dvb-apps.$(DVB_APPS_VERSION) -DVB_APPS_SOURCE = dvb-apps.$(DVB_APPS_VERSION) -DVB_APPS_SITE = https://github.com/openpli-arm +DVB_APPS_VERSION = hg +DVB_APPS_DIR = dvb-apps +DVB_APPS_SOURCE = dvb-apps +DVB_APPS_SITE = https://linuxtv.org/hg + +DVB_APPS_CHECKOUT = 3d43b280298c39a67d1d889e01e173f52c12da35 DVB_APPS_DEPENDENCIES = kernel-headers libiconv @@ -16,14 +18,14 @@ DVB_APPS_MAKE_OPTS = \ enable_shared=no \ PERL5LIB=$(PKG_BUILD_DIR)/util/scan \ -dvb-apps: $(DVB_APPS_DEPENDENCIES) | $(TARGET_DIR) - $(REMOVE)/$(PKG_DIR) - $(GET_GIT_SOURCE) $(PKG_SITE)/$(PKG_SOURCE) $(DL_DIR)/$(PKG_SOURCE) - $(CPDIR)/$(PKG_SOURCE) +dvb-apps: | $(TARGET_DIR) + $(call DEPENDENCIES) + $(call DOWNLOAD,$($(PKG)_SOURCE)) + $(call STARTUP) + $(call EXTRACT,$(BUILD_DIR)) $(call APPLY_PATCHES,$(PKG_PATCHES_DIR)) - $(CHDIR)/$(PKG_DIR); \ + $(CHDIR)/$($(PKG)_DIR); \ $(TARGET_CONFIGURE_ENV) LDLIBS="-liconv" \ $(MAKE) $($(PKG)_MAKE_OPTS); \ $(MAKE) $($(PKG)_MAKE_OPTS) install DESTDIR=$(TARGET_DIR) - $(REMOVE)/$(PKG_DIR) - $(TOUCH) + $(call TARGET_FOLLOWUP) diff --git a/package/dvb-apps/patches/0001-dvbdate-Remove-Obsoleted-stime-API-calls.patch b/package/dvb-apps/patches/0001-dvbdate-Remove-Obsoleted-stime-API-calls.patch deleted file mode 100644 index 9035b56f..00000000 --- a/package/dvb-apps/patches/0001-dvbdate-Remove-Obsoleted-stime-API-calls.patch +++ /dev/null @@ -1,32 +0,0 @@ -From d6817dbaf407f65dd4af12c51736153fae8b217f Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Sat, 21 Dec 2019 08:36:11 -0800 -Subject: [PATCH] dvbdate: Remove Obsoleted stime API calls - -stime() has been deprecated in glibc 2.31+ its recommended to -replaced with clock_settime() - -Signed-off-by: Khem Raj ---- - util/dvbdate/dvbdate.c | 5 ++++- - 1 file changed, 4 insertions(+), 1 deletion(-) - -diff --git a/util/dvbdate/dvbdate.c b/util/dvbdate/dvbdate.c -index f0df437..492ed79 100644 ---- a/util/dvbdate/dvbdate.c -+++ b/util/dvbdate/dvbdate.c -@@ -309,7 +309,10 @@ int atsc_scan_date(time_t *rx_time, unsigned int to) - */ - int set_time(time_t * new_time) - { -- if (stime(new_time)) { -+ struct timespec ts; -+ ts.tv_sec = &new_time; -+ ts.tv_nsec = 0; -+ if (clock_settime(CLOCK_REALTIME, &ts)) { - perror("Unable to set time"); - return -1; - } --- -2.24.1 - diff --git a/package/dvb-apps/patches/0002-Fix-compiler-warning-flags.patch b/package/dvb-apps/patches/0002-Fix-compiler-warning-flags.patch new file mode 100644 index 00000000..9c6276be --- /dev/null +++ b/package/dvb-apps/patches/0002-Fix-compiler-warning-flags.patch @@ -0,0 +1,44 @@ +From 9b8f1df41f7579da63c27763ff184d351e4c7fef Mon Sep 17 00:00:00 2001 +From: Simon Dawson +Date: Sun, 4 Jan 2015 12:06:18 +0100 +Subject: [PATCH] Fix compiler warning flags + + When building for bfin, the build fails as follows. + + cc1: error: unrecognized command line option "-Wno-packed-bitfield-compat" + +An example of an autobuild failure arising from this is the following. + + http://autobuild.buildroot.net/results/92e/92e472004812a3616f62d766a9ea07a997a66e89/ + http://autobuild.buildroot.net/results/6e7/6e7b48ad9768349d983985c3067c4267cde80541/ + +Clearly, not all toolchains provide a gcc that understands +the -Wno-packed-bitfield-compat flag; remove usage of this flag. + +Wno-packed-bitfield-compat option was added in gcc 4.4. + +[Romain: + - This patch is also needed for bfin toolchains which use gcc 4.3.5 + - Add a link to bfin build failure] +Signed-off-by: Simon Dawson +Signed-off-by: Romain Naour +--- + util/scan/Makefile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/util/scan/Makefile b/util/scan/Makefile +index d48c478..88667c5 100644 +--- a/util/scan/Makefile ++++ b/util/scan/Makefile +@@ -14,7 +14,7 @@ inst_bin = $(binaries) + + removing = atsc_psip_section.c atsc_psip_section.h + +-CPPFLAGS += -Wno-packed-bitfield-compat -D__KERNEL_STRICT_NAMES ++CPPFLAGS += -D__KERNEL_STRICT_NAMES + + .PHONY: all + +-- +1.9.3 + diff --git a/package/dvb-apps/patches/0003-handle-static-shared-only-build.patch b/package/dvb-apps/patches/0003-handle-static-shared-only-build.patch index 1ab22aed..4dc7c68a 100644 --- a/package/dvb-apps/patches/0003-handle-static-shared-only-build.patch +++ b/package/dvb-apps/patches/0003-handle-static-shared-only-build.patch @@ -15,11 +15,11 @@ diff --git a/Make.rules b/Make.rules index 3410d7b..d274e16 100644 --- a/Make.rules +++ b/Make.rules -@@ -10,7 +10,13 @@ +@@ -9,7 +9,13 @@ ifneq ($(lib_name),) + CFLAGS_LIB ?= -fPIC CFLAGS += $(CFLAGS_LIB) - #libraries = $(lib_name).so $(lib_name).a --libraries = $(lib_name).a +-libraries = $(lib_name).so $(lib_name).a +ifneq ($(enable_static),no) +libraries += $(lib_name).a +endif @@ -30,7 +30,7 @@ index 3410d7b..d274e16 100644 .PHONY: library -@@ -24,7 +30,7 @@ +@@ -23,7 +29,7 @@ prerequisites = $(subst .o,.d,$(objects)) $(addsuffix .d,$(binaries)) .PHONY: clean install diff --git a/package/dvb-apps/patches/0005-libucsi-optimization-removal.patch b/package/dvb-apps/patches/0005-libucsi-optimization-removal.patch deleted file mode 100644 index f12d35bc..00000000 --- a/package/dvb-apps/patches/0005-libucsi-optimization-removal.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff -r 3d43b280298c lib/libucsi/endianops.h ---- a/lib/libucsi/endianops.h Fri Mar 21 20:26:36 2014 +0100 -+++ b/lib/libucsi/endianops.h Fri Jan 19 06:56:15 2018 +0000 -@@ -33,6 +33,9 @@ - #define __ucsi_packed __attribute__((packed)) - - -+#if __GNUC__ >= 6 + (0 >= __GNUC_MINOR__) -+#pragma GCC optimize ("O1") -+#endif - - - #if __BYTE_ORDER == __BIG_ENDIAN diff --git a/package/dvb-apps/patches/0005-utils-fix-build-with-kernel-headers-4.14.patch b/package/dvb-apps/patches/0005-utils-fix-build-with-kernel-headers-4.14.patch new file mode 100644 index 00000000..279cdecb --- /dev/null +++ b/package/dvb-apps/patches/0005-utils-fix-build-with-kernel-headers-4.14.patch @@ -0,0 +1,52 @@ +# HG changeset patch +# User "Yann E. MORIN" +# Date 1511772629 -3600 +# Mon Nov 27 09:50:29 2017 +0100 +# Branch yem/fixes +# Node ID 0848fa96c6eb13cf37249d317eff12cbd2f59ff7 +# Parent 3d43b280298c39a67d1d889e01e173f52c12da35 +utils: fix build with kernel headers >= 4.14 + +In kernel 4.14, CA_SET_PID was removed, in commit 833ff5e7feda (media: +ca.h: get rid of CA_SET_PID). + +Fix dst-util to not fail the build when this is missing. + +Fiuxes build failures such as: + http://autobuild.buildroot.org/results/708/708f11809b2cafc2a3375dc515803c87b376ed4d/build-end.log + http://autobuild.buildroot.org/results/e39/e3939d44376e92e8a35fb179d9890510334d8304/build-end.log + +Signed-off-by: "Yann E. MORIN" + +diff --git a/util/dst-utils/dst_test.c b/util/dst-utils/dst_test.c +--- a/util/dst-utils/dst_test.c ++++ b/util/dst-utils/dst_test.c +@@ -111,6 +111,7 @@ + return 0; + } + ++#if defined CA_SET_PID + static int dst_set_pid(int cafd) + { + if ((ioctl(cafd, CA_SET_PID)) < 0) { +@@ -120,6 +121,7 @@ + + return 0; + } ++#endif + + static int dst_get_descr(int cafd) + { +@@ -230,8 +232,12 @@ + dst_reset(cafd); + break; + case 'p': ++#if defined CA_SET_PID + printf("%s: PID\n", __FUNCTION__); + dst_set_pid(cafd); ++#else ++ printf("%s: PID not supported\n", __FUNCTION__); ++#endif + break; + case 'g': + printf("%s: Get Desc\n", __FUNCTION__); diff --git a/package/dvb-apps/patches/0006-CA_SET_PID.patch b/package/dvb-apps/patches/0006-CA_SET_PID.patch deleted file mode 100644 index e100c659..00000000 --- a/package/dvb-apps/patches/0006-CA_SET_PID.patch +++ /dev/null @@ -1,24 +0,0 @@ -Index: dvb-apps/util/dst-utils/dst_test.c -=================================================================== ---- dvb-apps.orig/util/dst-utils/dst_test.c -+++ dvb-apps/util/dst-utils/dst_test.c -@@ -35,7 +35,18 @@ - #include - - #define CA_NODE "/dev/dvb/adapter0/ca0" -- -+/* -+ Quick hack around the removal of ca_pid_t and CA_GET_PID in recent kernels -+ https://github.com/torvalds/linux/commit/833ff5e7feda1a042b83e82208cef3d212ca0ef1 -+*/ -+#ifndef CA_SET_PID -+typedef struct ca_pid { -+ unsigned int pid; -+ int index; /* -1 == disable*/ -+} ca_pid_t; -+/* We should not be able to get it so a number that is unlikely to happen */ -+#define CA_SET_PID 42424242 -+#endif - static int dst_comms(int cafd, uint32_t tag, uint32_t function, struct ca_msg *msg) - { - if (tag) { diff --git a/package/dvb-apps/patches/0006-fix-glibc-2.31.patch b/package/dvb-apps/patches/0006-fix-glibc-2.31.patch new file mode 100644 index 00000000..079a24f1 --- /dev/null +++ b/package/dvb-apps/patches/0006-fix-glibc-2.31.patch @@ -0,0 +1,21 @@ +dvbdate: fix compilation error with glibc 2.31 + +as stime func doesn't exists anymore in newer versions of glibc >= 2.31 due +to obseletion, a replacment with clock_settime is inorder to fix the issue. + +Signed-off-by: Dagg Stompler + +--- a/util/dvbdate/dvbdate.c ++++ b/util/dvbdate/dvbdate.c +@@ -309,7 +309,10 @@ + */ + int set_time(time_t * new_time) + { +- if (stime(new_time)) { ++ struct timespec s = {0}; ++ s.tv_sec = new_time; ++ ++ if (clock_settime(CLOCK_REALTIME, &s)) { + perror("Unable to set time"); + return -1; + }