From: Matthias Schwarzott Date: Mon, 24 Oct 2005 11:30:35 +0000 (+0000) Subject: Added patch for better daemonization. X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=b9ddf5b876e31b6ac3c88b4848116df5e34c4e77;p=gentoo.git Added patch for better daemonization. Package-Manager: portage-2.0.51.22-r3 --- diff --git a/media-video/vdr/ChangeLog b/media-video/vdr/ChangeLog index 602173efa118..53db256776cf 100644 --- a/media-video/vdr/ChangeLog +++ b/media-video/vdr/ChangeLog @@ -1,6 +1,12 @@ # ChangeLog for media-video/vdr # Copyright 2002-2005 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/media-video/vdr/ChangeLog,v 1.25 2005/10/22 20:36:56 zzam Exp $ +# $Header: /var/cvsroot/gentoo-x86/media-video/vdr/ChangeLog,v 1.26 2005/10/24 11:30:35 zzam Exp $ + +*vdr-1.3.34-r2 (24 Oct 2005) + + 24 Oct 2005; Matthias Schwarzott + +files/vdr-1.3.32-daemon.patch, +vdr-1.3.34-r2.ebuild: + Added patch for better daemonization. 22 Oct 2005; Matthias Schwarzott vdr-1.3.34-r1.ebuild: Better source installation for debugging diff --git a/media-video/vdr/Manifest b/media-video/vdr/Manifest index 8a33115e004b..ac3c26d28aaa 100644 --- a/media-video/vdr/Manifest +++ b/media-video/vdr/Manifest @@ -1,15 +1,18 @@ MD5 85028e3cc03f1ac1ba27a5ee0391e96d vdr-1.2.6-r1.ebuild 1433 MD5 3157799f6d2dea384d8db6a8673e8325 vdr-1.3.34-r1.ebuild 4491 MD5 27cbd03c0fde4fcddf379f306ea8e981 vdr-1.3.27.ebuild 4236 -MD5 1ae56a33b47fa19ccba5037666b1debb ChangeLog 3618 +MD5 8554f7d2baba12e38b4c15115f4e2f20 vdr-1.3.34-r2.ebuild 4537 +MD5 289ffc88d5174a9551f0c58b559ba8fa ChangeLog 3799 MD5 a973dfa1638779880ca99f1c1435cac7 metadata.xml 259 MD5 4d3ece4e7bb6ec5913f33dd5952e658e vdr-1.3.34.ebuild 4225 MD5 aa18122fb081cdc19d419d53ad1f63de files/vdr-1.2.6_CAN-2005-0071.patch 893 MD5 4e0e788481ae4a07c9260bcdbaab3465 files/digest-vdr-1.3.27 370 MD5 3d3b8b271925155442f660f5a9da86da files/digest-vdr-1.3.34 366 +MD5 472e23b8b78fd88b22e140386af74b3d files/vdr-1.3.32-daemon.patch 794 MD5 5df3de1f888e3fc8f8ba27623a19f40b files/digest-vdr-1.2.6-r1 62 MD5 aa8d0f66c8831be73c049584d6143c8b files/vdr-1.2.6-gentoo.diff 1995 MD5 3d3b8b271925155442f660f5a9da86da files/digest-vdr-1.3.34-r1 366 +MD5 3d3b8b271925155442f660f5a9da86da files/digest-vdr-1.3.34-r2 366 MD5 0d386d3861b6fc42122c42da4bef26f8 files/1.3.27/vdr-1.3.27-SourceCaps-lnb-sharing.diff 7138 MD5 f45571c5192376c05c3acc204fbdfef8 files/1.3.27/vdr-1.3.27-SourceCaps.diff 7152 MD5 05d546888439560f03f1857d32af2062 files/1.3.34/SourceCaps-1.3.33-lnb-sharing.patch 7959 diff --git a/media-video/vdr/files/digest-vdr-1.3.34-r2 b/media-video/vdr/files/digest-vdr-1.3.34-r2 new file mode 100644 index 000000000000..3a0d211fdaee --- /dev/null +++ b/media-video/vdr/files/digest-vdr-1.3.34-r2 @@ -0,0 +1,5 @@ +MD5 9ac7300d0cba39a84b66bedb509de263 vdr-1.3.34.tar.bz2 511498 +MD5 6d30f22d3a86f851bac2167296912ad0 configurableLNBshare-VDR_1.3.33.patch 20188 +MD5 41f0b90e6c42e9b217b82a3a5e6af5fa vdr-1.3.34-enAIO-2.6.diff.gz 11557 +MD5 e0625aedad55dbb4654c7a8a331aa24f vdr-1.3.34-bigpatch-test1.tar.bz2 139114 +MD5 3b276851190bac5dc03ab81ba55ac193 vdr-jumpplay-0.6-1.3.29.diff 18904 diff --git a/media-video/vdr/files/vdr-1.3.32-daemon.patch b/media-video/vdr/files/vdr-1.3.32-daemon.patch new file mode 100644 index 000000000000..024770d83ba6 --- /dev/null +++ b/media-video/vdr/files/vdr-1.3.32-daemon.patch @@ -0,0 +1,27 @@ +2005-09-17 17:52 Enrico Scholz + - vdr.c: use daemon(3) instead of forking manually; this + executes 'setsid()' and creates better FDs 0-2 + +--- vdr-1.3.32/vdr.c.daemon 2005-09-17 13:40:57.000000000 +0200 ++++ vdr-1.3.32/vdr.c 2005-09-17 13:46:41.000000000 +0200 +@@ -508,17 +508,11 @@ + // Daemon mode: + + if (DaemonMode) { +- pid_t pid = fork(); +- if (pid < 0) { +- fprintf(stderr, "%m\n"); ++ if (daemon(1, 0)==-1) { + esyslog("ERROR: %m"); ++ perror("daemon()"); + return 2; +- } +- if (pid != 0) +- return 0; // initial program immediately returns +- fclose(stdin); +- fclose(stdout); +- fclose(stderr); ++ } + } + else if (Terminal) { + // Claim new controlling terminal diff --git a/media-video/vdr/vdr-1.3.34-r2.ebuild b/media-video/vdr/vdr-1.3.34-r2.ebuild new file mode 100644 index 000000000000..495c68f89bd4 --- /dev/null +++ b/media-video/vdr/vdr-1.3.34-r2.ebuild @@ -0,0 +1,190 @@ +# Copyright 1999-2005 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/media-video/vdr/vdr-1.3.34-r2.ebuild,v 1.1 2005/10/24 11:30:35 zzam Exp $ + +inherit eutils + +IUSE="lirc vfat rcu + lnbsharing sourcecaps aio bigpatch jumpplay" + +# Names of patches +FNAME_AIO="${P}-enAIO-2.6.diff" +FNAME_BIGPATCH="BigPatch/bigpatch-current.diff" +FNAME_JUMPPLAY="vdr-jumpplay-0.6-1.3.29.diff" +FNAME_LNBSHARING="configurableLNBshare-VDR_1.3.33.patch" +FNAME_SOURCECAPS_NORMAL="SourceCaps-1.3.33.patch" +FNAME_SOURCECAPS_LNBSHARING="SourceCaps-1.3.33-lnb-sharing.patch" + +DESCRIPTION="Video Disk Recorder - turns a pc into a powerful set top box for DVB" +HOMEPAGE="http://www.cadsoft.de/vdr/" +SRC_URI="ftp://ftp.cadsoft.de/vdr/Developer/${P}.tar.bz2 + lnbsharing? ( http://xn--ltzke-jua.de/dvb/VDR_LNB_sharing_patch/${FNAME_LNBSHARING} ) + aio? ( http://www.saunalahti.fi/~rahrenbe/vdr/patches/${FNAME_AIO}.gz ) + bigpatch? ( http://bigpatch.vdr-developer.org/$PV/${P}-bigpatch-test1.tar.bz2 ) + jumpplay? ( http://www.toms-cafe.de/vdr/download/${FNAME_JUMPPLAY} )" + +KEYWORDS="~amd64 ~x86" +SLOT="0" +LICENSE="GPL-2" + + +_DEPEND="media-libs/jpeg + lirc? ( app-misc/lirc ) + sys-apps/gawk" + +RDEPEND="${_DEPEND} + dev-lang/perl + media-tv/vdrplugin-rebuild + media-tv/gentoo-vdr-scripts" + +DEPEND="${_DEPEND} + || ( + >=sys-kernel/linux-headers-2.6.11-r2 + media-tv/linuxtv-dvb + )" + +# Relevant Pathes for vdr on gentoo +DVB_DIR=/usr/include +VDR_INCLUDE_DIR=/usr/include/vdr +PLUGIN_DIR=/usr/lib/vdr/plugins +CONF_DIR=/etc/vdr +RC_DIR=/usr/lib/vdr/rcscript +CAP_FILE=${S}/vdr-capabilities.sh +VDR_HOME=/var/vdr + +pkg_setup() { + enewgroup vdr + enewuser vdr -1 /bin/bash ${VDR_HOME} vdr,video +} + +src_unpack() { + unpack ${A} + cd ${S} + + ebegin "Changing pathes for gentoo" + sed -e 's-$(DVBDIR)/include-$(DVBDIR)-' -i Makefile + + sed \ + -e 's-ConfigDirectory = VideoDirectory;-ConfigDirectory = CONFIGDIR;-' \ + -i vdr.c + + cat > Make.config <<-EOT + # + # Generated by ebuild ${PF} + # + DVBDIR = ${DVB_DIR} + PLUGINLIBDIR = ${PLUGIN_DIR} + CONFIGDIR = ${CONF_DIR} + + DEFINES += -DCONFIGDIR=\"\$(CONFIGDIR)\" + EOT + eend 0 + + if use rcu; then + echo "REMOTE=RCU" >> Make.config + use lirc && ewarn "Only one remotes can be used: dropping lirc and keeping rcu" + else + use lirc && echo "REMOTE=LIRC" >> Make.config + fi + use vfat && echo "VFAT=1" >> Make.config + + # apply standard patches + local PATCHDIR=${FILESDIR}/${PV} + local MY_SOURCECAPS="${PATCHDIR}/${FNAME_SOURCECAPS_NORMAL}" + + epatch "${PATCHDIR}/${P}-shutdown-retry.diff" + epatch "${FILESDIR}/vdr-1.3.32-daemon.patch" + + if use bigpatch; then + epatch "${WORKDIR}/${FNAME_BIGPATCH}" + else + # All these patches are included in bigpatch + if use aio; then + if use lnbsharing; then + ewarn "At the moment lnbsharing can not be combined with aio, dropping aio patch!" + else + epatch "../${FNAME_AIO}" + fi + fi + + if use lnbsharing; then + epatch "${DISTDIR}/${FNAME_LNBSHARING}" + MY_SOURCECAPS="${PATCHDIR}/${FNAME_SOURCECAPS_LNBSHARING}" + fi + + use sourcecaps && epatch "${MY_SOURCECAPS}" + + if use jumpplay; then + if use sourcecaps; then + ewarn "At the moment sourcecaps can not be combined with jumpplay, dropping jumpplay patch." + else + epatch "${DISTDIR}/${FNAME_JUMPPLAY}" + fi + fi + fi + + + + # apply local patches defined by variable VDR_LOCAL_PATCHES_DIR + if test -n "${VDR_LOCAL_PATCHES_DIR}"; then + echo + einfo "Applying local patches" + for LOCALPATCH in ${VDR_LOCAL_PATCHES_DIR}/${PV}/*.{diff,patch}; do + test -f "${LOCALPATCH}" && epatch "${LOCALPATCH}" + done + fi + + if [[ -n "${VDRSOURCE_DIR}" ]]; then + cp -r ${S} ${T}/source-tree + fi + + cat > ${CAP_FILE} <<-EOT + CAP_IRCTRL_RUNTIME_PARAM=1 + CAP_VFAT_RUNTIME_PARAM=1 + CAP_SHUTDOWN_AUTO_RETRY=1 + EOT +} + +src_install() { + exeinto /usr/bin + doexe vdr + doexe svdrpsend.pl + + insinto ${VDR_INCLUDE_DIR} + doins *.h + doins Make.config + + insinto ${VDR_INCLUDE_DIR}/libsi + doins libsi/*.h + + diropts -m755 -ovdr -gvdr + keepdir ${CONF_DIR} + keepdir ${CONF_DIR}/plugins + keepdir ${VDR_HOME} + keepdir ${VDR_HOME}/video + + insinto ${CONF_DIR} + insopts -m0644 -ovdr -gvdr + doins *.conf channels.conf.* + insopts -m0644 + diropts -m755 + + + keepdir "${PLUGIN_DIR}" + + doman vdr.1 vdr.5 + + insinto ${RC_DIR} + doins ${CAP_FILE} + + if [[ -n "${VDRSOURCE_DIR}" ]]; then + einfo "Installing sources" + insinto ${VDRSOURCE_DIR}/${P} + doins -r ${T}/source-tree/* + keepdir ${VDRSOURCE_DIR}/${P}/PLUGINS/lib + fi +} + +pkg_postinst() { + einfo "It is a good idea to run vdrplugin-rebuild now" +}