diff options
author | Matthias Schwarzott <zzam@gentoo.org> | 2011-04-11 13:33:01 +0000 |
---|---|---|
committer | Matthias Schwarzott <zzam@gentoo.org> | 2011-04-11 13:33:01 +0000 |
commit | 9693571f66f7d84f3a3d49cee44a1f3abe844bc2 (patch) | |
tree | 76477aae912d65e3c4fc1b0857fa17cda1b5f4a6 /media-video/vdr | |
parent | Add support for the Google/VisualOn encoders for aac and amrwb (diff) | |
download | historical-9693571f66f7d84f3a3d49cee44a1f3abe844bc2.tar.gz historical-9693571f66f7d84f3a3d49cee44a1f3abe844bc2.tar.bz2 historical-9693571f66f7d84f3a3d49cee44a1f3abe844bc2.zip |
Backported v4l2 support from vdr-1.7.3. Bug #359409.
Package-Manager: portage-2.1.9.45/cvs/Linux x86_64
Diffstat (limited to 'media-video/vdr')
-rw-r--r-- | media-video/vdr/ChangeLog | 8 | ||||
-rw-r--r-- | media-video/vdr/files/vdr-1.6.0-use-v4l2.patch | 176 | ||||
-rw-r--r-- | media-video/vdr/vdr-1.6.0_p2-r6.ebuild | 448 |
3 files changed, 631 insertions, 1 deletions
diff --git a/media-video/vdr/ChangeLog b/media-video/vdr/ChangeLog index 1fa4b1d295a4..2834162e7562 100644 --- a/media-video/vdr/ChangeLog +++ b/media-video/vdr/ChangeLog @@ -1,6 +1,12 @@ # ChangeLog for media-video/vdr # Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/media-video/vdr/ChangeLog,v 1.142 2011/02/26 18:56:20 signals Exp $ +# $Header: /var/cvsroot/gentoo-x86/media-video/vdr/ChangeLog,v 1.143 2011/04/11 13:33:00 zzam Exp $ + +*vdr-1.6.0_p2-r6 (11 Apr 2011) + + 11 Apr 2011; Matthias Schwarzott <zzam@gentoo.org> +vdr-1.6.0_p2-r6.ebuild, + +files/vdr-1.6.0-use-v4l2.patch: + Backported v4l2 support from vdr-1.7.3. Bug #359409. 26 Feb 2011; Kevin McCarthy <signals@gentoo.org> vdr-1.6.0_p2.ebuild, vdr-1.6.0_p2-r2.ebuild, vdr-1.6.0_p2-r3.ebuild, vdr-1.6.0_p2-r4.ebuild, diff --git a/media-video/vdr/files/vdr-1.6.0-use-v4l2.patch b/media-video/vdr/files/vdr-1.6.0-use-v4l2.patch new file mode 100644 index 000000000000..ffc02f4b52f4 --- /dev/null +++ b/media-video/vdr/files/vdr-1.6.0-use-v4l2.patch @@ -0,0 +1,176 @@ + + from Version 1.7.3 + - Changed cDvbDevice::GrabImage() to use V4L2 (thanks to Marco Schl��ler). + +diff --git a/dvbdevice.c b/dvbdevice.c +index e0b05a1..6aa0056 100644 +--- a/dvbdevice.c ++++ b/dvbdevice.c +@@ -10,7 +10,7 @@ + #include "dvbdevice.h" + #include <errno.h> + #include <limits.h> +-#include <linux/videodev.h> ++#include <linux/videodev2.h> + #include <linux/dvb/audio.h> + #include <linux/dvb/dmx.h> + #include <linux/dvb/frontend.h> +@@ -604,69 +604,103 @@ uchar *cDvbDevice::GrabImage(int &Size, bool Jpeg, int Quality, int SizeX, int S + int videoDev = open(buffer, O_RDWR); + if (videoDev >= 0) { + uchar *result = NULL; +- struct video_mbuf mbuf; +- if (ioctl(videoDev, VIDIOCGMBUF, &mbuf) == 0) { +- int msize = mbuf.size; +- unsigned char *mem = (unsigned char *)mmap(0, msize, PROT_READ | PROT_WRITE, MAP_SHARED, videoDev, 0); +- if (mem && mem != (unsigned char *)-1) { +- // set up the size and RGB +- struct video_capability vc; +- if (ioctl(videoDev, VIDIOCGCAP, &vc) == 0) { +- struct video_mmap vm; +- vm.frame = 0; +- if ((SizeX > 0) && (SizeX <= vc.maxwidth) && +- (SizeY > 0) && (SizeY <= vc.maxheight)) { +- vm.width = SizeX; +- vm.height = SizeY; +- } +- else { +- vm.width = vc.maxwidth; +- vm.height = vc.maxheight; +- } +- vm.format = VIDEO_PALETTE_RGB24; +- if (ioctl(videoDev, VIDIOCMCAPTURE, &vm) == 0 && ioctl(videoDev, VIDIOCSYNC, &vm.frame) == 0) { +- // make RGB out of BGR: +- int memsize = vm.width * vm.height; +- unsigned char *mem1 = mem; +- for (int i = 0; i < memsize; i++) { +- unsigned char tmp = mem1[2]; +- mem1[2] = mem1[0]; +- mem1[0] = tmp; +- mem1 += 3; +- } +- +- if (Quality < 0) +- Quality = 100; +- +- dsyslog("grabbing to %s %d %d %d", Jpeg ? "JPEG" : "PNM", Quality, vm.width, vm.height); +- if (Jpeg) { +- // convert to JPEG: +- result = RgbToJpeg(mem, vm.width, vm.height, Size, Quality); +- if (!result) +- esyslog("ERROR: failed to convert image to JPEG"); +- } +- else { +- // convert to PNM: +- char buf[32]; +- snprintf(buf, sizeof(buf), "P6\n%d\n%d\n255\n", vm.width, vm.height); +- int l = strlen(buf); +- int bytes = memsize * 3; +- Size = l + bytes; +- result = MALLOC(uchar, Size); +- if (result) { +- memcpy(result, buf, l); +- memcpy(result + l, mem, bytes); ++ // set up the size and RGB ++ v4l2_format fmt; ++ memset(&fmt, 0, sizeof(fmt)); ++ fmt.type = V4L2_BUF_TYPE_VIDEO_CAPTURE; ++ fmt.fmt.pix.width = SizeX; ++ fmt.fmt.pix.height = SizeY; ++ fmt.fmt.pix.pixelformat = V4L2_PIX_FMT_BGR24; ++ fmt.fmt.pix.field = V4L2_FIELD_ANY; ++ if (ioctl(videoDev, VIDIOC_S_FMT, &fmt) == 0) { ++ v4l2_requestbuffers reqBuf; ++ memset(&reqBuf, 0, sizeof(reqBuf)); ++ reqBuf.count = 2; ++ reqBuf.type = V4L2_BUF_TYPE_VIDEO_CAPTURE; ++ reqBuf.memory = V4L2_MEMORY_MMAP; ++ if (ioctl(videoDev, VIDIOC_REQBUFS, &reqBuf) >= 0) { ++ v4l2_buffer mbuf; ++ memset(&mbuf, 0, sizeof(mbuf)); ++ mbuf.type = V4L2_BUF_TYPE_VIDEO_CAPTURE; ++ mbuf.memory = V4L2_MEMORY_MMAP; ++ if (ioctl(videoDev, VIDIOC_QUERYBUF, &mbuf) == 0) { ++ int msize = mbuf.length; ++ unsigned char *mem = (unsigned char *)mmap(0, msize, PROT_READ | PROT_WRITE, MAP_SHARED, videoDev, 0); ++ if (mem && mem != (unsigned char *)-1) { ++ v4l2_buffer buf; ++ memset(&buf, 0, sizeof(buf)); ++ buf.type = V4L2_BUF_TYPE_VIDEO_CAPTURE; ++ buf.memory = V4L2_MEMORY_MMAP; ++ buf.index = 0; ++ if (ioctl(videoDev, VIDIOC_QBUF, &buf) == 0) { ++ v4l2_buf_type type = V4L2_BUF_TYPE_VIDEO_CAPTURE; ++ if (ioctl (videoDev, VIDIOC_STREAMON, &type) == 0) { ++ memset(&buf, 0, sizeof(buf)); ++ buf.type = V4L2_BUF_TYPE_VIDEO_CAPTURE; ++ buf.memory = V4L2_MEMORY_MMAP; ++ buf.index = 0; ++ if (ioctl(videoDev, VIDIOC_DQBUF, &buf) == 0) { ++ if (ioctl(videoDev, VIDIOC_STREAMOFF, &type) == 0) { ++ // make RGB out of BGR: ++ int memsize = fmt.fmt.pix.width * fmt.fmt.pix.height; ++ unsigned char *mem1 = mem; ++ for (int i = 0; i < memsize; i++) { ++ unsigned char tmp = mem1[2]; ++ mem1[2] = mem1[0]; ++ mem1[0] = tmp; ++ mem1 += 3; ++ } ++ ++ if (Quality < 0) ++ Quality = 100; ++ ++ dsyslog("grabbing to %s %d %d %d", Jpeg ? "JPEG" : "PNM", Quality, fmt.fmt.pix.width, fmt.fmt.pix.height); ++ if (Jpeg) { ++ // convert to JPEG: ++ result = RgbToJpeg(mem, fmt.fmt.pix.width, fmt.fmt.pix.height, Size, Quality); ++ if (!result) ++ esyslog("ERROR: failed to convert image to JPEG"); ++ } ++ else { ++ // convert to PNM: ++ char buf[32]; ++ snprintf(buf, sizeof(buf), "P6\n%d\n%d\n255\n", fmt.fmt.pix.width, fmt.fmt.pix.height); ++ int l = strlen(buf); ++ int bytes = memsize * 3; ++ Size = l + bytes; ++ result = MALLOC(uchar, Size); ++ if (result) { ++ memcpy(result, buf, l); ++ memcpy(result + l, mem, bytes); ++ } ++ else ++ esyslog("ERROR: failed to convert image to PNM"); ++ } ++ } ++ else ++ esyslog("ERROR: video device VIDIOC_STREAMOFF failed"); ++ } ++ else ++ esyslog("ERROR: video device VIDIOC_DQBUF failed"); + } + else +- esyslog("ERROR: failed to convert image to PNM"); ++ esyslog("ERROR: video device VIDIOC_STREAMON failed"); + } ++ else ++ esyslog("ERROR: video device VIDIOC_QBUF failed"); ++ munmap(mem, msize); + } ++ else ++ esyslog("ERROR: failed to memmap video device"); + } +- munmap(mem, msize); ++ else ++ esyslog("ERROR: video device VIDIOC_QUERYBUF failed"); + } + else +- esyslog("ERROR: failed to memmap video device"); ++ esyslog("ERROR: video device VIDIOC_REQBUFS failed"); + } ++ else ++ esyslog("ERROR: video device VIDIOC_S_FMT failed"); + close(videoDev); + return result; + } diff --git a/media-video/vdr/vdr-1.6.0_p2-r6.ebuild b/media-video/vdr/vdr-1.6.0_p2-r6.ebuild new file mode 100644 index 000000000000..fe1c5c12e1f4 --- /dev/null +++ b/media-video/vdr/vdr-1.6.0_p2-r6.ebuild @@ -0,0 +1,448 @@ +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/media-video/vdr/vdr-1.6.0_p2-r6.ebuild,v 1.1 2011/04/11 13:33:00 zzam Exp $ + +inherit eutils flag-o-matic multilib + +# Switches supported by extensions-patch +EXT_PATCH_FLAGS="analogtv atsc cmdsubmenu cutterlimit cutterqueue cuttime ddepgentry + dolbyinrec dvbplayer dvbsetup dvdarchive dvdchapjump graphtft hardlinkcutter + jumpplay lnbshare mainmenuhooks menuorg noepg osdmaxitems pinplugin + rotor settime setup sortrecords sourcecaps livebuffer + ttxtsubs timercmd timerinfo validinput yaepg + syncearly dvlfriendlyfnames dvlrecscriptaddon dvlvidprefer + volctrl wareagleicon lircsettings deltimeshiftrec em84xx + cmdreccmdi18n softosd parentalrating" + +# names of the use-flags +EXT_PATCH_FLAGS_RENAMED="iptv liemikuutio" + +# names ext-patch uses internally, here only used for maintainer checks +EXT_PATCH_FLAGS_RENAMED_EXT_NAME="pluginparam liemiext" + +IUSE="vanilla dxr3 ${EXT_PATCH_FLAGS} ${EXT_PATCH_FLAGS_RENAMED}" + +MY_PV="${PV%_p*}" +MY_P="${PN}-${MY_PV}" +S="${WORKDIR}/${MY_P}" + +EXT_V="72" +EXT_P=VDR-Extensions-Patch-${EXT_V} +EXT_DIR=${WORKDIR}/${EXT_P}/ +EXT_VDR_PV="${PV/_p/-}" + +DESCRIPTION="Video Disk Recorder - turns a pc into a powerful set top box for DVB" +HOMEPAGE="http://www.tvdr.de/" +SRC_URI="ftp://ftp.tvdr.de/vdr/${MY_P}.tar.bz2 + ftp://ftp.tvdr.de/vdr/Developer/${MY_P}-1.diff + ftp://ftp.tvdr.de/vdr/Developer/${MY_P}-2.diff + http://www.zulu-entertainment.de/files/patches/${EXT_P}.tar.bz2" + +KEYWORDS="~amd64 ~ppc ~x86" +SLOT="0" +LICENSE="GPL-2" + +COMMON_DEPEND="virtual/jpeg + sys-libs/libcap + >=media-libs/fontconfig-2.4.2 + >=media-libs/freetype-2 + sys-devel/gettext + dvdarchive? ( dvdchapjump? ( >=media-libs/libdvdread-4.1.3_p1168 ) )" + +DEPEND="${COMMON_DEPEND} + media-tv/linuxtv-dvb-headers + dev-util/unifdef" + +RDEPEND="${COMMON_DEPEND} + dev-lang/perl + >=media-tv/gentoo-vdr-scripts-0.4.5 + media-fonts/corefonts" + +# pull in vdr-setup to get the xml files, else menu will not work +PDEPEND="setup? ( >=media-plugins/vdr-setup-0.3.1-r1 )" + +CONF_DIR=/etc/vdr +CAP_FILE=${S}/capabilities.sh +CAPS="# Capabilities of the vdr-executable for use by startscript etc." + +pkg_setup() { + check_menu_flags + + PLUGIN_LIBDIR="/usr/$(get_libdir)/vdr/plugins" +} + +check_menu_flags() { + if use menuorg && use setup; then + echo + eerror "Please use only one of this USE-Flags" + eerror "\tmenuorg setup" + die "multiple menu manipulation" + fi +} + +add_cap() { + local arg + for arg; do + CAPS="${CAPS}\n${arg}=1" + done +} + +enable_patch() { + local arg ARG_UPPER + for arg; do + ARG_UPPER=$(echo $arg|tr '[:lower:]' '[:upper:]') + echo "${ARG_UPPER} = 1" >> Make.config + done +} + +extensions_add_make_conf() +{ + # copy all ifdef for extensions-patch to Make.config + sed -e '1,/need to touch the following:/d' \ + -e '/ifdef DVBDIR/,/^$/d' \ + Make.config.template >> Make.config +} + +extensions_all_defines() { + # extract all possible settings for extensions-patch + sed -e '/^#\?[A-Z].*= 1/!d' -e 's/^#\?//' -e 's/ .*//' \ + Make.config.template \ + | sort \ + | tr '[:upper:]' '[:lower:]' +} + +extensions_all_defines_unset() { + # extract all possible settings for extensions-patch + # and convert them to -U... for unifdef + sed -e '/^#\?[A-Z].*= 1/!d' -e 's/^#\?/-UUSE_/' -e 's/ .*//' \ + Make.config.template \ + | tr '\n' ' ' +} + +do_unifdef() { + ebegin "Unifdef sources" + local mf="Makefile.get" + cat <<'EOT' > $mf +include Makefile +show_def: + @echo $(DEFINES) +show_src_files: + @echo $(OBJS:%.o=%.c) +EOT + + local DEFINES=$(extensions_all_defines_unset) + + local RAW_DEFINES=$(make -f "$mf" show_def) + local VDR_SRC_FILES=$(make -f "$mf" show_src_files) + local KEEP_FILES="" + rm "$mf" + + local def + for def in $RAW_DEFINES; do + case "${def}" in + -DUSE*) + DEFINES="${DEFINES} ${def}" + ;; + esac + done + + local f + for f in *.c; do + + # Removing the src files the Makefile does not use for compiling vdr + if ! has $f ${VDR_SRC_FILES} ${KEEP_FILES}; then + rm -f ${f} ${f%.c}.h + continue + fi + + unifdef ${DEFINES} "$f" > "tmp.$f" + mv "tmp.$f" "$f" + done + for f in *.h; do + unifdef ${DEFINES} "$f" > "tmp.$f" + mv "tmp.$f" "$f" + [[ -s $f ]] || rm "$f" + done + eend 0 +} + +src_unpack() { + + unpack ${A} + + cd "${S}" + #applying maintainace-patches + epatch "${DISTDIR}/${MY_P}-1.diff" + epatch "${DISTDIR}/${MY_P}-2.diff" + epatch "${FILESDIR}"/vdr-dvb-api-5-is-fine.diff + epatch "${FILESDIR}"/vdr-1.6.0-ldflags.patch + epatch "${FILESDIR}"/vdr-1.6.0-use-v4l2.patch + + ebegin "Changing pathes for gentoo" + + sed \ + -e 's-ConfigDirectory = VideoDirectory;-ConfigDirectory = CONFDIR;-' \ + -i vdr.c + + local DVBDIR=/usr/include + + cat > Make.config <<-EOT + # + # Generated by ebuild ${PF} + # + PREFIX = /usr + DVBDIR = ${DVBDIR} + PLUGINLIBDIR = ${PLUGIN_LIBDIR} + CONFDIR = ${CONF_DIR} + VIDEODIR = /var/vdr/video + LOCDIR = \$(PREFIX)/share/vdr/locale + + DEFINES += -DCONFDIR=\"\$(CONFDIR)\" + INCLUDES += -I\$(DVBDIR) + + EOT + eend 0 + + epatch "${FILESDIR}"/vdr-1.6.0-makefile-install-header.diff + + if use dxr3; then + einfo "Applying dxr3 subtitle hack" + epatch "${FILESDIR}"/vdr-1.6.0-dxr3-subtitlehack.diff + fi + + sed -i i18n-to-gettext.pl \ + -e '/MSGIDBUGS/s/""/"automatically created from i18n.c by vdr-plugin.eclass <vdr\\@gentoo.org>"/' + + # Do not install runvdr script and plugins + sed -i Makefile \ + -e 's/runvdr//' \ + -e 's/ install-plugins//' + + if use vanilla; then + epatch "${FILESDIR}"/vdr-1.6.0-gcc-4.4.diff + else + + cd "${S}" + # Now apply extensions patch + local fname="${EXT_DIR}/${PN}-${EXT_VDR_PV:-${PV}}_extensions.diff" + + epatch "${fname}" + + # Fix typo in Make.config.template + sed -e 's/CMDRECMDI18N/CMDRECCMDI18N/' -i Make.config.template + + # other gentoo patches + # epatch "${FILESDIR}/..." + epatch "${FILESDIR}"/vdr-1.6.0-gcc-4.4.diff + epatch "${FILESDIR}"/vdr-1.6.0-extensions-72-gcc-4.4.diff + + # This allows us to start even if some plugin does not exist + # or is not loadable. + enable_patch PLUGINMISSING + + # Patch necessary for media-plugins/vdr-reelchannelscan + # it does not change anything when plugin is not used + enable_patch CHANNELSCAN + + if [[ -n ${VDR_MAINTAINER_MODE} ]]; then + einfo "Doing maintainer checks:" + + # these patches we do not support + # (or have them already hard enabled) + local IGNORE_PATCHES="channelscan pluginapi pluginmissing streamdevext" + + extensions_all_defines > "${T}"/new.IUSE + echo $EXT_PATCH_FLAGS $EXT_PATCH_FLAGS_RENAMED_EXT_NAME \ + $IGNORE_PATCHES | \ + tr ' ' '\n' |sort > "${T}"/old.IUSE + local DIFFS=$(diff -u "${T}"/old.IUSE "${T}"/new.IUSE|grep '^[+-][^+-]') + if [[ -z ${DIFFS} ]]; then + einfo "EXT_PATCH_FLAGS is up to date." + else + ewarn "IUSE differences!" + local diff + for diff in $DIFFS; do + ewarn "$diff" + done + fi + fi + + ebegin "Enabling selected patches" + local flag + for flag in $EXT_PATCH_FLAGS; do + use $flag && enable_patch ${flag} + done + + # patches that got renamed + use iptv && enable_patch pluginparam + use liemikuutio && enable_patch liemiext + eend 0 + + extensions_add_make_conf + + ebegin "Make depend" + emake .dependencies >/dev/null + eend $? "make depend failed" + + [[ -z "$NO_UNIFDEF" ]] && do_unifdef + + use iptv && sed -i sources.conf -e 's/^#P/P/' + fi + + # apply local patches defined by variable VDR_LOCAL_PATCHES_DIR + if test -n "${VDR_LOCAL_PATCHES_DIR}"; then + local dir_tmp_var + local LOCALPATCHES_SUBDIR=${PV} + for dir_tmp_var in allversions-fallback ${PV%_p*} ${PV} ; do + if [[ -d ${VDR_LOCAL_PATCHES_DIR}/${dir_tmp_var} ]]; then + LOCALPATCHES_SUBDIR="${dir_tmp_var}" + fi + done + + echo + if [[ ${LOCALPATCHES_SUBDIR} == ${PV} ]]; then + einfo "Applying local patches" + else + einfo "Applying local patches (Using subdirectory: ${LOCALPATCHES_SUBDIR})" + fi + + for LOCALPATCH in ${VDR_LOCAL_PATCHES_DIR}/${LOCALPATCHES_SUBDIR}/*.{diff,patch}; do + test -f "${LOCALPATCH}" && epatch "${LOCALPATCH}" + done + fi + + if [[ -n "${VDRSOURCE_DIR}" ]]; then + cp -r "${S}" "${T}"/source-tree + fi + + add_cap CAP_UTF8 + + add_cap CAP_IRCTRL_RUNTIME_PARAM \ + CAP_VFAT_RUNTIME_PARAM \ + CAP_CHUID \ + CAP_SHUTDOWN_AUTO_RETRY + + echo -e ${CAPS} > "${CAP_FILE}" +} + +src_install() { + # trick makefile not to create a videodir by supplying it with an existing + # directory + emake install DESTDIR="${D}" VIDEODIR="/" || die "emake install failed" + + keepdir "${CONF_DIR}"/plugins + keepdir "${CONF_DIR}"/themes + + keepdir "${PLUGIN_LIBDIR}" + + exeinto /usr/share/vdr/bin + doexe i18n-to-gettext.pl + + dohtml *.html + dodoc MANUAL INSTALL README* HISTORY* CONTRIBUTORS + + cd "${EXT_DIR}/docs" || die "Could not cd into extensions-patch doc dir." + + local f + rm *vdr-1.4* 2>/dev/null + for f in *; do + [[ -f ${f} ]] || continue + newdoc "${f}" "${f}".ExtensionsPatch || die "Could not install extensions-patch doc ${f}" + done + + cd "${S}" + + insinto /usr/share/vdr + doins "${CAP_FILE}" + + if [[ -n "${VDRSOURCE_DIR}" ]]; then + local SOURCES_DEST="${VDRSOURCE_DIR}/${P/_p/-}" + einfo "Installing sources" + insinto "${SOURCES_DEST}" + doins -r "${T}"/source-tree/* + keepdir "${SOURCES_DEST}"/PLUGINS/lib + fi + + if use setup; then + insinto /usr/share/vdr/setup + doins "${S}"/menu.c + fi + chown -R vdr:vdr "${D}/${CONF_DIR}" +} + +pkg_preinst() { + has_version "<${CATEGORY}/${PN}-1.3.36-r3" + previous_less_than_1_3_36_r3=$? + + has_version "<${CATEGORY}/${PN}-1.6.0" + previous_less_than_1_6_0=$? +} + +pkg_postinst() { + elog "It is a good idea to run vdrplugin-rebuild now." + if [[ $previous_less_than_1_3_36_r3 = 0 ]] ; then + ewarn "Upgrade Info:" + ewarn + ewarn "If you had used the use-flags lirc, rcu or vfat" + ewarn "then, you now have to enable the associated functionality" + ewarn "in /etc/conf.d/vdr" + ewarn + ewarn "vfat is now set with VFAT_FILENAMES." + ewarn "lirc/rcu are now set with IR_CTRL." + ebeep + fi + + if use setup; then + if ! has_version media-plugins/vdr-setup || \ + ! egrep -q '^setup$' "${ROOT}/etc/conf.d/vdr.plugins"; then + + echo + ewarn "You have compiled media-video/vdr with USE=\"setup\"" + ewarn "It is very important to emerge media-plugins/vdr-setup now!" + ewarn "and you have to loaded it in /etc/conf.d/vdr.plugins" + fi + fi + + local keysfound=0 + local key + local warn_keys="JumpFwd JumpRew JumpFwdSlow JumpRewSlow" + local remote_file="${ROOT}"/etc/vdr/remote.conf + + if [[ -e ${remote_file} ]]; then + for key in ${warn_keys}; do + if grep -q -i "\.${key} " "${remote_file}"; then + keysfound=1 + break + fi + done + if [[ ${keysfound} == 1 ]]; then + ewarn "Your /etc/vdr/remote.conf contains keys which are no longer usable" + ewarn "Please remove these keys or vdr will not start:" + ewarn "# ${warn_keys}" + fi + fi + + if use atsc; then + ewarn "ATSC is only supported by a rudimentary patch" + einfo "and need at least this patch and a plugin installed" + einfo "emerge media-plugins/vdr-atscepg" + fi + + if [[ $previous_less_than_1_6_0 = 0 ]]; then + elog "By default vdr is now started with utf8 character encoding" + elog + elog "To rename the old recordings to utf8 conforming names, do this:" + elog "\temerge app-text/convmv" + elog "\tconvmv -f latin1 -t utf8 -r --notest -i /var/vdr/video/" + elog + elog "To fix the descriptions of your recordings do this:" + elog "\tfind /var/vdr/video/ -name "info.vdr" -print0|xargs -0 recode latin1..utf8" + fi + + elog "To get nice symbols in OSD we recommend to install" + elog "\t1. emerge media-fonts/vdrsymbols-ttf" + elog "\t2. select font VDRSymbolsSans in Setup" + elog "" + elog "To get an idea how to proceed now, have a look at our vdr-guide:" + elog "\thttp://www.gentoo.org/doc/en/vdr-guide.xml" +} |