summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoerg Bornkessel <hd_brummy@gentoo.org>2015-02-20 09:53:56 +0000
committerJoerg Bornkessel <hd_brummy@gentoo.org>2015-02-20 09:53:56 +0000
commit1bd7ad6db7a42459afca3a925c8eb02665571208 (patch)
tree58b3b7ebf931a368410f49c3befee90b02ebdfaa /media-video/vdr/files
parentFix typo in ChangeLog. (diff)
downloadhistorical-1bd7ad6db7a42459afca3a925c8eb02665571208.tar.gz
historical-1bd7ad6db7a42459afca3a925c8eb02665571208.tar.bz2
historical-1bd7ad6db7a42459afca3a925c8eb02665571208.zip
big cleanup old
Package-Manager: portage-2.2.17/cvs/Linux x86_64 Manifest-Sign-Key: 0x34C2808A
Diffstat (limited to 'media-video/vdr/files')
-rw-r--r--media-video/vdr/files/vdr-2.0.0-fixkeeptracksinit.diff17
-rw-r--r--media-video/vdr/files/vdr-2.0.0_gentoo.patch75
-rw-r--r--media-video/vdr/files/vdr-2.0.6_systemd_argsdir.patch441
-rw-r--r--media-video/vdr/files/vdr-2.0.6_systemd_argsdir_vanilla.patch439
4 files changed, 0 insertions, 972 deletions
diff --git a/media-video/vdr/files/vdr-2.0.0-fixkeeptracksinit.diff b/media-video/vdr/files/vdr-2.0.0-fixkeeptracksinit.diff
deleted file mode 100644
index 1739ae1eac60..000000000000
--- a/media-video/vdr/files/vdr-2.0.0-fixkeeptracksinit.diff
+++ /dev/null
@@ -1,17 +0,0 @@
-the member variable keepTracks is initialized too late in the cDevice
-
---- device.c 2013/03/07 13:18:35 3.0
-+++ device.c 2013/04/05 10:05:33
-@@ -94,11 +94,11 @@
-
- player = NULL;
- isPlayingVideo = false;
-+ keepTracks = false; // used in ClrAvailableTracks()!
- ClrAvailableTracks();
- currentAudioTrack = ttNone;
- currentAudioTrackMissingCount = 0;
- currentSubtitleTrack = ttNone;
-- keepTracks = false;
- liveSubtitle = NULL;
- dvbSubtitleConverter = NULL;
- autoSelectPreferredSubtitleLanguage = true;
diff --git a/media-video/vdr/files/vdr-2.0.0_gentoo.patch b/media-video/vdr/files/vdr-2.0.0_gentoo.patch
deleted file mode 100644
index f263c8a4c311..000000000000
--- a/media-video/vdr/files/vdr-2.0.0_gentoo.patch
+++ /dev/null
@@ -1,75 +0,0 @@
-disabled compile from included plugins, we dont support this way on gentoo
-support for linguas handling
-fixed install an multicore cpu
-
-changed path to install header files in own dir vdr, libsi
-
-Signed-of-by: Joerg Bornkessel <hd_brummy@gentoo.org> (2013/03/30)
-
-diff -Naur vdr-1.7.42.orig/Makefile vdr-1.7.42/Makefile
---- vdr-1.7.42.orig/Makefile 2013-03-30 21:19:19.000000000 +0100
-+++ vdr-1.7.42/Makefile 2013-03-30 21:24:47.000000000 +0100
-@@ -109,7 +109,7 @@
- VDRVERSION = $(shell sed -ne '/define VDRVERSION/s/^.*"\(.*\)".*$$/\1/p' config.h)
- APIVERSION = $(shell sed -ne '/define APIVERSION/s/^.*"\(.*\)".*$$/\1/p' config.h)
-
--all: vdr i18n plugins
-+all: vdr i18n
-
- # Implicit rules:
-
-@@ -162,7 +162,7 @@
-
- PODIR = po
- LOCALEDIR = locale
--I18Npo = $(wildcard $(PODIR)/*.po)
-+I18Npo = $(foreach dir,$(LINGUAS),$(wildcard $(PODIR)/$(dir)*.po))
- I18Nmo = $(addsuffix .mo, $(foreach file, $(I18Npo), $(basename $(file))))
- I18Nmsgs = $(addprefix $(LOCALEDIR)/, $(addsuffix /LC_MESSAGES/vdr.mo, $(notdir $(foreach file, $(I18Npo), $(basename $(file))))))
- I18Npot = $(PODIR)/vdr.pot
-@@ -185,7 +185,7 @@
-
- install-i18n: i18n
- @mkdir -p $(DESTDIR)$(LOCDIR)
-- cp -r $(LOCALEDIR)/* $(DESTDIR)$(LOCDIR)
-+ @(cd $(LOCALEDIR); for linguas in $(LINGUAS); do [ "$$linguas" = "en" ] && continue; cp -r --parents $$linguas* $(DESTDIR)$(LOCDIR); done)
-
- # The 'include' directory (for plugins):
-
-@@ -247,7 +247,7 @@
-
- # Install the files (note that 'install-pc' must be first!):
-
--install: install-pc install-bin install-dirs install-conf install-doc install-plugins install-i18n install-includes
-+install: install-pc install-bin install-dirs install-conf install-doc install-i18n install-includes
-
- # VDR binary:
-
-@@ -259,11 +259,12 @@
-
- install-dirs:
- @mkdir -p $(DESTDIR)$(VIDEODIR)
-- @mkdir -p $(DESTDIR)$(CONFDIR)
-+# @mkdir -p $(DESTDIR)$(CONFDIR)
- @mkdir -p $(DESTDIR)$(CACHEDIR)
- @mkdir -p $(DESTDIR)$(RESDIR)
-
- install-conf:
-+ @mkdir -p $(DESTDIR)$(CONFDIR)
- @cp -pn *.conf $(DESTDIR)$(CONFDIR)
-
- # Documentation:
-@@ -290,8 +291,11 @@
- # Includes:
-
- install-includes: include-dir
-- @mkdir -p $(DESTDIR)$(INCDIR)
-- @cp -pLR include/vdr include/libsi $(DESTDIR)$(INCDIR)
-+# @mkdir -p $(DESTDIR)$(INCDIR)
-+# @cp -pLR include/vdr include/libsi $(DESTDIR)$(INCDIR)
-+ @mkdir -p $(DESTDIR)$(INCDIR)/vdr $(DESTDIR)$(INCDIR)/vdr/libsi
-+ @cp -pLR include/vdr $(DESTDIR)$(INCDIR)
-+ @cp -pLR include/libsi Make.config $(DESTDIR)$(INCDIR)/vdr
-
- # pkg-config file:
-
diff --git a/media-video/vdr/files/vdr-2.0.6_systemd_argsdir.patch b/media-video/vdr/files/vdr-2.0.6_systemd_argsdir.patch
deleted file mode 100644
index 39e7ec24f96d..000000000000
--- a/media-video/vdr/files/vdr-2.0.6_systemd_argsdir.patch
+++ /dev/null
@@ -1,441 +0,0 @@
-packport from vdr-2.1.7
-systemd support
-argsdir support
-diff -Naur vdr-2.0.6.orig/HISTORY vdr-2.0.6/HISTORY
---- vdr-2.0.6.orig/HISTORY 2015-01-20 03:24:14.000000000 +0100
-+++ vdr-2.0.6/HISTORY 2015-01-20 03:26:04.000000000 +0100
-@@ -7915,3 +7915,13 @@
- on a system with a large number of recordings.
- - The APIVERSION has been increased to 2.0.6 due to the changes to pat.h, sdt.h and
- the functional modification to cFont::CreateFont().
-+
-+2015-01-18: Version 2.0.6 + backport of systemd support from versions 2.1.6 and 2.1.7
-+
-+- Added support for systemd (thanks to Christopher Reimer). To activate this you
-+ need to add "SDNOTIFY=1" to the 'make' call.
-+
-+2015-01-18: Version 2.0.6 + backport of reading command line arguments from files, from version 2.1.7
-+
-+- VDR now reads command line options from *.conf files in /etc/vdr/conf.d (thanks
-+ to Lars Hanisch). See vdr.1 and vdr.5 for details.
-diff -Naur vdr-2.0.6.orig/Make.config.template vdr-2.0.6/Make.config.template
---- vdr-2.0.6.orig/Make.config.template 2015-01-20 03:24:14.000000000 +0100
-+++ vdr-2.0.6/Make.config.template 2015-01-20 03:26:04.000000000 +0100
-@@ -38,6 +38,7 @@
-
- #VIDEODIR = /srv/vdr/video
- #CONFDIR = /var/lib/vdr
-+#ARGSDIR = /etc/vdr/conf.d
- #CACHEDIR = /var/cache/vdr
-
- # Overrides for preset/legacy configurations:
-diff -Naur vdr-2.0.6.orig/Makefile vdr-2.0.6/Makefile
---- vdr-2.0.6.orig/Makefile 2015-01-20 03:24:14.000000000 +0100
-+++ vdr-2.0.6/Makefile 2015-01-20 03:26:04.000000000 +0100
-@@ -31,6 +31,7 @@
- DESTDIR ?=
- VIDEODIR ?= /srv/vdr/video
- CONFDIR ?= /var/lib/vdr
-+ARGSDIR ?= /etc/vdr/conf.d
- CACHEDIR ?= /var/cache/vdr
-
- PREFIX ?= /usr/local
-@@ -66,7 +67,7 @@
-
- SILIB = $(LSIDIR)/libsi.a
-
--OBJS = audio.o channels.o ci.o config.o cutter.o device.o diseqc.o dvbdevice.o dvbci.o\
-+OBJS = args.o audio.o channels.o ci.o config.o cutter.o device.o diseqc.o dvbdevice.o dvbci.o\
- dvbplayer.o dvbspu.o dvbsubtitle.o eit.o eitscan.o epg.o filter.o font.o i18n.o interface.o keys.o\
- lirc.o menu.o menuitems.o nit.o osdbase.o osd.o pat.o player.o plugin.o\
- receiver.o recorder.o recording.o remote.o remux.o ringbuffer.o sdt.o sections.o shutdown.o\
-@@ -111,12 +112,18 @@
- DEFINES += -DBIDI
- LIBS += $(shell pkg-config --libs fribidi)
- endif
-+ifdef SDNOTIFY
-+INCLUDES += $(shell pkg-config --cflags libsystemd-daemon)
-+DEFINES += -DSDNOTIFY
-+LIBS += $(shell pkg-config --libs libsystemd-daemon)
-+endif
-
- LIRC_DEVICE ?= /var/run/lirc/lircd
-
- DEFINES += -DLIRC_DEVICE=\"$(LIRC_DEVICE)\"
- DEFINES += -DVIDEODIR=\"$(VIDEODIR)\"
- DEFINES += -DCONFDIR=\"$(CONFDIR)\"
-+DEFINES += -DARGSDIR=\"$(ARGSDIR)\"
- DEFINES += -DCACHEDIR=\"$(CACHEDIR)\"
- DEFINES += -DRESDIR=\"$(RESDIR)\"
- DEFINES += -DPLUGINDIR=\"$(LIBDIR)\"
-@@ -161,6 +168,8 @@
- @echo "mandir=$(MANDIR)" >> $@
- @echo "configdir=$(CONFDIR)" >> $@
- @echo "videodir=$(VIDEODIR)" >> $@
-+# @echo "configdir=$(CONFDIR)" >> $@
-+ @echo "argsdir=$(ARGSDIR)" >> $@
- @echo "cachedir=$(CACHEDIR)" >> $@
- @echo "resdir=$(RESDIR)" >> $@
- @echo "libdir=$(LIBDIR)" >> $@
-@@ -278,6 +287,7 @@
- install-dirs:
- @mkdir -p $(DESTDIR)$(VIDEODIR)
- # @mkdir -p $(DESTDIR)$(CONFDIR)
-+ @mkdir -p $(DESTDIR)$(ARGSDIR)
- # @mkdir -p $(DESTDIR)$(CACHEDIR)
- @mkdir -p $(DESTDIR)$(RESDIR)
-
-diff -Naur vdr-2.0.6.orig/Makefile.orig vdr-2.0.6/Makefile.orig
-diff -Naur vdr-2.0.6.orig/args.c vdr-2.0.6/args.c
---- vdr-2.0.6.orig/args.c 1970-01-01 01:00:00.000000000 +0100
-+++ vdr-2.0.6/args.c 2015-01-20 03:26:04.000000000 +0100
-@@ -0,0 +1,129 @@
-+/*
-+ * args.c: Read arguments from files
-+ *
-+ * See the main source file 'vdr.c' for copyright information and
-+ * how to reach the author.
-+ *
-+ * Original version written by Lars Hanisch <dvb@flensrocker.de>.
-+ *
-+ * $Id: vdr-2.0.6_systemd_argsdir.patch,v 1.1 2015/01/20 03:19:46 hd_brummy Exp $
-+ */
-+
-+#include "args.h"
-+#include <unistd.h>
-+
-+cArgs::cArgs(const char *Argv0)
-+{
-+ argv0 = Argv0;
-+ argc = 0;
-+ argv = NULL;
-+}
-+
-+cArgs::~cArgs(void)
-+{
-+ if (argv != NULL)
-+ delete [] argv;
-+}
-+
-+bool cArgs::AddArg(const char *s)
-+{
-+ if (inVdrSection)
-+ args.Append(strdup(s));
-+ else if (*lastArg == NULL)
-+ return false;
-+ else
-+ lastArg = cString::sprintf("%s %s", *lastArg, s);
-+ return true;
-+}
-+
-+bool cArgs::ReadDirectory(const char *Directory)
-+{
-+ if (argv != NULL)
-+ delete [] argv;
-+ argc = 0;
-+ argv = NULL;
-+ args.Clear();
-+ lastArg = NULL;
-+ inVdrSection = false;
-+ cFileNameList files(Directory, false);
-+ if (files.Size() == 0)
-+ return false;
-+ for (int i = 0; i < files.Size(); i++) {
-+ const char *fileName = files.At(i);
-+ if (startswith(fileName, ".") || !endswith(fileName, ".conf"))
-+ continue;
-+ cString fullFileName = AddDirectory(Directory, fileName);
-+ struct stat fs;
-+ if ((access(*fullFileName, F_OK) != 0) || (stat(*fullFileName, &fs) != 0) || S_ISDIR(fs.st_mode))
-+ continue;
-+ bool ok = true;
-+ int line = 0;
-+ FILE *f = fopen(*fullFileName, "r");
-+ if (f) {
-+ char *s;
-+ cReadLine ReadLine;
-+ while ((s = ReadLine.Read(f)) != NULL) {
-+ line++;
-+ s = stripspace(skipspace(s));
-+ if (!isempty(s) && (s[0] != '#')) {
-+ if (startswith(s, "[") && endswith(s, "]")) {
-+ s[strlen(s) - 1] = 0;
-+ s++;
-+ if (*lastArg) {
-+ args.Append(strdup(*lastArg));
-+ lastArg = NULL;
-+ }
-+ if (strcmp(s, "vdr") == 0)
-+ inVdrSection = true;
-+ else {
-+ inVdrSection = false;
-+ lastArg = cString::sprintf("--plugin=%s", s);
-+ }
-+ }
-+ else {
-+ if ((strlen(s) > 2) && (s[0] == '-') && (s[1] != '-')) { // short option, split at first space
-+ char *p = strchr(s, ' ');
-+ if (p == NULL) {
-+ ok = AddArg(s);
-+ if (!ok)
-+ break;
-+ }
-+ else {
-+ *p = 0;
-+ p++;
-+ ok = AddArg(s);
-+ if (!ok)
-+ break;
-+ ok = AddArg(p);
-+ if (!ok)
-+ break;
-+ }
-+ }
-+ else {
-+ ok = AddArg(s);
-+ if (!ok)
-+ break;
-+ }
-+ }
-+ }
-+ }
-+ fclose(f);
-+ }
-+ if (!ok) {
-+ esyslog("ERROR: args file %s, line %d", *fullFileName, line);
-+ return false;
-+ }
-+ }
-+ if (*lastArg) {
-+ args.Append(strdup(*lastArg));
-+ lastArg = NULL;
-+ }
-+ argv = new char*[args.Size() + 1];
-+ argv[0] = strdup(*argv0);
-+ argc = 1;
-+ for (int i = 0; i < args.Size(); i++) {
-+ argv[argc] = args.At(i);
-+ argc++;
-+ }
-+ return true;
-+}
-diff -Naur vdr-2.0.6.orig/args.h vdr-2.0.6/args.h
---- vdr-2.0.6.orig/args.h 1970-01-01 01:00:00.000000000 +0100
-+++ vdr-2.0.6/args.h 2015-01-20 03:26:04.000000000 +0100
-@@ -0,0 +1,34 @@
-+/*
-+ * args.h: Read arguments from files
-+ *
-+ * See the main source file 'vdr.c' for copyright information and
-+ * how to reach the author.
-+ *
-+ * Original version written by Lars Hanisch <dvb@flensrocker.de>.
-+ *
-+ * $Id: vdr-2.0.6_systemd_argsdir.patch,v 1.1 2015/01/20 03:19:46 hd_brummy Exp $
-+ */
-+
-+#ifndef __ARGS_H
-+#define __ARGS_H
-+
-+#include "tools.h"
-+
-+class cArgs {
-+private:
-+ cString argv0;
-+ cStringList args;
-+ cString lastArg;
-+ bool inVdrSection;
-+ int argc;
-+ char **argv;
-+ bool AddArg(const char *s);
-+public:
-+ cArgs(const char *Argv0);
-+ ~cArgs(void);
-+ bool ReadDirectory(const char *Directory);
-+ int GetArgc(void) const { return argc; };
-+ char **GetArgv(void) const { return argv; };
-+ };
-+
-+#endif //__ARGS_H
-diff -Naur vdr-2.0.6.orig/interface.c vdr-2.0.6/interface.c
---- vdr-2.0.6.orig/interface.c 2015-01-20 03:24:14.000000000 +0100
-+++ vdr-2.0.6/interface.c 2015-01-20 03:25:53.000000000 +0100
-@@ -10,6 +10,9 @@
- #include "interface.h"
- #include <ctype.h>
- #include <stdlib.h>
-+#ifdef SDNOTIFY
-+#include <systemd/sd-daemon.h>
-+#endif
- #include <unistd.h>
- #include "i18n.h"
- #include "status.h"
-@@ -159,6 +162,9 @@
- bool known = Keys.KnowsRemote(Remote->Name());
- dsyslog("remote control %s - %s", Remote->Name(), known ? "keys known" : "learning keys");
- if (!known) {
-+#ifdef SDNOTIFY
-+ sd_notify(0, "READY=1\nSTATUS=Learning keys...");
-+#endif
- cSkinDisplayMenu *DisplayMenu = Skins.Current()->DisplayMenu();
- DisplayMenu->SetMenuCategory(mcUnknown);
- char Headline[256];
-diff -Naur vdr-2.0.6.orig/vdr.1 vdr-2.0.6/vdr.1
---- vdr-2.0.6.orig/vdr.1 2015-01-20 03:24:14.000000000 +0100
-+++ vdr-2.0.6/vdr.1 2015-01-20 03:26:04.000000000 +0100
-@@ -178,6 +178,10 @@
- Read resource files from \fIdir\fR
- (default is to read them from the config directory).
- .TP
-+.BI \-\-showargs[= dir ]
-+Read command line arguments from \fIdir\fR (default is \fI/etc/vdr/conf.d\fR),
-+display them to the console and exit.
-+.TP
- .BI \-s\ cmd ,\ \-\-shutdown= cmd
- Call \fIcmd\fR to shutdown the computer. See the file \fIINSTALL\fR for more
- information.
-@@ -213,6 +217,10 @@
- .BI \-w\ sec ,\ \-\-watchdog= sec
- Activate the watchdog timer with a timeout of \fIsec\fR seconds.
- A value of \fB0\fR (default) disables the watchdog.
-+.P
-+If started without any options, vdr tries to read command line options
-+from files named '*.conf' in the directory /etc/vdr/conf.d. Files are
-+read in alphabetical order. See vdr(5) for details.
- .SH SIGNALS
- .TP
- .B SIGINT, SIGTERM
-diff -Naur vdr-2.0.6.orig/vdr.5 vdr-2.0.6/vdr.5
---- vdr-2.0.6.orig/vdr.5 2015-01-20 03:24:14.000000000 +0100
-+++ vdr-2.0.6/vdr.5 2015-01-20 03:26:04.000000000 +0100
-@@ -895,6 +895,33 @@
- just 16 bit wide. The internal representation in VDR allows for 32 bit to
- be used, so that external tools can generate EPG data that is guaranteed
- not to collide with the ids of existing data.
-+.SS COMMANDLINE OPTIONS
-+If started without any options, vdr tries to read any files in the directory
-+/etc/vdr/conf.d with names that do not begin with a '.' and that end with '.conf'.
-+These files are read in alphabetical order. The format of these files is
-+
-+# comment
-+.br
-+[name]
-+.br
-+-a
-+.br
-+-b 123
-+.br
-+--long
-+.br
-+--longarg=123
-+.br
-+
-+Any lines that begin with '#' as the first non-whitespace character are considered
-+comments and are ignored.
-+A command line option file consists of one or more sections, indicated by '[name]',
-+where 'name' is either the fixed word 'vdr' (if this section contains options for
-+the main VDR program) or the name of the plugin this section applies to.
-+Each option must be written on a separate line, including the leading '-' (for
-+a short option) or '--' (for a long option). If the option has additional arguments,
-+they have to be written on the same line as the option itself, separated from the
-+option with a blank (short option) or equal sign (long option).
- .SH SEE ALSO
- .BR vdr (1)
- .SH AUTHOR
-diff -Naur vdr-2.0.6.orig/vdr.c vdr-2.0.6/vdr.c
---- vdr-2.0.6.orig/vdr.c 2015-01-20 03:24:14.000000000 +0100
-+++ vdr-2.0.6/vdr.c 2015-01-20 03:26:04.000000000 +0100
-@@ -34,8 +34,12 @@
- #include <stdlib.h>
- #include <sys/capability.h>
- #include <sys/prctl.h>
-+#ifdef SDNOTIFY
-+#include <systemd/sd-daemon.h>
-+#endif
- #include <termios.h>
- #include <unistd.h>
-+#include "args.h"
- #include "audio.h"
- #include "channels.h"
- #include "config.h"
-@@ -192,6 +196,7 @@
- #define DEFAULTWATCHDOG 0 // seconds
- #define DEFAULTVIDEODIR VIDEODIR
- #define DEFAULTCONFDIR dd(CONFDIR, VideoDirectory)
-+#define DEFAULTARGSDIR dd(ARGSDIR, "/etc/vdr/conf.d")
- #define DEFAULTCACHEDIR dd(CACHEDIR, VideoDirectory)
- #define DEFAULTRESDIR dd(RESDIR, ConfigDirectory)
- #define DEFAULTPLUGINDIR PLUGINDIR
-@@ -229,6 +234,15 @@
- VdrUser = VDR_USER;
- #endif
-
-+ cArgs *Args = NULL;
-+ if (argc == 1) {
-+ Args = new cArgs(argv[0]);
-+ if (Args->ReadDirectory(DEFAULTARGSDIR)) {
-+ argc = Args->GetArgc();
-+ argv = Args->GetArgv();
-+ }
-+ }
-+
- SetVideoDirectory(VideoDirectory);
- cPluginManager PluginManager(DEFAULTPLUGINDIR);
-
-@@ -256,6 +270,7 @@
- { "port", required_argument, NULL, 'p' },
- { "record", required_argument, NULL, 'r' },
- { "resdir", required_argument, NULL, 'r' | 0x100 },
-+ { "showargs", optional_argument, NULL, 's' | 0x200 },
- { "shutdown", required_argument, NULL, 's' },
- { "split", no_argument, NULL, 's' | 0x100 },
- { "terminal", required_argument, NULL, 't' },
-@@ -428,6 +443,19 @@
- case 's' | 0x100:
- Setup.SplitEditedFiles = 1;
- break;
-+ case 's' | 0x200: {
-+ const char *ArgsDir = optarg ? optarg : DEFAULTARGSDIR;
-+ cArgs Args(argv[0]);
-+ if (!Args.ReadDirectory(ArgsDir)) {
-+ fprintf(stderr, "vdr: can't read arguments from directory: %s\n", ArgsDir);
-+ return 2;
-+ }
-+ int c = Args.GetArgc();
-+ char **v = Args.GetArgv();
-+ for (int i = 1; i < c; i++)
-+ printf("%s\n", v[i]);
-+ return 0;
-+ }
- case 't': Terminal = optarg;
- if (access(Terminal, R_OK | W_OK) < 0) {
- fprintf(stderr, "vdr: can't access terminal: %s\n", Terminal);
-@@ -541,6 +569,8 @@
- " -s CMD, --shutdown=CMD call CMD to shutdown the computer\n"
- " --split split edited files at the editing marks (only\n"
- " useful in conjunction with --edit)\n"
-+ " --showargs[=DIR] print the arguments read from DIR and exit\n"
-+ " (default: %s)\n"
- " -t TTY, --terminal=TTY controlling tty\n"
- " -u USER, --user=USER run as user USER; only applicable if started as\n"
- " root\n"
-@@ -563,6 +593,7 @@
- DEFAULTLOCDIR,
- DEFAULTSVDRPPORT,
- DEFAULTRESDIR,
-+ DEFAULTARGSDIR,
- DEFAULTVIDEODIR,
- DEFAULTWATCHDOG
- );
-@@ -848,6 +879,10 @@
- alarm(WatchdogTimeout); // Initial watchdog timer start
- }
-
-+#ifdef SDNOTIFY
-+ sd_notify(0, "READY=1\nSTATUS=Ready");
-+#endif
-+
- // Main program loop:
-
- #define DELETE_MENU ((IsInfoMenu &= (Menu == NULL)), delete Menu, Menu = NULL)
-diff -Naur vdr-2.0.6.orig/vdr.c.orig vdr-2.0.6/vdr.c.orig
diff --git a/media-video/vdr/files/vdr-2.0.6_systemd_argsdir_vanilla.patch b/media-video/vdr/files/vdr-2.0.6_systemd_argsdir_vanilla.patch
deleted file mode 100644
index 81ce17b779e0..000000000000
--- a/media-video/vdr/files/vdr-2.0.6_systemd_argsdir_vanilla.patch
+++ /dev/null
@@ -1,439 +0,0 @@
-backported from vdr-2.1.7
-systemd support
-argsdir support
-diff -Naur vdr-2.0.6.orig/HISTORY vdr-2.0.6/HISTORY
---- vdr-2.0.6.orig/HISTORY 2014-10-01 16:30:32.000000000 +0200
-+++ vdr-2.0.6/HISTORY 2015-01-20 03:06:42.000000000 +0100
-@@ -7915,3 +7915,13 @@
- on a system with a large number of recordings.
- - The APIVERSION has been increased to 2.0.6 due to the changes to pat.h, sdt.h and
- the functional modification to cFont::CreateFont().
-+
-+2015-01-18: Version 2.0.6 + backport of systemd support from versions 2.1.6 and 2.1.7
-+
-+- Added support for systemd (thanks to Christopher Reimer). To activate this you
-+ need to add "SDNOTIFY=1" to the 'make' call.
-+
-+2015-01-18: Version 2.0.6 + backport of reading command line arguments from files, from version 2.1.7
-+
-+- VDR now reads command line options from *.conf files in /etc/vdr/conf.d (thanks
-+ to Lars Hanisch). See vdr.1 and vdr.5 for details.
-diff -Naur vdr-2.0.6.orig/Make.config.template vdr-2.0.6/Make.config.template
---- vdr-2.0.6.orig/Make.config.template 2014-10-01 16:30:32.000000000 +0200
-+++ vdr-2.0.6/Make.config.template 2015-01-20 03:06:42.000000000 +0100
-@@ -38,6 +38,7 @@
-
- #VIDEODIR = /srv/vdr/video
- #CONFDIR = /var/lib/vdr
-+#ARGSDIR = /etc/vdr/conf.d
- #CACHEDIR = /var/cache/vdr
-
- # Overrides for preset/legacy configurations:
-diff -Naur vdr-2.0.6.orig/Makefile vdr-2.0.6/Makefile
---- vdr-2.0.6.orig/Makefile 2015-01-20 02:55:00.000000000 +0100
-+++ vdr-2.0.6/Makefile 2015-01-20 03:12:57.000000000 +0100
-@@ -31,6 +31,7 @@
- DESTDIR ?=
- VIDEODIR ?= /srv/vdr/video
- CONFDIR ?= /var/lib/vdr
-+ARGSDIR ?= /etc/vdr/conf.d
- CACHEDIR ?= /var/cache/vdr
-
- PREFIX ?= /usr/local
-@@ -66,7 +67,7 @@
-
- SILIB = $(LSIDIR)/libsi.a
-
--OBJS = audio.o channels.o ci.o config.o cutter.o device.o diseqc.o dvbdevice.o dvbci.o\
-+OBJS = args.o audio.o channels.o ci.o config.o cutter.o device.o diseqc.o dvbdevice.o dvbci.o\
- dvbplayer.o dvbspu.o dvbsubtitle.o eit.o eitscan.o epg.o filter.o font.o i18n.o interface.o keys.o\
- lirc.o menu.o menuitems.o nit.o osdbase.o osd.o pat.o player.o plugin.o\
- receiver.o recorder.o recording.o remote.o remux.o ringbuffer.o sdt.o sections.o shutdown.o\
-@@ -93,12 +94,18 @@
- DEFINES += -DBIDI
- LIBS += $(shell pkg-config --libs fribidi)
- endif
-+ifdef SDNOTIFY
-+INCLUDES += $(shell pkg-config --cflags libsystemd-daemon)
-+DEFINES += -DSDNOTIFY
-+LIBS += $(shell pkg-config --libs libsystemd-daemon)
-+endif
-
- LIRC_DEVICE ?= /var/run/lirc/lircd
-
- DEFINES += -DLIRC_DEVICE=\"$(LIRC_DEVICE)\"
- DEFINES += -DVIDEODIR=\"$(VIDEODIR)\"
- DEFINES += -DCONFDIR=\"$(CONFDIR)\"
-+DEFINES += -DARGSDIR=\"$(ARGSDIR)\"
- DEFINES += -DCACHEDIR=\"$(CACHEDIR)\"
- DEFINES += -DRESDIR=\"$(RESDIR)\"
- DEFINES += -DPLUGINDIR=\"$(LIBDIR)\"
-@@ -143,6 +150,8 @@
- @echo "mandir=$(MANDIR)" >> $@
- @echo "configdir=$(CONFDIR)" >> $@
- @echo "videodir=$(VIDEODIR)" >> $@
-+# @echo "configdir=$(CONFDIR)" >> $@
-+ @echo "argsdir=$(ARGSDIR)" >> $@
- @echo "cachedir=$(CACHEDIR)" >> $@
- @echo "resdir=$(RESDIR)" >> $@
- @echo "libdir=$(LIBDIR)" >> $@
-@@ -260,6 +269,7 @@
- install-dirs:
- @mkdir -p $(DESTDIR)$(VIDEODIR)
- # @mkdir -p $(DESTDIR)$(CONFDIR)
-+ @mkdir -p $(DESTDIR)$(ARGSDIR)
- # @mkdir -p $(DESTDIR)$(CACHEDIR)
- @mkdir -p $(DESTDIR)$(RESDIR)
-
-diff -Naur vdr-2.0.6.orig/args.c vdr-2.0.6/args.c
---- vdr-2.0.6.orig/args.c 1970-01-01 01:00:00.000000000 +0100
-+++ vdr-2.0.6/args.c 2015-01-20 03:06:42.000000000 +0100
-@@ -0,0 +1,129 @@
-+/*
-+ * args.c: Read arguments from files
-+ *
-+ * See the main source file 'vdr.c' for copyright information and
-+ * how to reach the author.
-+ *
-+ * Original version written by Lars Hanisch <dvb@flensrocker.de>.
-+ *
-+ * $Id: vdr-2.0.6_systemd_argsdir_vanilla.patch,v 1.1 2015/01/20 03:19:46 hd_brummy Exp $
-+ */
-+
-+#include "args.h"
-+#include <unistd.h>
-+
-+cArgs::cArgs(const char *Argv0)
-+{
-+ argv0 = Argv0;
-+ argc = 0;
-+ argv = NULL;
-+}
-+
-+cArgs::~cArgs(void)
-+{
-+ if (argv != NULL)
-+ delete [] argv;
-+}
-+
-+bool cArgs::AddArg(const char *s)
-+{
-+ if (inVdrSection)
-+ args.Append(strdup(s));
-+ else if (*lastArg == NULL)
-+ return false;
-+ else
-+ lastArg = cString::sprintf("%s %s", *lastArg, s);
-+ return true;
-+}
-+
-+bool cArgs::ReadDirectory(const char *Directory)
-+{
-+ if (argv != NULL)
-+ delete [] argv;
-+ argc = 0;
-+ argv = NULL;
-+ args.Clear();
-+ lastArg = NULL;
-+ inVdrSection = false;
-+ cFileNameList files(Directory, false);
-+ if (files.Size() == 0)
-+ return false;
-+ for (int i = 0; i < files.Size(); i++) {
-+ const char *fileName = files.At(i);
-+ if (startswith(fileName, ".") || !endswith(fileName, ".conf"))
-+ continue;
-+ cString fullFileName = AddDirectory(Directory, fileName);
-+ struct stat fs;
-+ if ((access(*fullFileName, F_OK) != 0) || (stat(*fullFileName, &fs) != 0) || S_ISDIR(fs.st_mode))
-+ continue;
-+ bool ok = true;
-+ int line = 0;
-+ FILE *f = fopen(*fullFileName, "r");
-+ if (f) {
-+ char *s;
-+ cReadLine ReadLine;
-+ while ((s = ReadLine.Read(f)) != NULL) {
-+ line++;
-+ s = stripspace(skipspace(s));
-+ if (!isempty(s) && (s[0] != '#')) {
-+ if (startswith(s, "[") && endswith(s, "]")) {
-+ s[strlen(s) - 1] = 0;
-+ s++;
-+ if (*lastArg) {
-+ args.Append(strdup(*lastArg));
-+ lastArg = NULL;
-+ }
-+ if (strcmp(s, "vdr") == 0)
-+ inVdrSection = true;
-+ else {
-+ inVdrSection = false;
-+ lastArg = cString::sprintf("--plugin=%s", s);
-+ }
-+ }
-+ else {
-+ if ((strlen(s) > 2) && (s[0] == '-') && (s[1] != '-')) { // short option, split at first space
-+ char *p = strchr(s, ' ');
-+ if (p == NULL) {
-+ ok = AddArg(s);
-+ if (!ok)
-+ break;
-+ }
-+ else {
-+ *p = 0;
-+ p++;
-+ ok = AddArg(s);
-+ if (!ok)
-+ break;
-+ ok = AddArg(p);
-+ if (!ok)
-+ break;
-+ }
-+ }
-+ else {
-+ ok = AddArg(s);
-+ if (!ok)
-+ break;
-+ }
-+ }
-+ }
-+ }
-+ fclose(f);
-+ }
-+ if (!ok) {
-+ esyslog("ERROR: args file %s, line %d", *fullFileName, line);
-+ return false;
-+ }
-+ }
-+ if (*lastArg) {
-+ args.Append(strdup(*lastArg));
-+ lastArg = NULL;
-+ }
-+ argv = new char*[args.Size() + 1];
-+ argv[0] = strdup(*argv0);
-+ argc = 1;
-+ for (int i = 0; i < args.Size(); i++) {
-+ argv[argc] = args.At(i);
-+ argc++;
-+ }
-+ return true;
-+}
-diff -Naur vdr-2.0.6.orig/args.h vdr-2.0.6/args.h
---- vdr-2.0.6.orig/args.h 1970-01-01 01:00:00.000000000 +0100
-+++ vdr-2.0.6/args.h 2015-01-20 03:06:42.000000000 +0100
-@@ -0,0 +1,34 @@
-+/*
-+ * args.h: Read arguments from files
-+ *
-+ * See the main source file 'vdr.c' for copyright information and
-+ * how to reach the author.
-+ *
-+ * Original version written by Lars Hanisch <dvb@flensrocker.de>.
-+ *
-+ * $Id: vdr-2.0.6_systemd_argsdir_vanilla.patch,v 1.1 2015/01/20 03:19:46 hd_brummy Exp $
-+ */
-+
-+#ifndef __ARGS_H
-+#define __ARGS_H
-+
-+#include "tools.h"
-+
-+class cArgs {
-+private:
-+ cString argv0;
-+ cStringList args;
-+ cString lastArg;
-+ bool inVdrSection;
-+ int argc;
-+ char **argv;
-+ bool AddArg(const char *s);
-+public:
-+ cArgs(const char *Argv0);
-+ ~cArgs(void);
-+ bool ReadDirectory(const char *Directory);
-+ int GetArgc(void) const { return argc; };
-+ char **GetArgv(void) const { return argv; };
-+ };
-+
-+#endif //__ARGS_H
-diff -Naur vdr-2.0.6.orig/interface.c vdr-2.0.6/interface.c
---- vdr-2.0.6.orig/interface.c 2014-10-01 16:30:32.000000000 +0200
-+++ vdr-2.0.6/interface.c 2015-01-20 03:03:40.000000000 +0100
-@@ -10,6 +10,9 @@
- #include "interface.h"
- #include <ctype.h>
- #include <stdlib.h>
-+#ifdef SDNOTIFY
-+#include <systemd/sd-daemon.h>
-+#endif
- #include <unistd.h>
- #include "i18n.h"
- #include "status.h"
-@@ -159,6 +162,9 @@
- bool known = Keys.KnowsRemote(Remote->Name());
- dsyslog("remote control %s - %s", Remote->Name(), known ? "keys known" : "learning keys");
- if (!known) {
-+#ifdef SDNOTIFY
-+ sd_notify(0, "READY=1\nSTATUS=Learning keys...");
-+#endif
- cSkinDisplayMenu *DisplayMenu = Skins.Current()->DisplayMenu();
- DisplayMenu->SetMenuCategory(mcUnknown);
- char Headline[256];
-diff -Naur vdr-2.0.6.orig/vdr.1 vdr-2.0.6/vdr.1
---- vdr-2.0.6.orig/vdr.1 2014-10-01 16:30:32.000000000 +0200
-+++ vdr-2.0.6/vdr.1 2015-01-20 03:06:42.000000000 +0100
-@@ -178,6 +178,10 @@
- Read resource files from \fIdir\fR
- (default is to read them from the config directory).
- .TP
-+.BI \-\-showargs[= dir ]
-+Read command line arguments from \fIdir\fR (default is \fI/etc/vdr/conf.d\fR),
-+display them to the console and exit.
-+.TP
- .BI \-s\ cmd ,\ \-\-shutdown= cmd
- Call \fIcmd\fR to shutdown the computer. See the file \fIINSTALL\fR for more
- information.
-@@ -213,6 +217,10 @@
- .BI \-w\ sec ,\ \-\-watchdog= sec
- Activate the watchdog timer with a timeout of \fIsec\fR seconds.
- A value of \fB0\fR (default) disables the watchdog.
-+.P
-+If started without any options, vdr tries to read command line options
-+from files named '*.conf' in the directory /etc/vdr/conf.d. Files are
-+read in alphabetical order. See vdr(5) for details.
- .SH SIGNALS
- .TP
- .B SIGINT, SIGTERM
-diff -Naur vdr-2.0.6.orig/vdr.5 vdr-2.0.6/vdr.5
---- vdr-2.0.6.orig/vdr.5 2014-10-01 16:30:32.000000000 +0200
-+++ vdr-2.0.6/vdr.5 2015-01-20 03:06:42.000000000 +0100
-@@ -889,6 +889,33 @@
- just 16 bit wide. The internal representation in VDR allows for 32 bit to
- be used, so that external tools can generate EPG data that is guaranteed
- not to collide with the ids of existing data.
-+.SS COMMANDLINE OPTIONS
-+If started without any options, vdr tries to read any files in the directory
-+/etc/vdr/conf.d with names that do not begin with a '.' and that end with '.conf'.
-+These files are read in alphabetical order. The format of these files is
-+
-+# comment
-+.br
-+[name]
-+.br
-+-a
-+.br
-+-b 123
-+.br
-+--long
-+.br
-+--longarg=123
-+.br
-+
-+Any lines that begin with '#' as the first non-whitespace character are considered
-+comments and are ignored.
-+A command line option file consists of one or more sections, indicated by '[name]',
-+where 'name' is either the fixed word 'vdr' (if this section contains options for
-+the main VDR program) or the name of the plugin this section applies to.
-+Each option must be written on a separate line, including the leading '-' (for
-+a short option) or '--' (for a long option). If the option has additional arguments,
-+they have to be written on the same line as the option itself, separated from the
-+option with a blank (short option) or equal sign (long option).
- .SH SEE ALSO
- .BR vdr (1)
- .SH AUTHOR
-diff -Naur vdr-2.0.6.orig/vdr.c vdr-2.0.6/vdr.c
---- vdr-2.0.6.orig/vdr.c 2014-10-01 16:30:32.000000000 +0200
-+++ vdr-2.0.6/vdr.c 2015-01-20 03:06:42.000000000 +0100
-@@ -34,8 +34,12 @@
- #include <stdlib.h>
- #include <sys/capability.h>
- #include <sys/prctl.h>
-+#ifdef SDNOTIFY
-+#include <systemd/sd-daemon.h>
-+#endif
- #include <termios.h>
- #include <unistd.h>
-+#include "args.h"
- #include "audio.h"
- #include "channels.h"
- #include "config.h"
-@@ -186,6 +190,7 @@
- #define DEFAULTWATCHDOG 0 // seconds
- #define DEFAULTVIDEODIR VIDEODIR
- #define DEFAULTCONFDIR dd(CONFDIR, VideoDirectory)
-+#define DEFAULTARGSDIR dd(ARGSDIR, "/etc/vdr/conf.d")
- #define DEFAULTCACHEDIR dd(CACHEDIR, VideoDirectory)
- #define DEFAULTRESDIR dd(RESDIR, ConfigDirectory)
- #define DEFAULTPLUGINDIR PLUGINDIR
-@@ -223,6 +228,15 @@
- VdrUser = VDR_USER;
- #endif
-
-+ cArgs *Args = NULL;
-+ if (argc == 1) {
-+ Args = new cArgs(argv[0]);
-+ if (Args->ReadDirectory(DEFAULTARGSDIR)) {
-+ argc = Args->GetArgc();
-+ argv = Args->GetArgv();
-+ }
-+ }
-+
- SetVideoDirectory(VideoDirectory);
- cPluginManager PluginManager(DEFAULTPLUGINDIR);
-
-@@ -250,6 +264,7 @@
- { "port", required_argument, NULL, 'p' },
- { "record", required_argument, NULL, 'r' },
- { "resdir", required_argument, NULL, 'r' | 0x100 },
-+ { "showargs", optional_argument, NULL, 's' | 0x200 },
- { "shutdown", required_argument, NULL, 's' },
- { "split", no_argument, NULL, 's' | 0x100 },
- { "terminal", required_argument, NULL, 't' },
-@@ -422,6 +437,19 @@
- case 's' | 0x100:
- Setup.SplitEditedFiles = 1;
- break;
-+ case 's' | 0x200: {
-+ const char *ArgsDir = optarg ? optarg : DEFAULTARGSDIR;
-+ cArgs Args(argv[0]);
-+ if (!Args.ReadDirectory(ArgsDir)) {
-+ fprintf(stderr, "vdr: can't read arguments from directory: %s\n", ArgsDir);
-+ return 2;
-+ }
-+ int c = Args.GetArgc();
-+ char **v = Args.GetArgv();
-+ for (int i = 1; i < c; i++)
-+ printf("%s\n", v[i]);
-+ return 0;
-+ }
- case 't': Terminal = optarg;
- if (access(Terminal, R_OK | W_OK) < 0) {
- fprintf(stderr, "vdr: can't access terminal: %s\n", Terminal);
-@@ -535,6 +563,8 @@
- " -s CMD, --shutdown=CMD call CMD to shutdown the computer\n"
- " --split split edited files at the editing marks (only\n"
- " useful in conjunction with --edit)\n"
-+ " --showargs[=DIR] print the arguments read from DIR and exit\n"
-+ " (default: %s)\n"
- " -t TTY, --terminal=TTY controlling tty\n"
- " -u USER, --user=USER run as user USER; only applicable if started as\n"
- " root\n"
-@@ -557,6 +587,7 @@
- DEFAULTLOCDIR,
- DEFAULTSVDRPPORT,
- DEFAULTRESDIR,
-+ DEFAULTARGSDIR,
- DEFAULTVIDEODIR,
- DEFAULTWATCHDOG
- );
-@@ -837,6 +868,10 @@
- alarm(WatchdogTimeout); // Initial watchdog timer start
- }
-
-+#ifdef SDNOTIFY
-+ sd_notify(0, "READY=1\nSTATUS=Ready");
-+#endif
-+
- // Main program loop:
-
- #define DELETE_MENU ((IsInfoMenu &= (Menu == NULL)), delete Menu, Menu = NULL)