diff --git a/packages/addons/service/tvheadend42/addon.xml b/packages/addons/service/tvheadend42/addon.xml
deleted file mode 100644
index 92b199becf..0000000000
--- a/packages/addons/service/tvheadend42/addon.xml
+++ /dev/null
@@ -1,34 +0,0 @@
-
-
-
-
-@REQUIRES@
-
-
- @PKG_ADDON_PROVIDES@
-
-
- @PKG_ADDON_PROVIDES@
-
-
- @PKG_SHORTDESC@
-
-@PKG_LONGDESC@
-
-
-@PKG_DISCLAIMER@
-
- all
-
-@PKG_ADDON_NEWS@
-
-
- resources/icon.png
- resources/fanart.png
-@PKG_ADDON_SCREENSHOT@
-
-
-
diff --git a/packages/addons/service/tvheadend42/changelog.txt b/packages/addons/service/tvheadend42/changelog.txt
deleted file mode 100644
index 927b2407d4..0000000000
--- a/packages/addons/service/tvheadend42/changelog.txt
+++ /dev/null
@@ -1 +0,0 @@
-initial release
diff --git a/packages/addons/service/tvheadend42/icon/icon.png b/packages/addons/service/tvheadend42/icon/icon.png
deleted file mode 100644
index 79094c4668..0000000000
Binary files a/packages/addons/service/tvheadend42/icon/icon.png and /dev/null differ
diff --git a/packages/addons/service/tvheadend42/package.mk b/packages/addons/service/tvheadend42/package.mk
index 0a138994ea..70dd714966 100644
--- a/packages/addons/service/tvheadend42/package.mk
+++ b/packages/addons/service/tvheadend42/package.mk
@@ -2,135 +2,25 @@
# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="tvheadend42"
-PKG_VERSION="5bdcfd8ac97b3337e1c7911ae24127df76fa693a"
-PKG_SHA256="b562a26248cdc02dc94cc62038deea172668fa4c079b2ea4e1b4220f3b1d34f5"
-PKG_VERSION_NUMBER="4.2.8-36"
-PKG_REV="2"
+PKG_VERSION="1.0"
+PKG_REV="3"
PKG_ARCH="any"
PKG_LICENSE="GPL"
-PKG_SITE="http://www.tvheadend.org"
-PKG_URL="https://github.com/tvheadend/tvheadend/archive/${PKG_VERSION}.tar.gz"
-PKG_DEPENDS_TARGET="toolchain argtable2 avahi comskip curl dvb-apps libdvbcsa libhdhomerun \
- libiconv openssl pngquant:host Python3:host dtv-scan-tables"
-PKG_DEPENDS_CONFIG="ffmpegx"
+PKG_SITE=""
+PKG_URL=""
+PKG_DEPENDS_TARGET="toolchain"
PKG_SECTION="service"
-PKG_SHORTDESC="Tvheadend: a TV streaming server for Linux"
-PKG_LONGDESC="Tvheadend (${PKG_VERSION_NUMBER}): is a TV streaming server for Linux supporting DVB-S/S2, DVB-C, DVB-T/T2, IPTV, SAT>IP, ATSC and ISDB-T"
-PKG_BUILD_FLAGS="-sysroot"
+PKG_SHORTDESC="Add-on removed"
+PKG_LONGDESC="Add-on removed"
+PKG_TOOLCHAIN="manual"
+
+PKG_ADDON_BROKEN="Tvheadend 4.2 is no longer maintained and has been superseded by Tvheadend 4.3."
PKG_IS_ADDON="yes"
PKG_ADDON_NAME="Tvheadend Server 4.2"
-PKG_ADDON_TYPE="xbmc.service"
-
-# basic transcoding options
-PKG_TVH_TRANSCODING="\
- --disable-ffmpeg_static \
- --disable-libfdkaac_static \
- --disable-libopus_static \
- --disable-libtheora \
- --disable-libtheora_static \
- --disable-libvorbis_static \
- --disable-libvpx_static \
- --disable-libx264_static \
- --disable-libx265_static \
- --disable-libav \
- --disable-libfdkaac \
- --disable-libopus \
- --disable-libvorbis \
- --disable-libx264"
-
-# hw specific transcoding options
-if [ "${TARGET_ARCH}" = "x86_64" ]; then
- PKG_DEPENDS_TARGET+=" libva"
- # specific transcoding options
- PKG_TVH_TRANSCODING="${PKG_TVH_TRANSCODING} \
- --disable-vaapi \
- --disable-libvpx \
- --disable-libx265"
-else
- # for != "x86_64" targets
- # specific transcoding options
- PKG_TVH_TRANSCODING="${PKG_TVH_TRANSCODING} \
- --disable-libvpx \
- --disable-libx265"
-fi
-
-post_unpack() {
- sed -e 's/VER="0.0.0~unknown"/VER="'${PKG_VERSION_NUMBER}' ~ LibreELEC Tvh-addon v'${ADDON_VERSION}'.'${PKG_REV}'"/g' -i ${PKG_BUILD}/support/version
- sed -e 's|'/usr/bin/pngquant'|'${TOOLCHAIN}/bin/pngquant'|g' -i ${PKG_BUILD}/support/mkbundle
-}
-
-pre_configure_target() {
- PKG_CONFIGURE_OPTS_TARGET="--prefix=/usr \
- --arch=${TARGET_ARCH} \
- --cpu=${TARGET_CPU} \
- --cc=${CC} \
- ${PKG_TVH_TRANSCODING} \
- --enable-avahi \
- --enable-bundle \
- --disable-dbus_1 \
- --enable-dvbcsa \
- --disable-dvben50221 \
- --disable-dvbscan \
- --enable-hdhomerun_client \
- --disable-hdhomerun_static \
- --enable-epoll \
- --enable-inotify \
- --enable-pngquant \
- --disable-libmfx_static \
- --disable-nvenc \
- --disable-uriparser \
- --enable-tvhcsa \
- --enable-trace \
- --nowerror \
- --disable-bintray_cache \
- --python=${TOOLCHAIN}/bin/python"
-
- # fails to build in subdirs
- cd ${PKG_BUILD}
- rm -rf .${TARGET_NAME}
-
- # pass ffmpegx to build
- CFLAGS+=" -I$(get_install_dir ffmpegx)/usr/local/include"
- LDFLAGS+=" -L$(get_install_dir ffmpegx)/usr/local/lib"
-
- # pass libhdhomerun to build
- CFLAGS+=" -I${SYSROOT_PREFIX}/usr/include/hdhomerun"
-
- export CROSS_COMPILE="${TARGET_PREFIX}"
- export CFLAGS+=" -I${SYSROOT_PREFIX}/usr/include/iconv -L${SYSROOT_PREFIX}/usr/lib/iconv"
-}
-
-post_make_target() {
- ${CC} -O -fbuiltin -fomit-frame-pointer -fPIC -shared -o capmt_ca.so src/extra/capmt_ca.c -ldl
-}
-
-post_makeinstall_target() {
- mkdir -p ${INSTALL}/usr/lib
- cp -p capmt_ca.so ${INSTALL}/usr/lib
-}
+PKG_ADDON_TYPE="xbmc.broken"
addon() {
- mkdir -p ${ADDON_BUILD}/${PKG_ADDON_ID}/bin
-
- cp ${PKG_DIR}/addon.xml ${ADDON_BUILD}/${PKG_ADDON_ID}
-
- # set only version (revision will be added by buildsystem)
- sed -e "s|@ADDON_VERSION@|${ADDON_VERSION}|g" \
- -i ${ADDON_BUILD}/${PKG_ADDON_ID}/addon.xml
-
- cp -P ${PKG_INSTALL}/usr/bin/tvheadend ${ADDON_BUILD}/${PKG_ADDON_ID}/bin
- cp -P ${PKG_INSTALL}/usr/lib/capmt_ca.so ${ADDON_BUILD}/${PKG_ADDON_ID}/bin
- cp -P $(get_install_dir comskip)/usr/bin/comskip ${ADDON_BUILD}/${PKG_ADDON_ID}/bin
-
- if [ "${TARGET_ARCH}" = "x86_64" ]; then
- mkdir -p ${ADDON_BUILD}/${PKG_ADDON_ID}/lib.private
- cp -P $(get_install_dir x265)/usr/lib/libx265.so.215 ${ADDON_BUILD}/${PKG_ADDON_ID}/lib.private
- patchelf --add-rpath '${ORIGIN}/../lib.private' ${ADDON_BUILD}/${PKG_ADDON_ID}/bin/{comskip,tvheadend}
- fi
-
- # dvb-scan files
- mkdir -p ${ADDON_BUILD}/${PKG_ADDON_ID}/dvb-scan
- cp -r $(get_install_dir dtv-scan-tables)/usr/share/dvbv5/* \
- ${ADDON_BUILD}/${PKG_ADDON_ID}/dvb-scan
+ :
}
+
diff --git a/packages/addons/service/tvheadend42/patches/tvheadend42-01-dvb-scan-path.patch b/packages/addons/service/tvheadend42/patches/tvheadend42-01-dvb-scan-path.patch
deleted file mode 100644
index 7a72212e50..0000000000
--- a/packages/addons/service/tvheadend42/patches/tvheadend42-01-dvb-scan-path.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/src/input/mpegts/scanfile.c
-+++ b/src/input/mpegts/scanfile.c
-@@ -906,7 +906,7 @@ scanfile_init ( const char *muxconf_path
- #elif defined(PLATFORM_FREEBSD)
- path = "/usr/local/share/dtv-scan-tables";
- #else
-- path = "/usr/share/dvb";
-+ path = "/storage/.kodi/addons/service.tvheadend42/dvb-scan";
- #endif
-
- if (!initialized) {
diff --git a/packages/addons/service/tvheadend42/patches/tvheadend42-02-hdhomerun-includes.patch b/packages/addons/service/tvheadend42/patches/tvheadend42-02-hdhomerun-includes.patch
deleted file mode 100644
index 510ffcd681..0000000000
--- a/packages/addons/service/tvheadend42/patches/tvheadend42-02-hdhomerun-includes.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-fix libhdhomerun includes
-
---- a/configure
-+++ b/configure
-@@ -394,7 +394,7 @@ if enabled hdhomerun_static; then
- else
-
- if enabled_or_auto hdhomerun_client; then
-- if check_cc_header 'libhdhomerun/hdhomerun' libhdhomerun; then
-+ if check_cc_header 'hdhomerun' libhdhomerun; then
- enable hdhomerun_client
- LDFLAGS="$LDFLAGS -lhdhomerun"
- fi
---- a/src/input/mpegts/tvhdhomerun/tvhdhomerun_private.h
-+++ b/src/input/mpegts/tvhdhomerun/tvhdhomerun_private.h
-@@ -24,7 +24,7 @@
- #include "htsbuf.h"
- #include "tvhdhomerun.h"
-
--#include "libhdhomerun/hdhomerun.h"
-+#include "hdhomerun.h"
-
- typedef struct tvhdhomerun_device_info tvhdhomerun_device_info_t;
- typedef struct tvhdhomerun_device tvhdhomerun_device_t;
diff --git a/packages/addons/service/tvheadend42/patches/tvheadend42-03-hdhomerun-fix.patch b/packages/addons/service/tvheadend42/patches/tvheadend42-03-hdhomerun-fix.patch
deleted file mode 100644
index b1753c0628..0000000000
--- a/packages/addons/service/tvheadend42/patches/tvheadend42-03-hdhomerun-fix.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-https://github.com/tvheadend/tvheadend/commit/13cd23c371e3377973502f8dc65654b6a0ff372b
-
-From: Michael Marley
-Date: Wed, 26 Jun 2019 19:35:50 -0400
-Subject: [PATCH] Fix compilation with libhdhomerun 20190621
-
-They renamed the symbol that was used to determine whether the
-"hdhomerun_discover_find_devices_custom" needed to be aliased,
-causing an FTBFS. Instead, recognize both the old and new symbols.
----
- src/input/mpegts/tvhdhomerun/tvhdhomerun.c | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
---- a/src/input/mpegts/tvhdhomerun/tvhdhomerun.c
-+++ b/src/input/mpegts/tvhdhomerun/tvhdhomerun.c
-@@ -28,7 +28,8 @@
- #include
- #include
-
--#ifdef HDHOMERUN_TAG_DEVICE_AUTH_BIN
-+#if defined(HDHOMERUN_TAG_DEVICE_AUTH_BIN) \
-+ || defined(HDHOMERUN_TAG_DEVICE_AUTH_BIN_DEPRECATED)
- #define hdhomerun_discover_find_devices_custom \
- hdhomerun_discover_find_devices_custom_v2
- #endif
diff --git a/packages/addons/service/tvheadend42/patches/tvheadend42-04-Fix-building-with-fno-common.patch b/packages/addons/service/tvheadend42/patches/tvheadend42-04-Fix-building-with-fno-common.patch
deleted file mode 100644
index 5e9749dddd..0000000000
--- a/packages/addons/service/tvheadend42/patches/tvheadend42-04-Fix-building-with-fno-common.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-From 8a2942a361e95ccdbd30c1edc7627df3862cdbbe Mon Sep 17 00:00:00 2001
-From: James Le Cuirot
-Date: Fri, 15 May 2020 17:45:30 +0100
-Subject: [PATCH] Fix building with -fno-common (default from GCC 10)
-
----
- src/input.h | 4 ++--
- src/input/mpegts.c | 2 ++
- src/input/mpegts.h | 2 +-
- 3 files changed, 5 insertions(+), 3 deletions(-)
-
---- a/src/input.h
-+++ b/src/input.h
-@@ -128,8 +128,8 @@ void tvh_hardware_delete ( tvh_hardware_
- extern const idclass_t tvh_input_class;
- extern const idclass_t tvh_input_instance_class;
-
--tvh_input_list_t tvh_inputs;
--tvh_hardware_list_t tvh_hardware;
-+extern tvh_input_list_t tvh_inputs;
-+extern tvh_hardware_list_t tvh_hardware;
-
- #define TVH_INPUT_FOREACH(x) LIST_FOREACH(x, &tvh_inputs, ti_link)
- #define TVH_HARDWARE_FOREACH(x) LIST_FOREACH(x, &tvh_hardware, th_link)
---- a/src/input/mpegts.c
-+++ b/src/input/mpegts.c
-@@ -20,6 +20,8 @@
- #include "mpegts/fastscan.h"
- #include "memoryinfo.h"
-
-+struct mpegts_listeners mpegts_listeners;
-+
- extern memoryinfo_t mpegts_input_queue_memoryinfo;
- extern memoryinfo_t mpegts_input_table_memoryinfo;
-
---- a/src/input/mpegts.h
-+++ b/src/input/mpegts.h
-@@ -1132,7 +1132,7 @@ typedef struct mpegts_listener
- void (*ml_mux_delete) (mpegts_mux_t *mm, void *p);
- } mpegts_listener_t;
-
--LIST_HEAD(,mpegts_listener) mpegts_listeners;
-+extern LIST_HEAD(mpegts_listeners, mpegts_listener) mpegts_listeners;
-
- #define mpegts_add_listener(ml)\
- LIST_INSERT_HEAD(&mpegts_listeners, ml, ml_link)
diff --git a/packages/addons/service/tvheadend42/patches/tvheadend42-05-webui-query-url-fix.patch b/packages/addons/service/tvheadend42/patches/tvheadend42-05-webui-query-url-fix.patch
deleted file mode 100644
index 3da6221190..0000000000
--- a/packages/addons/service/tvheadend42/patches/tvheadend42-05-webui-query-url-fix.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-Fix query urls for imdb.com and thetvdb.com
-Based on tvheadend master branch
-https://github.com/tvheadend/tvheadend/commit/d8a31e57a492be6628b685488fcc7f1d9d262679
-https://github.com/tvheadend/tvheadend/commit/ce09077056f9c6558c188d135cec3be85cc9c200
-
---- a/src/webui/static/app/epg.js
-+++ b/src/webui/static/app/epg.js
-@@ -287,13 +287,11 @@ tvheadend.epgDetails = function(event) {
- win.show();
-
- function searchIMDB() {
-- window.open('http://akas.imdb.com/find?q=' +
-- encodeURIComponent(event.title), '_blank');
-+ window.open('https://www.imdb.com/find?q=' + encodeURIComponent(event.title), '_blank');
- }
-
- function searchTheTVDB(){
-- window.open('http://thetvdb.com/?string='+
-- encodeURIComponent(event.title)+'&searchseriesid=&tab=listseries&function=Search','_blank');
-+ window.open('https://www.thetvdb.com/search?query=' + encodeURIComponent(event.title), '_blank');
- }
-
- function playProgram() {
---- a/src/webui/static/app/dvr.js
-+++ b/src/webui/static/app/dvr.js
-@@ -87,13 +87,11 @@ tvheadend.dvrDetails = function(uuid) {
- }));
-
- function searchIMDB() {
-- window.open('http://akas.imdb.com/find?q=' +
-- encodeURIComponent(title), '_blank');
-+ window.open('https://www.imdb.com/find?q=' + encodeURIComponent(title), '_blank');
- }
-
- function searchTheTVDB(){
-- window.open('http://thetvdb.com/?string='+
-- encodeURIComponent(title)+'&searchseriesid=&tab=listseries&function=Search','_blank');
-+ window.open('https://www.thetvdb.com/search?query=' + encodeURIComponent(title),'_blank');
- }
-
- var win = new Ext.Window({
diff --git a/packages/addons/service/tvheadend42/patches/tvheadend42-06-satip-upnp-fix.patch b/packages/addons/service/tvheadend42/patches/tvheadend42-06-satip-upnp-fix.patch
deleted file mode 100644
index df35748e49..0000000000
--- a/packages/addons/service/tvheadend42/patches/tvheadend42-06-satip-upnp-fix.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-From 1ebf9bf548540f935ff4ce1d380f5ce7849572f3 Mon Sep 17 00:00:00 2001
-From: Matthieu Poullet
-Date: Tue, 15 Mar 2022 10:40:44 +0100
-Subject: [PATCH] SAT>IP client: UPnP header field names are case insensitive
-
-- SAT>IP Protocol Specification 1.2.2: 3.3.2 Server Advertisements
----
- src/input/mpegts/satip/satip.c | 14 +++++++-------
- 1 file changed, 7 insertions(+), 7 deletions(-)
-
---- a/src/input/mpegts/satip/satip.c
-+++ b/src/input/mpegts/satip/satip.c
-@@ -1125,19 +1125,19 @@ satip_discovery_service_received
- if (ptr == NULL)
- break;
- if (http_tokenize(ptr, argv, 2, ':') == 2) {
-- if (strcmp(argv[0], "ST") == 0)
-+ if (strcasecmp(argv[0], "ST") == 0)
- st = argv[1];
-- else if (strcmp(argv[0], "LOCATION") == 0)
-+ else if (strcasecmp(argv[0], "LOCATION") == 0)
- location = argv[1];
-- else if (strcmp(argv[0], "SERVER") == 0)
-+ else if (strcasecmp(argv[0], "SERVER") == 0)
- server = argv[1];
-- else if (strcmp(argv[0], "BOOTID.UPNP.ORG") == 0)
-+ else if (strcasecmp(argv[0], "BOOTID.UPNP.ORG") == 0)
- bootid = argv[1];
-- else if (strcmp(argv[0], "CONFIGID.UPNP.ORG") == 0)
-+ else if (strcasecmp(argv[0], "CONFIGID.UPNP.ORG") == 0)
- configid = argv[1];
-- else if (strcmp(argv[0], "DEVICEID.SES.COM") == 0)
-+ else if (strcasecmp(argv[0], "DEVICEID.SES.COM") == 0)
- deviceid = argv[1];
-- else if (strcmp(argv[0], "USN") == 0) {
-+ else if (strcasecmp(argv[0], "USN") == 0) {
- n = http_tokenize(argv[1], argv, ARRAY_SIZE(argv), ':');
- for (i = 0; i < n-1; i++)
- if (argv[i] && strcmp(argv[i], "uuid") == 0) {
diff --git a/packages/addons/service/tvheadend42/patches/tvheadend42-07-dont-use-reserved-word-bool.patch b/packages/addons/service/tvheadend42/patches/tvheadend42-07-dont-use-reserved-word-bool.patch
deleted file mode 100644
index b81add4c9e..0000000000
--- a/packages/addons/service/tvheadend42/patches/tvheadend42-07-dont-use-reserved-word-bool.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-diff --git a/src/htsmsg.h b/src/htsmsg.h
-index 5cdcaa4867..d15c547e58 100644
---- a/src/htsmsg.h
-+++ b/src/htsmsg.h
-@@ -75,7 +75,7 @@ typedef struct htsmsg_field {
- } bin;
- htsmsg_t *msg;
- double dbl;
-- int bool;
-+ int boolean;
- } u;
-
- #if ENABLE_SLOW_MEMORYINFO
-@@ -91,7 +91,7 @@ typedef struct htsmsg_field {
- #define hmf_bin u.bin.data
- #define hmf_binsize u.bin.len
- #define hmf_dbl u.dbl
--#define hmf_bool u.bool
-+#define hmf_bool u.boolean
-
- // backwards compat
- #define htsmsg_get_map_by_field(f) htsmsg_field_get_map(f)
diff --git a/packages/addons/service/tvheadend42/source/bin/tv_grab_file b/packages/addons/service/tvheadend42/source/bin/tv_grab_file
deleted file mode 100755
index 7cd4196ab5..0000000000
--- a/packages/addons/service/tvheadend42/source/bin/tv_grab_file
+++ /dev/null
@@ -1,71 +0,0 @@
-#!/bin/sh
-
-# SPDX-License-Identifier: GPL-2.0
-# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv)
-
-if [ $# -lt 1 ]; then
- . /etc/profile
-
- ADDON_HOME="$HOME/.kodi/userdata/addon_data/service.tvheadend42"
- ADDON_SETTINGS="$ADDON_HOME/settings.xml"
- XML_SETTINGS_VER="$(xmlstarlet sel -t -m settings -v @version $ADDON_SETTINGS)"
- if [ "$XML_SETTINGS_VER" = "2" ]; then
- XMLTV_TYPE="$(xmlstarlet sel -t -v '/settings/setting[@id="XMLTV_TYPE"]' $ADDON_SETTINGS)"
- XMLTV_LOCATION_FILE="$(xmlstarlet sel -t -v '/settings/setting[@id="XMLTV_LOCATION_FILE"]' $ADDON_SETTINGS)"
- XMLTV_LOCATION_WEB="$(xmlstarlet sel -t -v '/settings/setting[@id="XMLTV_LOCATION_WEB"]' $ADDON_SETTINGS | xmlstarlet unesc)"
- XMLTV_LOCATION_SCRIPT="$(xmlstarlet sel -t -v '/settings/setting[@id="XMLTV_LOCATION_SCRIPT"]' $ADDON_SETTINGS)"
- else
- XMLTV_TYPE="$(xmlstarlet sel -t -m '/settings/setting[@id="XMLTV_TYPE"]' -v @value $ADDON_SETTINGS)"
- XMLTV_LOCATION_FILE="$(xmlstarlet sel -t -m '/settings/setting[@id="XMLTV_LOCATION_FILE"]' -v @value $ADDON_SETTINGS)"
- XMLTV_LOCATION_WEB="$(xmlstarlet sel -t -m '/settings/setting[@id="XMLTV_LOCATION_WEB"]' -v @value $ADDON_SETTINGS | xmlstarlet unesc)"
- XMLTV_LOCATION_SCRIPT="$(xmlstarlet sel -t -m '/settings/setting[@id="XMLTV_LOCATION_SCRIPT"]' -v @value $ADDON_SETTINGS)"
- fi
-
- if [ "$XMLTV_TYPE" = "FILE" ]; then
- case "$XMLTV_LOCATION_FILE" in
- *.gz | *.bz2 | *.xz)
- zcat "$XMLTV_LOCATION_FILE"
- ;;
- *)
- cat "$XMLTV_LOCATION_FILE"
- ;;
- esac
- exit 0
- elif [ "$XMLTV_TYPE" = "SCRIPT" ]; then
- if [ -e "$XMLTV_LOCATION_SCRIPT" ]; then
- exec "$XMLTV_LOCATION_SCRIPT"
- fi
- elif [ "$XMLTV_TYPE" = "WEB" ]; then
- case "$XMLTV_LOCATION_WEB" in
- *.gz | *.bz2 | *.xz)
- wget -qO - "$XMLTV_LOCATION_WEB" | zcat
- ;;
- *)
- wget -qO - "$XMLTV_LOCATION_WEB"
- ;;
- esac
- exit 0
- fi
-fi
-
-dflag=
-vflag=
-cflag=
-
-for a in "$@"; do
- [ "$a" = "-d" -o "$a" = "--description" ] && dflag=1
- [ "$a" = "-v" -o "$a" = "--version" ] && vflag=1
- [ "$a" = "-c" -o "$a" = "--capabilities" ] && cflag=1
-done
-
-if [ -n "$dflag" ]; then
- echo "tv_grab_file is a simple grabber that can be configured through the addon settings from Kodi"
-fi
-
-if [ -n "$vflag" ]; then
- echo "1.0"
-fi
-
-if [ -n "$cflag" ]; then
- echo "baseline"
-fi
diff --git a/packages/addons/service/tvheadend42/source/bin/tvheadend42.start b/packages/addons/service/tvheadend42/source/bin/tvheadend42.start
deleted file mode 100755
index cf9955af75..0000000000
--- a/packages/addons/service/tvheadend42/source/bin/tvheadend42.start
+++ /dev/null
@@ -1,177 +0,0 @@
-#!/bin/sh
-
-# SPDX-License-Identifier: GPL-2.0
-# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv)
-
-. /etc/profile
-
-oe_setup_addon service.tvheadend42
-
-ADDON_SETTINGS="$ADDON_HOME/settings.xml"
-
-COMSKIP_DIR="$ADDON_HOME/comskip"
-COMSKIP_SETTINGS_FILE="$COMSKIP_DIR/comskip.ini"
-
-DVR_SETTINGS_DIR="$ADDON_HOME/dvr/config"
-DVR_SETTINGS_FILE="$DVR_SETTINGS_DIR/8d0f5b7ae354d956d7fe5db25f5d0d24"
-
-EPGGRAB_SETTINGS_DIR="$ADDON_HOME/epggrab"
-EPGGRAB_SETTINGS_FILE="$EPGGRAB_SETTINGS_DIR/config"
-
-TIMESHIFT_SETTINGS_DIR="$ADDON_HOME/timeshift"
-TIMESHIFT_SETTINGS_FILE="$TIMESHIFT_SETTINGS_DIR/config"
-
-TVH_SETTINGS_DIR="$ADDON_HOME"
-TVH_SETTINGS_FILE="$TVH_SETTINGS_DIR/config"
-
-XMLTV_SETTINGS_DIR="$ADDON_HOME/xmltv"
-XMLTV_SETTINGS_FILE="$XMLTV_SETTINGS_DIR/config"
-
-TIMESHIFT_DIR="$ADDON_HOME/cache/timeshift"
-XMLTV_FILE="$ADDON_DIR/bin/tv_grab_file"
-
-chmod a+x $ADDON_DIR/bin/*
-
-# workaround to support old 4.1.x version upgrade for Tvh after 4.1.2369
-if [ -f "$ADDON_HOME/dvr/config/dvr-config" ]; then
- rm $ADDON_HOME/dvr/config/dvr-config
-fi
-
-# workaround to create default Tvh directories without entering samba share
-if [ ! -d "/storage/recordings" ]; then
- mkdir -p /storage/recordings /storage/picons/tvh /storage/picons/vdr
-fi
-
-if [ -f "$ADDON_HOME/channel/config/config.tmp" ]; then
- rm $ADDON_HOME/channel/config/config.tmp
-fi
-
-if [ -f "$ADDON_HOME/channel/config/tag.tmp" ]; then
- rm $ADDON_HOME/channel/config/tag.tmp
-fi
-
-# copy config files to userdata
-if [ ! -f "$COMSKIP_SETTINGS_FILE" ]; then
- mkdir -p $COMSKIP_DIR
- cp $ADDON_DIR/defaults/comskip/comskip.ini $COMSKIP_SETTINGS_FILE
-fi
-
-if [ ! -f "$DVR_SETTINGS_FILE" ]; then
- mkdir -p $DVR_SETTINGS_DIR
- cp $ADDON_DIR/defaults/dvr/config/8d0f5b7ae354d956d7fe5db25f5d0d24 $DVR_SETTINGS_FILE
-fi
-
-if [ ! -f "$EPGGRAB_SETTINGS_FILE" ]; then
- mkdir -p $EPGGRAB_SETTINGS_DIR
- cp $ADDON_DIR/defaults/epggrab/config $EPGGRAB_SETTINGS_FILE
-fi
-
-if [ ! -f "$TIMESHIFT_SETTINGS_FILE" ]; then
- mkdir -p $TIMESHIFT_DIR
- mkdir -p $TIMESHIFT_SETTINGS_DIR
- cp $ADDON_DIR/defaults/timeshift/config $TIMESHIFT_SETTINGS_FILE
-fi
-
-if [ ! -f "$TVH_SETTINGS_FILE" ]; then
- mkdir -p $TVH_SETTINGS_DIR
- cp $ADDON_DIR/defaults/config $TVH_SETTINGS_FILE
-fi
-
-if [ ! -f "$XMLTV_SETTINGS_FILE" ]; then
- mkdir -p $XMLTV_SETTINGS_DIR
- cp $ADDON_DIR/defaults/xmltv/config $XMLTV_SETTINGS_FILE
-fi
-
-# delayed Tvh startup
-if [ "$WORKAROUND_SLEEP" == "true" ]; then
- sleep $WORKAROUND_SLEEP_TIME
-fi
-
-# support FritzBox Sat>IP Server detection workaround for AVM-Repeater and AVM-6490
-if [ "$AVM_SATIP_SERVER" == "true" ]; then
- if [ "$AVM_DEVICE" == "AVM_Repeater" ]; then
- AVM_SATIP="--satip_xml http://${AVM_ROUTER_IP}:49000/satipdesc.xml"
- fi
- if [ "$AVM_DEVICE" == "AVM_6490" ]; then
- AVM_SATIP="--satip_xml http://${AVM_ROUTER_FAKE_IP}:49000/satipdesc.xml"
- AVM_NUM="4"
- fi
-
- # add virtual ip as workaround for AVM limitation of one stream per ip
- # AVM-Repeater (2 tuners)
- ip address add ${AVM_IP1}/24 dev $AVM_ETH
- ip address add ${AVM_IP2}/24 dev $AVM_ETH
-
- # AVM-6490 (4 tuners)
- if [ "$AVM_NUM" = "4" ]; then
- ip address add ${AVM_IP3}/24 dev $AVM_ETH
- ip address add ${AVM_IP4}/24 dev $AVM_ETH
- fi
-fi
-
-# custom startup parameters
-if [ "$CUSTOM_START" != "true" ]; then
- CUSTOM_ARGS=""
-fi
-
-# debug value generation
-if [ "$DEBUG_LOG_TRACE_1" != "NONE" ]; then
- DEBUG_LOG_ARG="$DEBUG_LOG_TRACE_1"
-fi
-
-if [ "$DEBUG_LOG_TRACE_2" != "NONE" ]; then
- DEBUG_LOG_ARG="$DEBUG_LOG_ARG,$DEBUG_LOG_TRACE_2"
-fi
-
-if [ "$DEBUG_LOG_TRACE_3" != "NONE" ]; then
- DEBUG_LOG_ARG="$DEBUG_LOG_ARG,$DEBUG_LOG_TRACE_3"
-fi
-
-if [ "$DEBUG_LOG_TRACE_4" != "NONE" ]; then
- DEBUG_LOG_ARG="$DEBUG_LOG_ARG,$DEBUG_LOG_TRACE_4"
-fi
-
-if [ "$DEBUG_LOG_TRACE_5" != "NONE" ]; then
- DEBUG_LOG_ARG="$DEBUG_LOG_ARG,$DEBUG_LOG_TRACE_5"
-fi
-
-# if debuglog is activated and nothing selected to trace
-if [ -z "$DEBUG_LOG_ARG" ];then
- DEBUG_LOG_ARG="all"
-fi
-
-# rename debuglog if already exist to prevent overwriting after crash
-if [ -f "${DEBUG_LOG_PATH}" ]; then
- cp ${DEBUG_LOG_PATH} ${DEBUG_LOG_PATH}_$(date '+%Y-%m-%d_%H.%M.%S').txt
-fi
-
-# debug commandline
-if [ "$DEBUG_LOG" = "true" ]; then
- TVHEADEND_ARG="-B -C -u root -g video -c $ADDON_HOME $AVM_SATIP $CUSTOM_ARGS -l ${DEBUG_LOG_PATH} --trace $DEBUG_LOG_ARG"
-else
- TVHEADEND_ARG="-B -C -u root -g video -c $ADDON_HOME $AVM_SATIP $CUSTOM_ARGS"
-fi
-
-# start userspace DVB driver/addon
-for driver_dvb in $(find /storage/.kodi/addons/driver.dvb.*/bin/userspace-driver.sh -type f 2>/dev/null); do
- driver_dvb_name=$(echo $driver_dvb | awk 'BEGIN {FS="/"} {printf("%s", $5)}')
- logger -t Tvheadend "### Loading userspace DVB driver: $driver_dvb_name ###"
- # use ". " because of variable export
- . $driver_dvb
-done
-
-if [ "$WAIT_FOR_FEINIT" == "true" ] ; then
- while [ true ] ; do
- if [ -e /dev/dvb/adapter$((NUM_ADAPTERS-1))/frontend0 ] ; then
- break
- fi
- sleep 1
- done
-fi
-
-if [ "$PRELOAD_CAPMT_CA" == "true" ] ; then
- logger -t Tvheadend "### Preloading capmt_ca.so library ###"
- LD_PRELOAD="$ADDON_DIR/bin/capmt_ca.so $LD_PRELOAD" exec $ADDON_DIR/bin/tvheadend $TVHEADEND_ARG &>$ADDON_LOG_FILE
-else
- exec $ADDON_DIR/bin/tvheadend $TVHEADEND_ARG &>$ADDON_LOG_FILE
-fi
diff --git a/packages/addons/service/tvheadend42/source/default.py b/packages/addons/service/tvheadend42/source/default.py
deleted file mode 100644
index 93af06affa..0000000000
--- a/packages/addons/service/tvheadend42/source/default.py
+++ /dev/null
@@ -1,20 +0,0 @@
-# SPDX-License-Identifier: GPL-2.0
-# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv)
-
-import subprocess
-import xbmc
-import xbmcaddon
-
-
-class Monitor(xbmc.Monitor):
-
- def __init__(self, *args, **kwargs):
- xbmc.Monitor.__init__(self)
- self.id = xbmcaddon.Addon().getAddonInfo('id')
-
- def onSettingsChanged(self):
- subprocess.call(['systemctl', 'restart', self.id])
-
-
-if __name__ == "__main__":
- Monitor().waitForAbort()
diff --git a/packages/addons/service/tvheadend42/source/defaults/comskip/comskip.ini b/packages/addons/service/tvheadend42/source/defaults/comskip/comskip.ini
deleted file mode 100644
index 9154db4a19..0000000000
--- a/packages/addons/service/tvheadend42/source/defaults/comskip/comskip.ini
+++ /dev/null
@@ -1,83 +0,0 @@
-; See comskip.txt in the distribution zip file for many settable parameters, read manual.html, tuning.html and debugwindow.html for how to tune and debug comskip
-edl_mode=3 ; the mode specified in the generated edl file, 0=cut, 3=commercial break
-mkv_time_offset=30.0 ; offset in seconds, to work around what appears to be an Kodi or ffmpeg bug
-always_keep_first_seconds=2 ; Kodi has a bug that causes a segfault if we don't keep the start of the stream, I'll fix that when I get a chance
-
-detect_method=43 ; 1=black frame, 2=logo, 4=scene change, 8=fuzzy logic, 16=closed captions, 32=aspect ration, 64=silence, 128=cutscenes, 255=all
-validate_silence=1 ; Default, set to 0 to force using this clues if selected above.
-validate_uniform=1 ; Default, set to 0 to force using this clues (like pure white frames) if blackframe is selected above.
-validate_scenechange=1 ; Default, set to 0 to force using this clues if selected above.
-verbose=10 ; show a lot of extra info, level 5 is also OK, set to 0 to disable
-max_brightness=60 ; frame not black if any pixels checked are greater than this (scale 0 to 255)
-test_brightness=40 ; frame not pure black if any pixels checked are greater than this, will check average brightness (scale 0 to 255)
-max_avg_brightness=25 ; maximum average brightness for a dim frame to be considered black (scale 0 to 255) 0 means autosetting
-max_commercialbreak=600 ; maximum length in seconds to consider a segment a commercial break
-min_commercialbreak=25 ; minimum length in seconds to consider a segment a commercial break
-max_commercial_size=125 ; maximum time in seconds for a single commercial or multiple commercials if no breaks in between
-min_commercial_size=4 ; mimimum time in seconds for a single commercial
-min_show_segment_length=250 ; any segment longer than this will be scored towards show.
-non_uniformity=500 ; Set to 0 to disable cutpoints based on uniform frames
-max_volume=500 ; any frame with sound volume larger than this will not be regarded as black frame
-min_silence=12 ; Any deep silence longer than this amount of frames is a possible cutpoint
-ticker_tape=0 ; Amount of pixels from bottom to ignore in all processing
-logo_at_bottom=0 ; Set to 1 to search only for logo at the lower half of the video, do not combine with subtitle setting
-punish=0 ; Compare to average for sum of 1=brightness, 2=uniform 4=volume, 8=silence, 16=schange, set to 0 to disable
-punish_threshold=1.3 ; Multiply when amount is above average * punish_threshold
-punish_modifier=2 ; When above average * threshold multiply score by this value
-intelligent_brightness=0 ; Set to 1 to use a USA specific algorithm to tune some of the settings, not adviced outside the USA
-logo_percentile=0.92 ; if more then this amount of logo is found then logo detection will be disabled
-logo_threshold=0.75
-punish_no_logo=1 ; Default, set to 0 to avoid show segments without logo to be scored towards commercial
-aggressive_logo_rejection=0
-connect_blocks_with_logo=1 ; set to 1 if you want successive blocks with logo on the transition to be regarded as connected, set to 0 to disable
-logo_filter=0 ; set the size of the filter to apply to bad logo detection, 4 seems to be a good value.
-cut_on_ar_change=1 ; set to 1 if you want to cut also on aspect ratio changes when logo is present, set to 2 to force cuts on aspect ratio changes. set to 0 to disable
-delete_show_after_last_commercial=0 ; set to 1 if you want to delete the last block if its a show and after a commercial
-delete_show_before_or_after_current=0 ; set to 1 if you want to delete the previous and the next show in the recording, this can lead to the deletion of trailers of next show
-delete_block_after_commercial=0 ; set to max size of block in seconds to be discarded, set to 0 to disable
-remove_before=0 ; amount of seconds of show to be removed before ALL commercials
-remove_after=0 ; amount of seconds of show to be removed after ALL commercials
-shrink_logo=5 ; Reduce the duration of the logo with this amount of seconds
-after_logo=0 ; set to number of seconds after logo disappears comskip should start to search for silence to insert an additional cutpoint
-padding=0
-ms_audio_delay=5
-volume_slip=40
-skip_b_frames=0 ; Set to 1 to force Comskip to skip frames for higher processing speed.
-hardware_decode=0 ; Set to 1 to enable hardware accelerated video decoding, only available in donator version
-max_repair_size=200 ; Will repair maximum 200 missing MPEG frames in the timeline, set to 0 to disable repairing for players that don't use PTS.
-disable_heuristics=4 ; bit pattern for disabling heuristics, adding 1 disables heristics 1, adding 2 disables heristics 2, adding 4 disables heristics 3, 255 disables all heuristics
-delete_logo_file=0 ; set to 1 if you want comskip to tidy up after finishing
-output_framearray=0 ; create a big excel file for detailed analysis, set to 0 to disable
-output_data=0 ; create a dump of the user data channel, used for CC and XDS (such as V-Chip info). Can be use together with output_framearray to remote debug CC decoding
-output_videoredo=0 ; The old videoredo format
-output_videoredo3=0 ; The new videoredo v3 format.
-output_womble=0
-output_mls=0 ; set to 1 if you want MPeg Video Wizard bookmark file output
-output_cuttermaran=0
-output_mpeg2schnitt=0
-output_mpgtx=0
-output_dvrcut=0
-output_zoomplayer_chapter=0
-output_zoomplayer_cutlist=0
-output_edl=1
-output_dvrmstb=0 ; Set to 1 if you're running DVRMS-Toolbox
-output_edlx=0
-output_vcf=0
-output_bsplayer=0
-output_btv=0 ; set to 1 if you want Beyond TV chapter cutlist output
-output_projectx=0 ; set to 1 if you want ProjectX cutlist output (Xcl)
-output_avisynth=0
-output_vdr=1 ; set to 1 if you want Kodi to skipping commercials
-output_demux=0 ; set to 1 if you want comskip to demux the mpeg file while scanning
-sage_framenumber_bug=0
-sage_minute_bug=0
-live_tv=0 ; set to 1 if you use parallelprocessing and need the output while recording
-live_tv_retries=4 ; change to 16 when using live_tv in BTV, used for mpeg PS and TS
-dvrms_live_tv_retries=300 ; only used for dvr_ms
-standoff=0 ; change to 8000000 when using live_tv in BTV
-
-cuttermaran_options="cut=\"true\" unattended=\"true\" muxResult=\"false\" snapToCutPoints=\"true\" closeApp=\"true\""
-mpeg2schnitt_options="mpeg2schnitt.exe /S /E /R25 /Z %2 %1"
-avisynth_options="LoadPlugin(\"MPEG2Dec3.dll\") \nMPEG2Source(\"%s\")\n"
-dvrcut_options="dvrcut \"%s.dvr-ms\" \"%s_clean.dvr-ms\" "
-windowtitle="Comskip - %s"
\ No newline at end of file
diff --git a/packages/addons/service/tvheadend42/source/defaults/config b/packages/addons/service/tvheadend42/source/defaults/config
deleted file mode 100644
index de47b6a71c..0000000000
--- a/packages/addons/service/tvheadend42/source/defaults/config
+++ /dev/null
@@ -1,14 +0,0 @@
-{
- "wizard": "hello",
- "uilevel": 1,
- "uilevel_nochange": true,
- "ui_quicktips": true,
- "cookie_expires": 14,
- "caclient_ui": true,
- "epg_compress": true,
- "prefer_picon": true,
- "chiconpath": "file:///storage/picons/tvh/%C.png",
- "chiconscheme": 2,
- "piconpath": "file:///storage/picons/vdr/",
- "piconscheme": 1
-}
diff --git a/packages/addons/service/tvheadend42/source/defaults/dvr/config/8d0f5b7ae354d956d7fe5db25f5d0d24 b/packages/addons/service/tvheadend42/source/defaults/dvr/config/8d0f5b7ae354d956d7fe5db25f5d0d24
deleted file mode 100644
index 95ffc1a31f..0000000000
--- a/packages/addons/service/tvheadend42/source/defaults/dvr/config/8d0f5b7ae354d956d7fe5db25f5d0d24
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "storage": "/storage/recordings",
- "retention-days": 2147483646,
- "removal-days": 2147483647,
- "pre-extra-time": 0,
- "post-extra-time": 0,
- "day-dir": false,
- "channel-dir": false,
- "channel-in-title": true,
- "date-in-title": true,
- "time-in-title": true,
- "whitespace-in-title": false,
- "title-dir": true,
- "episode-in-title": true,
- "tag-files": true,
- "windows-compatible-filenames": true,
- "charset": "UTF-8"
-}
diff --git a/packages/addons/service/tvheadend42/source/defaults/epggrab/config b/packages/addons/service/tvheadend42/source/defaults/epggrab/config
deleted file mode 100644
index 230a1cd6f0..0000000000
--- a/packages/addons/service/tvheadend42/source/defaults/epggrab/config
+++ /dev/null
@@ -1,79 +0,0 @@
-{
- "channel_rename": true,
- "channel_renumber": false,
- "channel_reicon": false,
- "epgdb_periodicsave": 2,
- "ota_initial": true,
- "modules": {
- "opentv-skyit": {
- "class": "epggrab_mod_ota",
- "name": "OpenTV: Sky Italia",
- "type": "Over-the-air",
- "enabled": true,
- "priority": 2
- },
- "opentv-skynz": {
- "class": "epggrab_mod_ota",
- "name": "OpenTV: Sky NZ",
- "type": "Over-the-air",
- "enabled": true,
- "priority": 2
- },
- "opentv-skyuk": {
- "class": "epggrab_mod_ota",
- "name": "OpenTV: Sky UK",
- "type": "Over-the-air",
- "enabled": true,
- "priority": 2
- },
- "opentv-ausat": {
- "class": "epggrab_mod_ota",
- "name": "OpenTV: Ausat",
- "type": "Over-the-air",
- "enabled": true,
- "priority": 2
- },
- "psip": {
- "class": "epggrab_mod_ota",
- "name": "PSIP: ATSC Grabber",
- "type": "Over-the-air",
- "enabled": true,
- "priority": 1
- },
- "Bulsatcom_39E": {
- "class": "epggrab_mod_ota",
- "name": "Bulsatcom: Bula 39E",
- "type": "Over-the-air",
- "enabled": true,
- "priority": 5
- },
- "viasat_baltic": {
- "class": "epggrab_mod_ota",
- "name": "VIASAT: Baltic",
- "type": "Over-the-air",
- "enabled": true,
- "priority": 5
- },
- "uk_freeview": {
- "class": "epggrab_mod_ota",
- "name": "UK: Freeview",
- "type": "Over-the-air",
- "enabled": true,
- "priority": 5
- },
- "uk_freesat": {
- "class": "epggrab_mod_ota",
- "name": "UK: Freesat",
- "type": "Over-the-air",
- "enabled": true,
- "priority": 5
- },
- "eit": {
- "class": "epggrab_mod_ota",
- "name": "EIT: DVB Grabber",
- "type": "Over-the-air",
- "enabled": true,
- "priority": 1
- }
- }
-}
diff --git a/packages/addons/service/tvheadend42/source/defaults/timeshift/config b/packages/addons/service/tvheadend42/source/defaults/timeshift/config
deleted file mode 100644
index 1ac8f3f116..0000000000
--- a/packages/addons/service/tvheadend42/source/defaults/timeshift/config
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "enabled": 0,
- "ondemand": 0,
- "path": "/storage/.kodi/userdata/addon_data/service.tvheadend42/cache/timeshift",
- "unlimited_period": 0,
- "max_period": 3600,
- "unlimited_size": 0,
- "max_size": 3072
-}
diff --git a/packages/addons/service/tvheadend42/source/defaults/xmltv/config b/packages/addons/service/tvheadend42/source/defaults/xmltv/config
deleted file mode 100644
index 8093bd3531..0000000000
--- a/packages/addons/service/tvheadend42/source/defaults/xmltv/config
+++ /dev/null
@@ -1,14 +0,0 @@
-{
- "grabbers": [
- {
- "path": "/storage/.kodi/addons/service.tvheadend42/bin/tv_grab_file",
- "description": "tv_grag_file is a simple grabber that just read the ~/.xmltv/tv_grab_file.xmltv file",
- "version": "0.1\n",
- "mtime": 1318774706,
- "capabilities": 1
- }
- ],
- "grab-interval": 12,
- "grab-enabled": 1,
- "current-grabber": "/storage/.kodi/addons/service.tvheadend42/bin/tv_grab_file"
-}
diff --git a/packages/addons/service/tvheadend42/source/download.py b/packages/addons/service/tvheadend42/source/download.py
deleted file mode 100644
index 63fe77a31b..0000000000
--- a/packages/addons/service/tvheadend42/source/download.py
+++ /dev/null
@@ -1,56 +0,0 @@
-# SPDX-License-Identifier: GPL-2.0-only
-# Copyright (C) 2018-present Team LibreELEC (https://libreelec.tv)
-
-import os
-import shutil
-import urllib.request
-import subprocess
-import re
-import xbmc, xbmcvfs, xbmcgui, xbmcaddon
-
-ADDON_NAME = xbmcaddon.Addon().getAddonInfo("name")
-LS = xbmcaddon.Addon().getLocalizedString
-
-
-def clear_directory(directory):
- try:
- for file_name in os.listdir(directory):
- file_path = os.path.join(directory, file_name)
- if os.path.isfile(file_path):
- os.unlink(file_path)
- elif os.path.isdir(file_path):
- shutil.rmtree(file_path)
- except Exception as e:
- xbmcgui.Dialog().notification(ADDON_NAME, LS(30041), xbmcgui.NOTIFICATION_INFO)
- exit(1)
-
-
-def download_and_extract(url, destination, extract_path):
- try:
- # Download the file
- urllib.request.urlretrieve(url, destination)
-
- # Extract the file to the specified directory, ignoring the root path
- subprocess.run(["tar", "xf", destination, "--strip-components=3", "-C", extract_path])
-
- except Exception as e:
- xbmcgui.Dialog().notification(ADDON_NAME, LS(30040), xbmcgui.NOTIFICATION_INFO)
- exit(1)
-
-
-if __name__ == "__main__":
- scan_tables_path = os.path.join(xbmcvfs.translatePath(xbmcaddon.Addon().getAddonInfo("path")), "dvb-scan")
- download_url = "https://linuxtv.org/downloads/dtv-scan-tables/dtv-scan-tables-LATEST.tar.bz2"
- downloaded_file_path = "/tmp/dtv-scan-tables-LATEST.tar.bz2"
-
- # Clear the contents of the dvb_scan directory
- clear_directory(scan_tables_path)
-
- # Download and extract the file using subprocess
- download_and_extract(download_url, downloaded_file_path, scan_tables_path)
-
- # Clean up the downloaded file
- os.remove(downloaded_file_path)
-
- # Notify download complete
- xbmcgui.Dialog().notification(ADDON_NAME, LS(30039), xbmcgui.NOTIFICATION_INFO)
diff --git a/packages/addons/service/tvheadend42/source/resources/language/English/strings.po b/packages/addons/service/tvheadend42/source/resources/language/English/strings.po
deleted file mode 100644
index 9f74494037..0000000000
--- a/packages/addons/service/tvheadend42/source/resources/language/English/strings.po
+++ /dev/null
@@ -1,174 +0,0 @@
-# Kodi Media Center language file
-# Addon Name: tvheadend42
-# Addon id: service.tvheadend42
-# Addon Provider: Team LibreELEC
-msgid ""
-msgstr ""
-
-msgctxt "#30000"
-msgid "XMLTV"
-msgstr ""
-
-msgctxt "#30001"
-msgid "DVB"
-msgstr ""
-
-msgctxt "#30002"
-msgid "DEBUG"
-msgstr ""
-
-msgctxt "#30003"
-msgid "FRITZ!Box Sat>IP"
-msgstr ""
-
-msgctxt "#30004"
-msgid "XMLTV Configuration"
-msgstr ""
-
-msgctxt "#30005"
-msgid "XMLTV source type"
-msgstr ""
-
-msgctxt "#30006"
-msgid "XMLTV File location"
-msgstr ""
-
-msgctxt "#30007"
-msgid "XMLTV Web location"
-msgstr ""
-
-msgctxt "#30008"
-msgid "XMLTV Script location"
-msgstr ""
-
-msgctxt "#30009"
-msgid "DVB Configuration"
-msgstr ""
-
-msgctxt "#30010"
-msgid "Unload DVB modules before suspend"
-msgstr ""
-
-msgctxt "#30011"
-msgid "Wait for frontend initialization"
-msgstr ""
-
-msgctxt "#30012"
-msgid "Number of adapters to wait for"
-msgstr ""
-
-msgctxt "#30013"
-msgid "Preload capmt_ca.so library"
-msgstr ""
-
-msgctxt "#30014"
-msgid "Delay the start of Tvheadend"
-msgstr ""
-
-msgctxt "#30015"
-msgid "Seconds delay"
-msgstr ""
-
-msgctxt "#30016"
-msgid "Custom start parameter"
-msgstr ""
-
-msgctxt "#30017"
-msgid "Parameter"
-msgstr ""
-
-msgctxt "#30018"
-msgid "FRITZ!Box Sat>IP server"
-msgstr ""
-
-msgctxt "#30019"
-msgid "AVM device"
-msgstr ""
-
-msgctxt "#30020"
-msgid "IP of the AVM Repeater"
-msgstr ""
-
-msgctxt "#30021"
-msgid "Router IP range (last digits are always .254)"
-msgstr ""
-
-msgctxt "#30022"
-msgid "Used network"
-msgstr ""
-
-msgctxt "#30023"
-msgid "Virtual IP #1"
-msgstr ""
-
-msgctxt "#30024"
-msgid "Virtual IP #2"
-msgstr ""
-
-msgctxt "#30025"
-msgid "Virtual IP #3"
-msgstr ""
-
-msgctxt "#30026"
-msgid "Virtual IP #4"
-msgstr ""
-
-msgctxt "#30027"
-msgid "TRACE Configuration"
-msgstr ""
-
-msgctxt "#30028"
-msgid "Path"
-msgstr ""
-
-msgctxt "#30029"
-msgid "Activate TRACE Debug"
-msgstr ""
-
-msgctxt "#30030"
-msgid "Debug Value #1"
-msgstr ""
-
-msgctxt "#30031"
-msgid "Debug Value #2"
-msgstr ""
-
-msgctxt "#30032"
-msgid "Debug Value #3"
-msgstr ""
-
-msgctxt "#30033"
-msgid "Debug Value #4"
-msgstr ""
-
-msgctxt "#30034"
-msgid "Debug Value #5"
-msgstr ""
-
-msgctxt "#30035"
-msgid "FRITZ!Box Configuration for FRITZ!OS 6.x (do not use for 7.x)"
-msgstr ""
-
-msgctxt "#30036"
-msgid "Scan Tables"
-msgstr ""
-
-msgctxt "#30037"
-msgid "Manage Scan-Tables"
-msgstr ""
-
-msgctxt "#30038"
-msgid "Download and install Scan-Tables"
-msgstr ""
-
-msgctxt "#30039"
-msgid "Download completed, tables installed"
-msgstr ""
-
-msgctxt "#30040"
-msgid "Could not download Scan-Tables"
-msgstr ""
-
-msgctxt "#30041"
-msgid "Could not extract zip files"
-msgstr ""
diff --git a/packages/addons/service/tvheadend42/source/resources/screenshot-01.png b/packages/addons/service/tvheadend42/source/resources/screenshot-01.png
deleted file mode 100644
index e049349cee..0000000000
Binary files a/packages/addons/service/tvheadend42/source/resources/screenshot-01.png and /dev/null differ
diff --git a/packages/addons/service/tvheadend42/source/resources/screenshot-02.png b/packages/addons/service/tvheadend42/source/resources/screenshot-02.png
deleted file mode 100644
index 3baa01a479..0000000000
Binary files a/packages/addons/service/tvheadend42/source/resources/screenshot-02.png and /dev/null differ
diff --git a/packages/addons/service/tvheadend42/source/resources/screenshot-03.png b/packages/addons/service/tvheadend42/source/resources/screenshot-03.png
deleted file mode 100644
index 2b2759ac6f..0000000000
Binary files a/packages/addons/service/tvheadend42/source/resources/screenshot-03.png and /dev/null differ
diff --git a/packages/addons/service/tvheadend42/source/resources/screenshot-04.png b/packages/addons/service/tvheadend42/source/resources/screenshot-04.png
deleted file mode 100644
index acba7b4f9d..0000000000
Binary files a/packages/addons/service/tvheadend42/source/resources/screenshot-04.png and /dev/null differ
diff --git a/packages/addons/service/tvheadend42/source/resources/settings.xml b/packages/addons/service/tvheadend42/source/resources/settings.xml
deleted file mode 100644
index 1ffc89b94b..0000000000
--- a/packages/addons/service/tvheadend42/source/resources/settings.xml
+++ /dev/null
@@ -1,55 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/packages/addons/service/tvheadend42/source/settings-default.xml b/packages/addons/service/tvheadend42/source/settings-default.xml
deleted file mode 100644
index 774e8bd51b..0000000000
--- a/packages/addons/service/tvheadend42/source/settings-default.xml
+++ /dev/null
@@ -1,31 +0,0 @@
-
-
- eth0
- 192.168.178.201
- 192.168.178.202
- 192.168.178.203
- 192.168.178.204
- 192.168.178.254
- 192.168.178.2
- false
-
- false
- false
- /storage/.kodi/userdata/addon_data/service.tvheadend42/debug.txt
- NONE
- NONE
- NONE
- NONE
- NONE
-
- 1
- false
-
- false
- false
- 1
-
-
- http://
- NONE
-
diff --git a/packages/addons/service/tvheadend42/source/sleep.d/tvheadend.power b/packages/addons/service/tvheadend42/source/sleep.d/tvheadend.power
deleted file mode 100755
index 3a9159e884..0000000000
--- a/packages/addons/service/tvheadend42/source/sleep.d/tvheadend.power
+++ /dev/null
@@ -1,29 +0,0 @@
-#!/bin/sh
-
-# SPDX-License-Identifier: GPL-2.0
-# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv)
-
-. /etc/profile
-
-oe_setup_addon service.tvheadend42
-
-SERVICE="service.tvheadend42"
-
-case "$1" in
- pre)
- if systemctl is-active "$SERVICE" &>/dev/null ; then
- systemctl stop "$SERVICE"
- for module in $REMOVE_MODULES ; do
- rmmod $module
- done
- fi
- ;;
- post)
- if systemctl is-enabled "$SERVICE" &>/dev/null ; then
- for module in $REMOVE_MODULES ; do
- modprobe $module
- done
- systemctl start "$SERVICE"
- fi
- ;;
-esac
diff --git a/packages/addons/service/tvheadend42/source/system.d/service.tvheadend42.service b/packages/addons/service/tvheadend42/source/system.d/service.tvheadend42.service
deleted file mode 100644
index 06f0c67086..0000000000
--- a/packages/addons/service/tvheadend42/source/system.d/service.tvheadend42.service
+++ /dev/null
@@ -1,13 +0,0 @@
-[Unit]
-Description=TVHeadend42 Service
-After=network-online.service
-
-[Service]
-ExecStart=/bin/sh -c "exec sh /storage/.kodi/addons/service.tvheadend42/bin/tvheadend42.start"
-TimeoutStopSec=2
-Restart=always
-RestartSec=2
-StartLimitInterval=0
-
-[Install]
-WantedBy=kodi.target