1 |
commit: 739b54d63d1152757c3367ac57f249b751caa990 |
2 |
Author: James Le Cuirot <chewi <AT> gentoo <DOT> org> |
3 |
AuthorDate: Sun Sep 2 11:27:54 2018 +0000 |
4 |
Commit: James Le Cuirot <chewi <AT> gentoo <DOT> org> |
5 |
CommitDate: Sun Sep 2 11:43:10 2018 +0000 |
6 |
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=739b54d6 |
7 |
|
8 |
media-tv/tvheadend: Version bump to 4.2.6 |
9 |
|
10 |
Closes: https://bugs.gentoo.org/665086 |
11 |
Package-Manager: Portage-2.3.48, Repoman-2.3.10 |
12 |
|
13 |
media-tv/tvheadend/Manifest | 1 + |
14 |
.../files/tvheadend-4.2.5-ffmpeg_3.5.patch | 115 ++++++++++++++++++++ |
15 |
.../tvheadend/files/tvheadend-4.2.5-gcc8.patch | 110 +++++++++++++++++++ |
16 |
media-tv/tvheadend/tvheadend-4.2.6.ebuild | 120 +++++++++++++++++++++ |
17 |
4 files changed, 346 insertions(+) |
18 |
|
19 |
diff --git a/media-tv/tvheadend/Manifest b/media-tv/tvheadend/Manifest |
20 |
index 37bd4a7dfce..931e594621d 100644 |
21 |
--- a/media-tv/tvheadend/Manifest |
22 |
+++ b/media-tv/tvheadend/Manifest |
23 |
@@ -1 +1,2 @@ |
24 |
DIST tvheadend-4.2.4.tar.gz 21526564 BLAKE2B 19c571bb253041bd122306eaa516071d096d747b03eaf623b45b79fc0511633a75f1a0925a890207c994da001a2ba3404d1860b91236adae34e307bcf8c57796 SHA512 333a3509da198f5d96316f30fd010a216262315614db302c83405de78d29b32b1d878c0abd7fae2214713107e6955478ee3222b18888a84c57810035af882df4 |
25 |
+DIST tvheadend-4.2.6.tar.gz 21528720 BLAKE2B 358373bc19bd4c27ddb597bb14e29e2f451d4a1efd075f40c0324d692b5fdcac0d23f2f626ba9d0ca235f7d0c91930c5bf2438d0b6537af187a9fb3fcf36c419 SHA512 6291b0ba1d9af11d5295bf6804988835e746db2d3ebbd465a22e293a1108225c8c361762b78213c881cd15d7dedd16092f28a97c9e5b38f44920848bfbaf9709 |
26 |
|
27 |
diff --git a/media-tv/tvheadend/files/tvheadend-4.2.5-ffmpeg_3.5.patch b/media-tv/tvheadend/files/tvheadend-4.2.5-ffmpeg_3.5.patch |
28 |
new file mode 100644 |
29 |
index 00000000000..eaec90eabce |
30 |
--- /dev/null |
31 |
+++ b/media-tv/tvheadend/files/tvheadend-4.2.5-ffmpeg_3.5.patch |
32 |
@@ -0,0 +1,115 @@ |
33 |
+diff -up ./src/muxer/muxer_libav.c.orig ./src/muxer/muxer_libav.c |
34 |
+--- ./src/muxer/muxer_libav.c.orig 2017-12-18 09:57:28.000000000 +0100 |
35 |
++++ ./src/muxer/muxer_libav.c 2018-01-23 14:24:07.923509542 +0100 |
36 |
+@@ -174,7 +174,7 @@ lav_muxer_add_stream(lav_muxer_t *lm, |
37 |
+ } |
38 |
+ |
39 |
+ if(lm->lm_oc->oformat->flags & AVFMT_GLOBALHEADER) |
40 |
+- c->flags |= CODEC_FLAG_GLOBAL_HEADER; |
41 |
++ c->flags |= AV_CODEC_FLAG_GLOBAL_HEADER; |
42 |
+ |
43 |
+ return 0; |
44 |
+ } |
45 |
+diff -up ./src/plumbing/transcoding.c.orig ./src/plumbing/transcoding.c |
46 |
+--- ./src/plumbing/transcoding.c.orig 2017-12-18 09:57:28.000000000 +0100 |
47 |
++++ ./src/plumbing/transcoding.c 2018-01-23 14:43:14.873964416 +0100 |
48 |
+@@ -19,7 +19,7 @@ |
49 |
+ #include <unistd.h> |
50 |
+ #include <libavformat/avformat.h> |
51 |
+ #include <libavcodec/avcodec.h> |
52 |
+-#include <libavfilter/avfiltergraph.h> |
53 |
++#include <libavfilter/avfilter.h> |
54 |
+ #include <libavfilter/buffersink.h> |
55 |
+ #include <libavfilter/buffersrc.h> |
56 |
+ #include <libavutil/opt.h> |
57 |
+@@ -574,7 +574,7 @@ transcoder_stream_audio(transcoder_t *t, |
58 |
+ octx->channels = as->aud_channels ? as->aud_channels : ictx->channels; |
59 |
+ octx->channel_layout = transcode_get_channel_layout(&octx->channels, ocodec); |
60 |
+ octx->bit_rate = as->aud_bitrate ? as->aud_bitrate : 0; |
61 |
+- octx->flags |= CODEC_FLAG_GLOBAL_HEADER; |
62 |
++ octx->flags |= AV_CODEC_FLAG_GLOBAL_HEADER; |
63 |
+ |
64 |
+ if (!octx->sample_rate) { |
65 |
+ tvherror(LS_TRANSCODE, "%04X: audio encoder has no suitable sample rate!", shortid(t)); |
66 |
+@@ -619,7 +619,7 @@ transcoder_stream_audio(transcoder_t *t, |
67 |
+ break; |
68 |
+ |
69 |
+ case SCT_AAC: |
70 |
+- octx->flags |= CODEC_FLAG_BITEXACT; |
71 |
++ octx->flags |= AV_CODEC_FLAG_BITEXACT; |
72 |
+ // use 64 kbit per channel as default |
73 |
+ if (octx->bit_rate == 0) { |
74 |
+ octx->bit_rate = octx->channels * 64000; |
75 |
+@@ -630,10 +630,10 @@ transcoder_stream_audio(transcoder_t *t, |
76 |
+ // use vbr with quality setting as default |
77 |
+ // and also use a user specified bitrate < 16 kbit as quality setting |
78 |
+ if (octx->bit_rate == 0) { |
79 |
+- octx->flags |= CODEC_FLAG_QSCALE; |
80 |
++ octx->flags |= AV_CODEC_FLAG_QSCALE; |
81 |
+ octx->global_quality = 4 * FF_QP2LAMBDA; |
82 |
+ } else if (t->t_props.tp_abitrate < 16) { |
83 |
+- octx->flags |= CODEC_FLAG_QSCALE; |
84 |
++ octx->flags |= AV_CODEC_FLAG_QSCALE; |
85 |
+ octx->global_quality = t->t_props.tp_abitrate * FF_QP2LAMBDA; |
86 |
+ octx->bit_rate = 0; |
87 |
+ } |
88 |
+@@ -1048,7 +1048,7 @@ create_video_filter(video_stream_t *vs, |
89 |
+ AVCodecContext *ictx, AVCodecContext *octx) |
90 |
+ { |
91 |
+ AVFilterInOut *flt_inputs, *flt_outputs; |
92 |
+- AVFilter *flt_bufsrc, *flt_bufsink; |
93 |
++ const AVFilter *flt_bufsrc, *flt_bufsink; |
94 |
+ enum AVPixelFormat pix_fmts[] = { 0, AV_PIX_FMT_NONE }; |
95 |
+ char opt[128]; |
96 |
+ int err; |
97 |
+@@ -1289,12 +1289,12 @@ transcoder_stream_video(transcoder_t *t, |
98 |
+ else |
99 |
+ octx->pix_fmt = AV_PIX_FMT_YUV420P; |
100 |
+ |
101 |
+- octx->flags |= CODEC_FLAG_GLOBAL_HEADER; |
102 |
++ octx->flags |= AV_CODEC_FLAG_GLOBAL_HEADER; |
103 |
+ |
104 |
+ if (t->t_props.tp_vbitrate < 64) { |
105 |
+ // encode with specified quality and optimize for low latency |
106 |
+ // valid values for quality are 2-31, smaller means better quality, use 5 as default |
107 |
+- octx->flags |= CODEC_FLAG_QSCALE; |
108 |
++ octx->flags |= AV_CODEC_FLAG_QSCALE; |
109 |
+ octx->global_quality = FF_QP2LAMBDA * |
110 |
+ (t->t_props.tp_vbitrate == 0 ? 5 : MINMAX(t->t_props.tp_vbitrate, 2, 31)); |
111 |
+ } else { |
112 |
+@@ -1340,7 +1340,7 @@ transcoder_stream_video(transcoder_t *t, |
113 |
+ else |
114 |
+ octx->pix_fmt = AV_PIX_FMT_YUV420P; |
115 |
+ |
116 |
+- octx->flags |= CODEC_FLAG_GLOBAL_HEADER; |
117 |
++ octx->flags |= AV_CODEC_FLAG_GLOBAL_HEADER; |
118 |
+ |
119 |
+ // Default = "medium". We gain more encoding speed compared to the loss of quality when lowering it _slightly_. |
120 |
+ // select preset according to system performance and codec type |
121 |
+@@ -1371,7 +1371,7 @@ transcoder_stream_video(transcoder_t *t, |
122 |
+ |
123 |
+ case SCT_HEVC: |
124 |
+ octx->pix_fmt = AV_PIX_FMT_YUV420P; |
125 |
+- octx->flags |= CODEC_FLAG_GLOBAL_HEADER; |
126 |
++ octx->flags |= AV_CODEC_FLAG_GLOBAL_HEADER; |
127 |
+ |
128 |
+ // on all hardware ultrafast (or maybe superfast) should be safe |
129 |
+ // select preset according to system performance |
130 |
+@@ -2177,7 +2177,7 @@ transcoder_get_capabilities(int experime |
131 |
+ if (!WORKING_ENCODER(p->id)) |
132 |
+ continue; |
133 |
+ |
134 |
+- if (((p->capabilities & CODEC_CAP_EXPERIMENTAL) && !experimental) || |
135 |
++ if (((p->capabilities & AV_CODEC_CAP_EXPERIMENTAL) && !experimental) || |
136 |
+ (p->capabilities & AV_CODEC_CAP_VARIABLE_FRAME_SIZE)) { |
137 |
+ continue; |
138 |
+ } |
139 |
+@@ -2192,7 +2192,7 @@ transcoder_get_capabilities(int experime |
140 |
+ htsmsg_add_str(m, "name", p->name); |
141 |
+ snprintf(buf, sizeof(buf), "%s%s", |
142 |
+ p->long_name ?: "", |
143 |
+- (p->capabilities & CODEC_CAP_EXPERIMENTAL) ? |
144 |
++ (p->capabilities & AV_CODEC_CAP_EXPERIMENTAL) ? |
145 |
+ " (Experimental)" : ""); |
146 |
+ if (buf[0] != '\0') |
147 |
+ htsmsg_add_str(m, "long_name", buf); |
148 |
|
149 |
diff --git a/media-tv/tvheadend/files/tvheadend-4.2.5-gcc8.patch b/media-tv/tvheadend/files/tvheadend-4.2.5-gcc8.patch |
150 |
new file mode 100644 |
151 |
index 00000000000..1891808e407 |
152 |
--- /dev/null |
153 |
+++ b/media-tv/tvheadend/files/tvheadend-4.2.5-gcc8.patch |
154 |
@@ -0,0 +1,110 @@ |
155 |
+diff -up ./src/dvr/dvr_rec.c.orig ./src/dvr/dvr_rec.c |
156 |
+--- ./src/dvr/dvr_rec.c.orig 2017-12-18 09:57:28.000000000 +0100 |
157 |
++++ ./src/dvr/dvr_rec.c 2018-03-08 17:15:06.479877783 +0100 |
158 |
+@@ -669,7 +669,7 @@ static int |
159 |
+ pvr_generate_filename(dvr_entry_t *de, const streaming_start_t *ss) |
160 |
+ { |
161 |
+ char filename[PATH_MAX]; |
162 |
+- char path[PATH_MAX]; |
163 |
++ char path[PATH_MAX + 1]; |
164 |
+ char ptmp[PATH_MAX]; |
165 |
+ char number[16]; |
166 |
+ char tmp[MAX(PATH_MAX, 512)]; |
167 |
+diff -up ./src/epgdb.c.orig ./src/epgdb.c |
168 |
+--- ./src/epgdb.c.orig 2017-12-18 09:57:28.000000000 +0100 |
169 |
++++ ./src/epgdb.c 2018-03-08 17:15:06.479877783 +0100 |
170 |
+@@ -470,7 +470,7 @@ static int _epg_write_sect ( sbuf_t *sb, |
171 |
+ |
172 |
+ static void epg_save_tsk_callback ( void *p, int dearmed ) |
173 |
+ { |
174 |
+- char tmppath[PATH_MAX]; |
175 |
++ char tmppath[PATH_MAX + 4]; |
176 |
+ char path[PATH_MAX]; |
177 |
+ sbuf_t *sb = p; |
178 |
+ size_t size = sb->sb_ptr, orig; |
179 |
+diff -up ./src/epggrab/module/eit.c.orig ./src/epggrab/module/eit.c |
180 |
+--- ./src/epggrab/module/eit.c.orig 2017-12-18 09:57:28.000000000 +0100 |
181 |
++++ ./src/epggrab/module/eit.c 2018-03-08 17:15:06.480877787 +0100 |
182 |
+@@ -50,8 +50,8 @@ typedef struct eit_private |
183 |
+ |
184 |
+ typedef struct eit_event |
185 |
+ { |
186 |
+- char uri[257]; |
187 |
+- char suri[257]; |
188 |
++ char uri[529]; |
189 |
++ char suri[529]; |
190 |
+ |
191 |
+ lang_str_t *title; |
192 |
+ lang_str_t *summary; |
193 |
+diff -up ./src/imagecache.c.orig ./src/imagecache.c |
194 |
+--- ./src/imagecache.c.orig 2017-12-18 09:57:28.000000000 +0100 |
195 |
++++ ./src/imagecache.c 2018-03-08 17:15:06.481877791 +0100 |
196 |
+@@ -252,7 +252,7 @@ imagecache_image_fetch ( imagecache_imag |
197 |
+ { |
198 |
+ int res = 1, r; |
199 |
+ url_t url; |
200 |
+- char tpath[PATH_MAX] = "", path[PATH_MAX]; |
201 |
++ char tpath[PATH_MAX + 4] = "", path[PATH_MAX]; |
202 |
+ tvhpoll_event_t ev; |
203 |
+ tvhpoll_t *efd = NULL; |
204 |
+ http_client_t *hc = NULL; |
205 |
+diff -up ./src/input/mpegts/dvb_psi.c.orig ./src/input/mpegts/dvb_psi.c |
206 |
+--- ./src/input/mpegts/dvb_psi.c.orig 2017-12-18 09:57:28.000000000 +0100 |
207 |
++++ ./src/input/mpegts/dvb_psi.c 2018-03-08 17:15:06.482877795 +0100 |
208 |
+@@ -678,7 +678,7 @@ static int |
209 |
+ dvb_freesat_add_service |
210 |
+ ( dvb_bat_id_t *bi, dvb_freesat_region_t *fr, mpegts_service_t *s, uint32_t lcn ) |
211 |
+ { |
212 |
+- char name[96], src[64]; |
213 |
++ char name[96], src[126]; |
214 |
+ if (!fr->bouquet) { |
215 |
+ strcpy(name, "???"); |
216 |
+ if (idnode_is_instance(&bi->mm->mm_id, &dvb_mux_dvbs_class)) |
217 |
+diff -up ./src/input/mpegts/dvb_support.c.orig ./src/input/mpegts/dvb_support.c |
218 |
+--- ./src/input/mpegts/dvb_support.c.orig 2017-12-18 09:57:28.000000000 +0100 |
219 |
++++ ./src/input/mpegts/dvb_support.c 2018-03-08 17:15:06.483877799 +0100 |
220 |
+@@ -853,7 +853,7 @@ dvb_str2val(qam); |
221 |
+ |
222 |
+ const char *dvb_bw2str(int p) |
223 |
+ { |
224 |
+- static char __thread buf[16]; |
225 |
++ static char __thread buf[17]; |
226 |
+ const char *res = dvb_common2str(p); |
227 |
+ if (res) |
228 |
+ return res; |
229 |
+diff -up ./src/input/mpegts/linuxdvb/linuxdvb_satconf.c.orig ./src/input/mpegts/linuxdvb/linuxdvb_satconf.c |
230 |
+--- ./src/input/mpegts/linuxdvb/linuxdvb_satconf.c.orig 2017-12-18 09:57:28.000000000 +0100 |
231 |
++++ ./src/input/mpegts/linuxdvb/linuxdvb_satconf.c 2018-03-08 17:15:06.484877803 +0100 |
232 |
+@@ -185,7 +185,7 @@ linuxdvb_satconf_class_orbitalpos_set |
233 |
+ linuxdvb_satconf_t *ls = p; |
234 |
+ int c = *(int*)linuxdvb_satconf_class_orbitalpos_get(p); |
235 |
+ int n = *(int*)v; |
236 |
+- char buf[20]; |
237 |
++ char buf[22]; |
238 |
+ |
239 |
+ if (n == c) |
240 |
+ return 0; |
241 |
+diff -up ./src/input/mpegts/scanfile.c.orig ./src/input/mpegts/scanfile.c |
242 |
+--- ./src/input/mpegts/scanfile.c.orig 2017-12-18 09:57:28.000000000 +0100 |
243 |
++++ ./src/input/mpegts/scanfile.c 2018-03-08 17:23:20.200963915 +0100 |
244 |
+@@ -331,7 +331,7 @@ scanfile_create_network |
245 |
+ { |
246 |
+ scanfile_region_t *reg = NULL; |
247 |
+ scanfile_network_t *net; |
248 |
+- char buf[256], buf2[256], buf3[256], *str; |
249 |
++ char buf[256], buf2[263], buf3[270], *str; |
250 |
+ int opos; |
251 |
+ |
252 |
+ /* Region */ |
253 |
+diff -up ./src/settings.c.orig ./src/settings.c |
254 |
+--- ./src/settings.c.orig 2017-12-18 09:57:28.000000000 +0100 |
255 |
++++ ./src/settings.c 2018-03-08 17:15:06.484877803 +0100 |
256 |
+@@ -129,7 +129,7 @@ void |
257 |
+ hts_settings_save(htsmsg_t *record, const char *pathfmt, ...) |
258 |
+ { |
259 |
+ char path[PATH_MAX]; |
260 |
+- char tmppath[PATH_MAX]; |
261 |
++ char tmppath[PATH_MAX + 4]; |
262 |
+ int fd; |
263 |
+ va_list ap; |
264 |
+ htsbuf_queue_t hq; |
265 |
|
266 |
diff --git a/media-tv/tvheadend/tvheadend-4.2.6.ebuild b/media-tv/tvheadend/tvheadend-4.2.6.ebuild |
267 |
new file mode 100644 |
268 |
index 00000000000..72be6b32f04 |
269 |
--- /dev/null |
270 |
+++ b/media-tv/tvheadend/tvheadend-4.2.6.ebuild |
271 |
@@ -0,0 +1,120 @@ |
272 |
+# Copyright 1999-2018 Gentoo Foundation |
273 |
+# Distributed under the terms of the GNU General Public License v2 |
274 |
+ |
275 |
+EAPI=6 |
276 |
+ |
277 |
+inherit linux-info systemd toolchain-funcs user |
278 |
+ |
279 |
+DESCRIPTION="Tvheadend is a TV streaming server and digital video recorder" |
280 |
+HOMEPAGE="https://tvheadend.org/" |
281 |
+SRC_URI="https://github.com/${PN}/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" |
282 |
+ |
283 |
+LICENSE="GPL-3" |
284 |
+SLOT="0" |
285 |
+KEYWORDS="~amd64 ~arm ~x86" |
286 |
+ |
287 |
+IUSE="+capmt +constcw +cwc dbus debug dvbcsa dvben50221 +dvb +ffmpeg hdhomerun +imagecache +inotify iptv libressl satip systemd +timeshift uriparser xmltv zeroconf zlib" |
288 |
+ |
289 |
+RDEPEND=" |
290 |
+ virtual/libiconv |
291 |
+ dbus? ( sys-apps/dbus ) |
292 |
+ dvbcsa? ( media-libs/libdvbcsa ) |
293 |
+ dvben50221? ( media-tv/linuxtv-dvb-apps ) |
294 |
+ ffmpeg? ( media-video/ffmpeg:0/55.57.57 ) |
295 |
+ hdhomerun? ( media-libs/libhdhomerun ) |
296 |
+ !libressl? ( dev-libs/openssl:= ) |
297 |
+ libressl? ( dev-libs/libressl:= ) |
298 |
+ uriparser? ( dev-libs/uriparser ) |
299 |
+ zeroconf? ( net-dns/avahi ) |
300 |
+ zlib? ( sys-libs/zlib )" |
301 |
+ |
302 |
+DEPEND=" |
303 |
+ ${RDEPEND} |
304 |
+ sys-devel/gettext |
305 |
+ virtual/pkgconfig |
306 |
+ dvb? ( virtual/linuxtv-dvb-headers )" |
307 |
+ |
308 |
+RDEPEND+=" |
309 |
+ dvb? ( media-tv/dtv-scan-tables ) |
310 |
+ xmltv? ( media-tv/xmltv )" |
311 |
+ |
312 |
+REQUIRED_USE="dvbcsa? ( || ( capmt constcw cwc dvben50221 ) )" |
313 |
+ |
314 |
+# Some patches from: |
315 |
+# https://github.com/rpmfusion/tvheadend |
316 |
+ |
317 |
+PATCHES=( |
318 |
+ "${FILESDIR}"/${PN}-4.0.9-use_system_queue.patch |
319 |
+ "${FILESDIR}"/${PN}-4.2.1-hdhomerun.patch |
320 |
+ "${FILESDIR}"/${PN}-4.2.2-dtv_scan_tables.patch |
321 |
+ "${FILESDIR}"/${PN}-4.2.5-ffmpeg_3.5.patch |
322 |
+ "${FILESDIR}"/${PN}-4.2.5-gcc8.patch |
323 |
+) |
324 |
+ |
325 |
+DOCS=( README.md ) |
326 |
+ |
327 |
+pkg_setup() { |
328 |
+ use inotify && |
329 |
+ CONFIG_CHECK="~INOTIFY_USER" linux-info_pkg_setup |
330 |
+ |
331 |
+ enewuser tvheadend -1 -1 /etc/tvheadend video |
332 |
+} |
333 |
+ |
334 |
+src_configure() { |
335 |
+ CC="$(tc-getCC)" \ |
336 |
+ PKG_CONFIG="${CHOST}-pkg-config" \ |
337 |
+ econf \ |
338 |
+ --disable-bundle \ |
339 |
+ --disable-ccache \ |
340 |
+ --disable-dvbscan \ |
341 |
+ --disable-ffmpeg_static \ |
342 |
+ --disable-hdhomerun_static \ |
343 |
+ --nowerror \ |
344 |
+ $(use_enable capmt) \ |
345 |
+ $(use_enable constcw) \ |
346 |
+ $(use_enable cwc) \ |
347 |
+ $(use_enable dbus dbus_1) \ |
348 |
+ $(use_enable debug trace) \ |
349 |
+ $(use_enable dvb linuxdvb) \ |
350 |
+ $(use_enable dvbcsa) \ |
351 |
+ $(use_enable dvben50221) \ |
352 |
+ $(use_enable ffmpeg libav) \ |
353 |
+ $(use_enable hdhomerun hdhomerun_client) \ |
354 |
+ $(use_enable imagecache) \ |
355 |
+ $(use_enable inotify) \ |
356 |
+ $(use_enable iptv) \ |
357 |
+ $(use_enable satip satip_server) \ |
358 |
+ $(use_enable satip satip_client) \ |
359 |
+ $(use_enable systemd libsystemd_daemon) \ |
360 |
+ $(use_enable timeshift) \ |
361 |
+ $(use_enable uriparser) \ |
362 |
+ $(use_enable zeroconf avahi) \ |
363 |
+ $(use_enable zlib) |
364 |
+} |
365 |
+ |
366 |
+src_compile() { |
367 |
+ emake CC="$(tc-getCC)" |
368 |
+} |
369 |
+ |
370 |
+src_install() { |
371 |
+ default |
372 |
+ |
373 |
+ newinitd "${FILESDIR}"/tvheadend.initd tvheadend |
374 |
+ newconfd "${FILESDIR}"/tvheadend.confd tvheadend |
375 |
+ |
376 |
+ use systemd && |
377 |
+ systemd_dounit "${FILESDIR}"/tvheadend.service |
378 |
+ |
379 |
+ dodir /etc/tvheadend |
380 |
+ fperms 0700 /etc/tvheadend |
381 |
+ fowners tvheadend:video /etc/tvheadend |
382 |
+} |
383 |
+ |
384 |
+pkg_postinst() { |
385 |
+ elog "The Tvheadend web interface can be reached at:" |
386 |
+ elog "http://localhost:9981/" |
387 |
+ elog |
388 |
+ elog "Make sure that you change the default username" |
389 |
+ elog "and password via the Configuration / Access control" |
390 |
+ elog "tab in the web interface." |
391 |
+} |