commit c41d8a87e1cc695e8567ca97027ff86eb9044fb2
Author: Mohamed El Morabity <melmorabity(a)fedoraproject.org>
Date: Sun Apr 23 14:24:13 2017 +0200
Update to 4.2.1
.gitignore | 1 +
sources | 2 +-
tvheadend-4.0.9-dtv_scan_tables.patch | 12 -
tvheadend-4.0.9-ffmpeg_3.0.patch | 436 ---------------------
tvheadend-4.0.9-gcc7.patch | 89 -----
....patch => tvheadend-4.2.1-crypto_policies.patch | 8 +-
tvheadend-4.2.1-dtv_scan_tables.patch | 12 +
tvheadend-4.2.1-gcc7.patch | 78 ++++
...omerun.patch => tvheadend-4.2.1-hdhomerun.patch | 12 +-
...-service.patch => tvheadend-4.2.1-service.patch | 7 +-
tvheadend-4.2.1-systemd.patch | 12 +
tvheadend.spec | 59 ++-
12 files changed, 146 insertions(+), 582 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index 98072a3..2b2005d 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,4 @@
/tvheadend-4.0.9.tar.gz
/tvheadend-4.1.tar.gz
/tvheadend-4.0.10.tar.gz
+/tvheadend-4.2.1.tar.gz
diff --git a/sources b/sources
index 35e6382..5072ed4 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-5595958aa8a1676c0f5205bc52e549b4 tvheadend-4.0.10.tar.gz
+f1c3a03acc0930d5c79e5de0bc051d39 tvheadend-4.2.1.tar.gz
diff --git a/tvheadend-4.0.9-crypto_policies.patch
b/tvheadend-4.2.1-crypto_policies.patch
similarity index 57%
rename from tvheadend-4.0.9-crypto_policies.patch
rename to tvheadend-4.2.1-crypto_policies.patch
index 0896462..5c30151 100644
--- a/tvheadend-4.0.9-crypto_policies.patch
+++ b/tvheadend-4.2.1-crypto_policies.patch
@@ -1,12 +1,12 @@
diff -up ./src/httpc.c.orig ./src/httpc.c
---- ./src/httpc.c.orig 2016-03-14 10:10:57.000000000 +0100
-+++ ./src/httpc.c 2016-07-05 01:59:47.616987692 +0200
-@@ -1294,7 +1294,7 @@ http_client_reconnect
+--- ./src/httpc.c.orig 2017-04-21 10:32:22.000000000 +0200
++++ ./src/httpc.c 2017-04-23 13:29:02.612596380 +0200
+@@ -1509,7 +1509,7 @@ http_client_reconnect
/* do not use SSLv2 */
SSL_CTX_set_options(ssl->ctx, SSL_OP_NO_SSLv2 | SSL_OP_NO_COMPRESSION);
/* adjust cipher list */
- if (SSL_CTX_set_cipher_list(ssl->ctx, "HIGH:MEDIUM") != 1) {
+ if (SSL_CTX_set_cipher_list(ssl->ctx, "PROFILE=SYSTEM") != 1) {
- tvhlog(LOG_ERR, "httpc", "%04X: Unable to adjust SSL cipher
list", shortid(hc));
+ tvherror(LS_HTTPC, "%04X: Unable to adjust SSL cipher list",
shortid(hc));
goto err2;
}
diff --git a/tvheadend-4.2.1-dtv_scan_tables.patch
b/tvheadend-4.2.1-dtv_scan_tables.patch
new file mode 100644
index 0000000..f3426c0
--- /dev/null
+++ b/tvheadend-4.2.1-dtv_scan_tables.patch
@@ -0,0 +1,12 @@
+diff -up ./src/input/mpegts/scanfile.c.orig ./src/input/mpegts/scanfile.c
+--- ./src/input/mpegts/scanfile.c.orig 2017-04-21 10:32:22.000000000 +0200
++++ ./src/input/mpegts/scanfile.c 2017-04-23 13:26:56.676950919 +0200
+@@ -903,7 +903,7 @@ scanfile_init ( const char *muxconf_path
+ #elif defined(PLATFORM_FREEBSD)
+ path = "/usr/local/share/dtv-scan-tables";
+ #else
+- path = "/usr/share/dvb";
++ path = "/usr/share/dvb5";
+ #endif
+
+ if (!initialized) {
diff --git a/tvheadend-4.2.1-gcc7.patch b/tvheadend-4.2.1-gcc7.patch
new file mode 100644
index 0000000..3cc9227
--- /dev/null
+++ b/tvheadend-4.2.1-gcc7.patch
@@ -0,0 +1,78 @@
+diff -up ./src/dvr/dvr_rec.c.orig ./src/dvr/dvr_rec.c
+--- ./src/dvr/dvr_rec.c.orig 2017-04-21 10:32:22.000000000 +0200
++++ ./src/dvr/dvr_rec.c 2017-04-23 14:05:36.028066833 +0200
+@@ -613,7 +613,7 @@ dvr_sub_basic_info(const char *id, const
+ HTSMSG_FOREACH(f, info) {
+ if (!(e = htsmsg_field_get_map(f))) continue;
+ if ((s = htsmsg_get_str(e, "type")) != NULL) continue;
+- tvh_strlcatf(tmp, tmplen, l, "%s%s", l > 0 ? "," :
"", s);
++ tvh_strlcatf(tmp, tmplen, l, "%s%s", l > 0 ? "," :
"", s == NULL ? "" : s);
+ }
+ return tmp;
+ }
+@@ -915,7 +915,7 @@ dvr_rec_start(dvr_entry_t *de, const str
+ const source_info_t *si = &ss->ss_si;
+ streaming_start_t *ss_copy;
+ const streaming_start_component_t *ssc;
+- char res[11], asp[6], sr[6], ch[7];
++ char res[14], asp[14], sr[6], ch[7];
+ dvr_config_t *cfg = de->de_config;
+ profile_chain_t *prch = de->de_chain;
+ htsmsg_t *info, *e;
+diff -up ./src/epggrab/module/xmltv.c.orig ./src/epggrab/module/xmltv.c
+--- ./src/epggrab/module/xmltv.c.orig 2017-04-21 10:32:22.000000000 +0200
++++ ./src/epggrab/module/xmltv.c 2017-04-23 13:43:54.253923983 +0200
+@@ -843,7 +843,7 @@ static void _xmltv_load_grabbers ( void
+ /* Internal search */
+ } else if ((tmp = getenv("PATH"))) {
+ tvhdebug(LS_XMLTV, "using internal grab search");
+- char bin[256];
++ char bin[257];
+ char *argv[] = {
+ NULL,
+ (char *)"--description",
+diff -up ./src/lock.c.orig ./src/lock.c
+--- ./src/lock.c.orig 2017-04-21 10:32:22.000000000 +0200
++++ ./src/lock.c 2017-04-23 13:42:15.592554853 +0200
+@@ -31,7 +31,7 @@ int state_lock_(const char *lfile, int l
+ int fd = -1, err = 0;
+ struct flock lck;
+ struct stat st;
+- char lcktxt[12];
++ char lcktxt[13];
+
+ lck.l_type = lock ? F_WRLCK : F_UNLCK;
+ lck.l_whence = SEEK_SET;
+diff -up ./src/subscriptions.c.orig ./src/subscriptions.c
+--- ./src/subscriptions.c.orig 2017-04-21 10:32:22.000000000 +0200
++++ ./src/subscriptions.c 2017-04-23 13:41:50.709217734 +0200
+@@ -976,7 +976,7 @@ subscription_create_msg(th_subscription_
+ descramble_info_t *di;
+ service_t *t;
+ profile_t *pro;
+- char buf[256];
++ char buf[284];
+ const char *state;
+
+ htsmsg_add_u32(m, "id", s->ths_id);
+diff -up ./src/webui/webui.c.orig ./src/webui/webui.c
+--- ./src/webui/webui.c.orig 2017-04-21 10:32:22.000000000 +0200
++++ ./src/webui/webui.c 2017-04-23 14:07:05.205688547 +0200
+@@ -174,7 +174,7 @@ page_login(http_connection_t *hc, const
+ {
+ if (hc->hc_access != NULL &&
+ hc->hc_access->aa_username != NULL &&
+- hc->hc_access->aa_username != '\0') {
++ *(hc->hc_access->aa_username) != '\0') {
+ http_redirect(hc, "/", &hc->hc_req_args, 0);
+ return 0;
+ } else {
+@@ -187,7 +187,7 @@ page_logout(http_connection_t *hc, const
+ {
+ if (hc->hc_access == NULL ||
+ hc->hc_access->aa_username == NULL ||
+- hc->hc_access->aa_username == '\0') {
++ *(hc->hc_access->aa_username) == '\0') {
+ redirect:
+ http_redirect(hc, "/", &hc->hc_req_args, 0);
+ return 0;
diff --git a/tvheadend-4.0.9-hdhomerun.patch b/tvheadend-4.2.1-hdhomerun.patch
similarity index 68%
rename from tvheadend-4.0.9-hdhomerun.patch
rename to tvheadend-4.2.1-hdhomerun.patch
index cf776ea..64f6f69 100644
--- a/tvheadend-4.0.9-hdhomerun.patch
+++ b/tvheadend-4.2.1-hdhomerun.patch
@@ -1,7 +1,7 @@
diff -up ./configure.orig ./configure
---- ./configure.orig 2016-07-05 01:42:43.615016618 +0200
-+++ ./configure 2016-07-05 01:44:12.239677665 +0200
-@@ -290,7 +290,7 @@ if enabled hdhomerun_static; then
+--- ./configure.orig 2017-04-21 10:32:22.000000000 +0200
++++ ./configure 2017-04-23 13:31:08.717237211 +0200
+@@ -357,7 +357,7 @@ if enabled hdhomerun_static; then
else
if enabled_or_auto hdhomerun_client; then
@@ -11,13 +11,13 @@ diff -up ./configure.orig ./configure
LDFLAGS="$LDFLAGS -lhdhomerun"
fi
diff -up ./src/input/mpegts/tvhdhomerun/tvhdhomerun_private.h.orig
./src/input/mpegts/tvhdhomerun/tvhdhomerun_private.h
---- ./src/input/mpegts/tvhdhomerun/tvhdhomerun_private.h.orig 2016-03-14
10:10:57.000000000 +0100
-+++ ./src/input/mpegts/tvhdhomerun/tvhdhomerun_private.h 2016-07-05 01:44:32.826134351
+0200
+--- ./src/input/mpegts/tvhdhomerun/tvhdhomerun_private.h.orig 2017-04-21
10:32:22.000000000 +0200
++++ ./src/input/mpegts/tvhdhomerun/tvhdhomerun_private.h 2017-04-23 13:31:08.717237211
+0200
@@ -24,7 +24,7 @@
#include "htsbuf.h"
#include "tvhdhomerun.h"
--#include <libhdhomerun/hdhomerun.h>
+-#include "libhdhomerun/hdhomerun.h"
+#include <hdhomerun/hdhomerun.h>
typedef struct tvhdhomerun_device_info tvhdhomerun_device_info_t;
diff --git a/tvheadend-4.0.9-service.patch b/tvheadend-4.2.1-service.patch
similarity index 65%
rename from tvheadend-4.0.9-service.patch
rename to tvheadend-4.2.1-service.patch
index eea8b22..e881a87 100644
--- a/tvheadend-4.0.9-service.patch
+++ b/tvheadend-4.2.1-service.patch
@@ -1,8 +1,9 @@
diff -up ./rpm/tvheadend.sysconfig.orig ./rpm/tvheadend.sysconfig
---- ./rpm/tvheadend.sysconfig.orig 2016-03-14 10:10:57.000000000 +0100
-+++ ./rpm/tvheadend.sysconfig 2016-07-05 01:56:33.730282240 +0200
-@@ -1,3 +1,3 @@
+--- ./rpm/tvheadend.sysconfig.orig 2017-04-21 10:32:22.000000000 +0200
++++ ./rpm/tvheadend.sysconfig 2017-04-23 13:24:58.581096686 +0200
+@@ -1,4 +1,4 @@
# Configuration file for the tvheadend service.
+ MALLOC_ARENA_MAX=4
-OPTIONS="-c /home/tvheadend/config -u tvheadend -g tvheadend -6 --http_port 9981
--htsp_port 9982"
+OPTIONS="-c /var/lib/tvheadend/config -u tvheadend -g video -6 -C --http_port 9981
--htsp_port 9982"
diff --git a/tvheadend-4.2.1-systemd.patch b/tvheadend-4.2.1-systemd.patch
new file mode 100644
index 0000000..423fe7d
--- /dev/null
+++ b/tvheadend-4.2.1-systemd.patch
@@ -0,0 +1,12 @@
+diff -up ./configure.orig ./configure
+--- ./configure.orig 2017-04-23 13:17:04.634688197 +0200
++++ ./configure 2017-04-23 13:18:15.837805616 +0200
+@@ -673,6 +673,8 @@ fi
+ #
+ if enabled_or_auto libsystemd_daemon; then
+ if check_pkg libsystemd-daemon; then
++ enable libsystemd_daemon
++ elif check_pkg libsystemd; then
+ enable libsystemd_daemon
+ elif enabled libsystemd_daemon; then
+ die "libsystemd-daemon development support not found (use
--disable-systemd_daemon)"
diff --git a/tvheadend.spec b/tvheadend.spec
index 4eb0c69..e4ab8bd 100644
--- a/tvheadend.spec
+++ b/tvheadend.spec
@@ -2,7 +2,7 @@
%global tvheadend_group video
Name: tvheadend
-Version: 4.0.10
+Version: 4.2.1
Release: 1%{?dist}
Summary: TV streaming server and digital video recorder
@@ -10,31 +10,28 @@ Group: Applications/Multimedia
License: GPLv3+
URL:
https://tvheadend.org/
Source0:
https://github.com/tvheadend/%{name}/archive/v%{version}/%{name}-%{versio...
-# Fix build with FFmpeg >= 3.0, based on:
-# -
https://github.com/tvheadend/tvheadend/commit/ea02889
-# -
https://github.com/tvheadend/tvheadend/commit/c63371c
-# -
https://github.com/tvheadend/tvheadend/commit/3cbee55
-# -
https://github.com/tvheadend/tvheadend/commit/374ab83
-Patch0: %{name}-4.0.9-ffmpeg_3.0.patch
-# Use system queue.h header
-Patch1: %{name}-4.0.9-use_system_queue.patch
# Fix build with hdhomerun
-Patch2: %{name}-4.0.9-hdhomerun.patch
-# Fix system DTV scan tables path
-Patch3: %{name}-4.0.9-dtv_scan_tables.patch
+Patch0: %{name}-4.2.1-hdhomerun.patch
# Fix systemd service and configuration:
# - Fix daemon user path
# - Fix daemon group (use video to access DVB devices)
# - Add -C option to allow UI access without login at first run
-Patch4: %{name}-4.0.9-service.patch
+Patch1: %{name}-4.2.1-service.patch
+# Use system queue.h header
+Patch2: %{name}-4.0.9-use_system_queue.patch
+# Fix system DTV scan tables path
+Patch3: %{name}-4.2.1-dtv_scan_tables.patch
# Enforcing system crypto policies, see
#
https://fedoraproject.org/wiki/Packaging:CryptoPolicies
-Patch5: %{name}-4.0.9-crypto_policies.patch
+Patch4: %{name}-4.2.1-crypto_policies.patch
# Fix build with GCC 7
-Patch6: %{name}-4.0.9-gcc7.patch
+Patch5: %{name}-4.2.1-gcc7.patch
+# Fix systemd detection
+Patch6: %{name}-4.2.1-systemd.patch
BuildRequires: bzip2
BuildRequires: gcc
+BuildRequires: gettext
BuildRequires: gzip
BuildRequires: hdhomerun-devel
BuildRequires: libdvbcsa-devel
@@ -45,14 +42,17 @@ BuildRequires: pkgconfig(libavfilter)
BuildRequires: pkgconfig(libavformat)
BuildRequires: pkgconfig(libavresample)
BuildRequires: pkgconfig(libavutil)
+BuildRequires: pkgconfig(libswresample)
+BuildRequires: pkgconfig(libswscale)
BuildRequires: pkgconfig(liburiparser)
BuildRequires: pkgconfig(openssl)
+BuildRequires: pkgconfig(libsystemd)
BuildRequires: pkgconfig(zlib)
BuildRequires: python2
BuildRequires: systemd
Requires: dtv-scan-tables
%{?systemd_requires}
-Provides: bundled(extjs) = 3.4.1
+Provides: bundled(extjs) = 3.4.1.1
%description
Tvheadend is a TV streaming server and recorder supporting DVB-S, DVB-S2, DVB-C,
@@ -70,17 +70,7 @@ MPEG-TS stream generated by ffmpeg/libav from a V4L device.
%prep
-%setup -q
-# RPM Fusion provides FFMpeg 3.0 for Fedora >= 24
-%if 0%{?fedora} >= 24
-%patch0 -p0 -b .ffmpeg_3.0
-%endif
-%patch1 -p0 -b .use_system_queue
-%patch2 -p0 -b .hdhomerun
-%patch3 -p0 -b .dtv_scan_tables
-%patch4 -p0 -b .service
-%patch5 -p0 -b .crypto_policies
-%patch6 -p0 -b .gcc7
+%autosetup -p 0
# Delete bundled system headers
rm -r vendor/{dvb-api,include}/
@@ -89,13 +79,14 @@ rm -r vendor/{dvb-api,include}/
%build
# Use touch to be sure that configure, after being patched, is still older than
# generated .config.mk file (otherwise the build fails)
-touch -r Makefile configure
+# touch -r Makefile configure
%configure \
--disable-dvbscan \
+ --disable-ffmpeg_static \
--disable-hdhomerun_static \
- --disable-libffmpeg_static_x264 \
--enable-dvbcsa \
- --enable-hdhomerun_client
+ --enable-hdhomerun_client \
+ --enable-libsystemd_daemon
%make_build V=1
@@ -112,7 +103,10 @@ chmod 0644 $RPM_BUILD_ROOT%{_mandir}/man1/%{name}.1
# Drop bundled Ext JS resources not required by Tvheadend UI
pushd $RPM_BUILD_ROOT%{_datadir}/%{name}/src/webui/static/extjs/
-rm -r *.js adapter/ examples/ resources/css/
resources/images/{access,gray,vista,yourtheme}/
+mv examples/ux/images/ examples_ux_images
+rm -r *.js adapter/ examples/ resources/images/{vista,yourtheme}/
+install -dm 0755 examples/ux/
+mv examples_ux_images/ examples/ux/images
popd
@@ -145,6 +139,9 @@ exit 0
%changelog
+* Sun Apr 23 2017 Mohamed El Morabity <melmorabity(a)fedorapeople.org> - 4.2.1-1
+- Update to 4.2.1
+
* Wed Apr 12 2017 Mohamed El Morabity <melmorabity(a)fedoraproject.org> - 4.0.10-1
- Update to 4.0.10