summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthias Schwarzott <zzam@gentoo.org>2006-12-03 14:47:44 +0000
committerMatthias Schwarzott <zzam@gentoo.org>2006-12-03 14:47:44 +0000
commit332caa7884a67e7cea79f8a5bf76363da838addc (patch)
treebba83bc21ba2efad7eafff47f4405fffdc58d562 /media-plugins/vdr-xineliboutput
parentAdded patch to compile also with vdr-1.4.4_p1 (diff)
downloadgentoo-2-332caa7884a67e7cea79f8a5bf76363da838addc.tar.gz
gentoo-2-332caa7884a67e7cea79f8a5bf76363da838addc.tar.bz2
gentoo-2-332caa7884a67e7cea79f8a5bf76363da838addc.zip
Added patch to prevent a patch on frontend getting killed/connection lost.
(Portage version: 2.1.2_rc2-r4)
Diffstat (limited to 'media-plugins/vdr-xineliboutput')
-rw-r--r--media-plugins/vdr-xineliboutput/ChangeLog9
-rw-r--r--media-plugins/vdr-xineliboutput/files/digest-vdr-xineliboutput-1.0.0_pre6-r23
-rw-r--r--media-plugins/vdr-xineliboutput/files/vdr-xineliboutput-1.0.0_pre6-frontend-close.diff24
-rw-r--r--media-plugins/vdr-xineliboutput/vdr-xineliboutput-1.0.0_pre6-r2.ebuild91
4 files changed, 126 insertions, 1 deletions
diff --git a/media-plugins/vdr-xineliboutput/ChangeLog b/media-plugins/vdr-xineliboutput/ChangeLog
index ad767e9c4752..ac0fadd0ffd1 100644
--- a/media-plugins/vdr-xineliboutput/ChangeLog
+++ b/media-plugins/vdr-xineliboutput/ChangeLog
@@ -1,6 +1,13 @@
# ChangeLog for media-plugins/vdr-xineliboutput
# Copyright 1999-2006 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/media-plugins/vdr-xineliboutput/ChangeLog,v 1.17 2006/12/03 14:42:38 zzam Exp $
+# $Header: /var/cvsroot/gentoo-x86/media-plugins/vdr-xineliboutput/ChangeLog,v 1.18 2006/12/03 14:47:44 zzam Exp $
+
+*vdr-xineliboutput-1.0.0_pre6-r2 (03 Dec 2006)
+
+ 03 Dec 2006; Matthias Schwarzott <zzam@gentoo.org>
+ +files/vdr-xineliboutput-1.0.0_pre6-frontend-close.diff,
+ +vdr-xineliboutput-1.0.0_pre6-r2.ebuild:
+ Added patch to prevent a patch on frontend getting killed/connection lost.
03 Dec 2006; Matthias Schwarzott <zzam@gentoo.org>
+files/vdr-xineliboutput-1.0.0_pre6-uint64.diff,
diff --git a/media-plugins/vdr-xineliboutput/files/digest-vdr-xineliboutput-1.0.0_pre6-r2 b/media-plugins/vdr-xineliboutput/files/digest-vdr-xineliboutput-1.0.0_pre6-r2
new file mode 100644
index 000000000000..7ed8c055f231
--- /dev/null
+++ b/media-plugins/vdr-xineliboutput/files/digest-vdr-xineliboutput-1.0.0_pre6-r2
@@ -0,0 +1,3 @@
+MD5 5f413715241228429731a2ea565c0ce9 vdr-xineliboutput-1.0.0pre6.tgz 222439
+RMD160 7874916a5e122fe114d36eeddc0581e8ded3e12e vdr-xineliboutput-1.0.0pre6.tgz 222439
+SHA256 c76ad8fda681b2ddcbae14096885805149544087f2a4e6e4aa41b8c93a8dc6a0 vdr-xineliboutput-1.0.0pre6.tgz 222439
diff --git a/media-plugins/vdr-xineliboutput/files/vdr-xineliboutput-1.0.0_pre6-frontend-close.diff b/media-plugins/vdr-xineliboutput/files/vdr-xineliboutput-1.0.0_pre6-frontend-close.diff
new file mode 100644
index 000000000000..501f42b90ee1
--- /dev/null
+++ b/media-plugins/vdr-xineliboutput/files/vdr-xineliboutput-1.0.0_pre6-frontend-close.diff
@@ -0,0 +1,24 @@
+diff -ru xineliboutput-1.0.0pre6-orig/frontend_svr.c xineliboutput-1.0.0pre6/frontend_svr.c
+--- xineliboutput-1.0.0pre6-orig/frontend_svr.c 2006-12-03 15:43:32.601759070 +0100
++++ xineliboutput-1.0.0pre6/frontend_svr.c 2006-12-03 15:45:25.524741697 +0100
+@@ -1240,7 +1240,8 @@
+
+ void cXinelibServer::Read_Control(int cli)
+ {
+- while(read(fd_control[cli], &m_CtrlBuf[ cli ][ m_CtrlBufPos[cli] ], 1) == 1) {
++ int n;
++ while((n = read(fd_control[cli], &m_CtrlBuf[ cli ][ m_CtrlBufPos[cli] ], 1)) == 1) {
+
+ ++m_CtrlBufPos[cli];
+
+@@ -1264,6 +1265,10 @@
+ m_CtrlBufPos[cli] = 0;
+ }
+ }
++ if (n == 0) {
++ LOGMSG("Client connection %d closed", cli);
++ CloseConnection(cli);
++ }
+ }
+
+ void cXinelibServer::Handle_ClientConnected(int fd)
diff --git a/media-plugins/vdr-xineliboutput/vdr-xineliboutput-1.0.0_pre6-r2.ebuild b/media-plugins/vdr-xineliboutput/vdr-xineliboutput-1.0.0_pre6-r2.ebuild
new file mode 100644
index 000000000000..4ff99d99fab7
--- /dev/null
+++ b/media-plugins/vdr-xineliboutput/vdr-xineliboutput-1.0.0_pre6-r2.ebuild
@@ -0,0 +1,91 @@
+# Copyright 1999-2006 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/media-plugins/vdr-xineliboutput/vdr-xineliboutput-1.0.0_pre6-r2.ebuild,v 1.1 2006/12/03 14:47:44 zzam Exp $
+
+inherit vdr-plugin eutils multilib
+
+MY_PV=${PV/_/}
+MY_P=${PN}-${MY_PV}
+
+DESCRIPTION="Video Disk Recorder Xinelib PlugIn"
+HOMEPAGE="http://users.tkk.fi/~phintuka/vdr/vdr-xineliboutput/"
+SRC_URI="http://users.tkk.fi/~phintuka/vdr/${PN}/${MY_P}.tgz"
+
+SLOT="0"
+LICENSE="GPL-2"
+KEYWORDS="~x86 ~amd64"
+IUSE="fbcon X"
+
+RDEPEND=">=media-video/vdr-1.3.42
+ >=media-libs/xine-lib-1.1.1
+ media-libs/jpeg
+ X? (
+ || ( (
+ x11-proto/xextproto
+ x11-proto/xf86vidmodeproto
+ x11-proto/xproto
+ )
+ virtual/x11
+ )
+ )"
+
+DEPEND="${RDEPEND}
+ sys-kernel/linux-headers
+ X? (
+ || ( (
+ x11-libs/libX11
+ x11-libs/libXv
+ x11-libs/libXext
+ )
+ virtual/x11
+ )
+ )"
+
+S=${WORKDIR}/xineliboutput-${MY_PV}
+
+VDR_CONFD_FILE=${FILESDIR}/confd-1.0.0_pre6
+
+PATCHES="${FILESDIR}/${P}-uint64.diff
+ ${FILESDIR}/${P}-frontend-close.diff"
+
+enable_in_makefile() {
+ local opt
+ for opt; do
+ sed -i "/^#${opt}.*= 1/s-^#--" Makefile
+ done
+}
+
+
+src_unpack() {
+ vdr-plugin_src_unpack
+
+ cd ${S}
+
+ XINE_LIB_VERSION=$(awk -F'"' '/XINE_VERSION/ {print $2}' /usr/include/xine.h)
+
+ enable_in_makefile XINELIBOUTPUT_VDRPLUGIN XINELIBOUTPUT_XINEPLUGIN
+ use fbcon && enable_in_makefile XINELIBOUTPUT_FB
+ use X && enable_in_makefile XINELIBOUTPUT_X11
+
+ # patching makefile to work with this
+ # $ rm ${outdir}/file; cp file ${outdir}/file
+ # work in the sandbox
+ sed -i Makefile \
+ -e 's:XINEPLUGINDIR.*=.*:XINEPLUGINDIR = '"${WORKDIR}/lib:"
+ mkdir -p ${WORKDIR}/lib
+}
+
+src_install() {
+ vdr-plugin_src_install
+
+ dobin vdr-fbfe vdr-sxfe
+
+ insinto ${VDR_PLUGIN_DIR}
+ doins *.so.${MY_PV}
+
+ insinto /usr/$(get_libdir)/xine/plugins/${XINE_LIB_VERSION}
+ doins xineplug_inp_*.so
+
+ insinto /usr/$(get_libdir)/xine/plugins/${XINE_LIB_VERSION}/post
+ doins xineplug_post_*.so
+}