Group :: Video
RPM: vdr
Main Changelog Spec Patches Sources Download Gear Bugs and FR Repocop
%def_with plugins
%undefine videodir
%undefine audiodir
%define plugindir %_libexecdir/vdr
%define configdir %_sysconfdir/vdr
%define datadir %_datadir/vdr
%define cachedir %_var/cache/vdr
%define rundir %_var/run/vdr
%define vardir %_var/lib/vdr
%define vdr_user vdr
%define vdr_group video
# From APIVERSION in config.h
%define apiver 1.6.0
Name: vdr
Version: 1.6.0
Release: alt1
Group: Video
License: GPLv2+
Summary: Digital satellite receiver box with advanced features
Summary(ru_RU.UTF-8): Цифровой спутниковый приёмник с широкими возможностями
Url: http://www.cadsoft.de/vdr/
Packager: Hihin Ruslan <ruslandh at altlinux.ru>
Source: ftp://ftp.cadsoft.de/vdr/%name-%version.tar.bz2
#Source1: %%name.init
Source2: %name.sysconfig
# TODO
Source4: %name-udev.rules
Source5: %name-reccmds.conf
Source6: %name-commands.conf
Source7: %name-runvdr.sh
# TODO
Source8: %name.consoleperms
Source9: %name-config.sh
Source10: %name-README.package
Source11: %name-skincurses.conf
Source12: %name-sky.conf
Source13: %name-timercmds.conf
Source14: %name-shutdown.sh
Source15: %name-moveto.sh
Source16: %name-CHANGES.package.old
Source17: %name-halt.local.sh
Source18: %name.fc9.spec
# TODO
Patch: %name-channel+epg.patch
# TODO
Patch1: http://zap.tartarus.org/~ds/debian/dists/stable/main/source/vdr_1.4.5-2.ds.diff.gz
Patch2: http://www.saunalahti.fi/~rahrenbe/vdr/patches/vdr-1.6.0-liemikuutio-1.21.diff.gz
Patch3: %name-1.6.0-scriptnames.patch
Patch4: %name-1.6.0-paths.patch
Patch5: %name-1.5.18-use-pkgconfig.patch
# http://article.gmane.org/gmane.linux.vdr/36097
Patch6: %name-1.5.18-syncearly.patch
Patch7: http://www.saunalahti.fi/~rahrenbe/vdr/patches/vdr-1.6.0-ttxtsubs-0.0.5.diff.gz
Patch8: %name-1.6.0-man-section.patch
# Patch9: http://www.udo-richter.de/vdr/files/vdr-1.5.13-hlcutter-0.2.0.diff
# edited so that it applies on top of the liemikuutio patch (menu.c)
Patch9: %name-1.5.18-hlcutter-0.2.0.diff
# TODO
Patch10: %name-1.4.7-hlcutter-0.2.0-finnish.patch
# mainmenuhooks, timercmd and progressbar-support from
# http://winni.vdr-developer.org/epgsearch/downloads/vdr-epgsearch-0.9.24.tgz
Patch11: MainMenuHooks-v1_0.patch
Patch12: timercmd-0.1_1.6.0.diff
Patch13: %name-1.5.17-progressbar-support-0.0.1.diff
Patch14: %name-1.6.0-includes+pkgconfig.patch
Patch15: %name-1.6.0-fedora-pkgconfig.patch
Patch16: %name-1.6.0-dxr3-subtitles.patch
Patch17: http://toms-cafe.de/vdr/download/vdr-timer-info-0.5-1.5.15.diff
Patch18: ftp://ftp.cadsoft.de/vdr/Developer/vdr-1.6.0-1.diff
Patch19: ftp://ftp.cadsoft.de/vdr/Developer/vdr-1.6.0-2.diff
Patch21: keymacros-prefermenu.diff
Patch22: vdr-1.6.0-correct.patch
# Automatically added by buildreq on Sun Dec 21 2008
BuildRequires: fontconfig-devel gcc-c++ libcap-devel libfreetype-devel libjpeg-devel libncurses-devel
%description
VDR implements a complete digital set-top-box and video recorder.
It can work with signals received from satellites (DVB-S) as well as
cable (DVB-C) and terrestrial (DVB-T) signals. At least one DVB card
is required to run VDR.
%description -l ru_RU.UTF-8
VDR позволяет превратить компьютер с Linux и DVB картой в приёмник цифрового ТВ и Радио с
широкими возможностями. Помимо базовых функций, таких как просмотр ТВ, запись и сдвиг
принимаемой программы во времени, VDR позволяет проигрывать музыку в формате MP3/Ogg и любые
видеоформаты, поддерживаемые MPlayer, а также сохранять сделанные записи на CD или DVD.
Немногие бытовые приёмники на рынке способны сравниться с VDR по своим возможностям.
%package devel
Summary: Files required for building plugins for VDR
Summary(ru_RU.UTF-8): Файлы необходимые для сборки модулей расширения VDR
Group: Development/Other
Requires: %name
%description devel
A set of files required for building plugins for VDR
%description devel -l ru_RU.UTF-8
Пакет содержит набор файлов необходимых для сборки модулей расширения VDR.
%package plugins
Summary: Plugins for VDR
Group: Video
%if_with plugins
BuildRequires: libncurses-devel
%endif # plugins
Requires: vdr(abi) = %apiver
%description plugins
Plugins for VDR
The skincurses plugin implements a VDR skin that works in a shell
window, using only plain text output.
The sky plugin implements a new device for VDR, which is based on the
MPEG2 encoder card described at linuxtv.org/mpeg2/kfir.xml. It allows
you to connect the analog a/v output of your Sky Digibox to VDR, so
that you can enjoy the full recording flexibility of VDR with your Sky
subscription. You will need a Sky Digibox and a valid subscription in
order to use this plugin.
%description plugins -l ru_RU.UTF-8
Пакет содержит набор модули расширения VDR.
%prep
%setup -q
# TODO: does not apply
#patch0 -p1
%patch1 -p1
# TODO: does not apply
#patch -F 0 -i debian/patches/02_plugin_missing.dpatch
# sort_options would be nice, but it conflicts with channel+epg which is nicer
#patch -F 0 -i debian/patches/02_sort_options.dpatch
patch -F 0 -i debian/patches/06_recording_scan_speedup.dpatch
patch -F 2 -i debian/patches/07_blockify_define.dpatch
patch -F 0 -i debian/patches/10_livelock.dpatch
patch -F 0 -i debian/patches/11_atsc.dpatch
echo "DEFINES += -DHAVE_ATSC" >> Makefile
patch -F 0 -i debian/patches/19_debian_osdbase_maxitems.dpatch
# TODO: does not apply, check upstream for a 1.6.x version:
# http://www.ktverkko.fi/~msmakela/software/vdr/
#patch -F 0 -i debian/patches/opt-20_suspend.dpatch
%patch2 -p1
%patch3 -p1
sed \
-e 's|__CACHEDIR__|%cachedir|' \
-e 's|__CONFIGDIR__|%configdir|' \
-e 's|__PLUGINDIR__|%plugindir|' \
-e 's|__VARDIR__|%vardir|' \
%PATCH4 | patch -p1 -F 1
# -e 's|__VIDEODIR__|%%videodir|' \
%patch5 -p1
%patch6 -p0
%patch7 -p1
%patch8 -p1
patch -p0 -F 1 -i %PATCH9
# TODO: does not apply
#patch10 -p0
patch -p1 -F 2 -i %PATCH11
# timer-info patch needs to come before timercmd patch to avoid conflicts
%patch17 -p1
patch -p1 -F 2 -i %PATCH12
%patch13 -p1
patch -p0 -F 2 -i %PATCH14
%patch15 -p0
%patch16 -p0
%patch18 -p1
%patch19 -p1
%patch21 -p1
%patch22 -p1
for f in CONTRIBUTORS HISTORY* UPDATE-1.4.0 README.timer-info ; do
iconv -f iso-8859-1 -t utf-8 -o $f.utf8 $f && mv $f.utf8 $f
done
cp -p %SOURCE5 reccmds.conf
cp -p %SOURCE13 timercmds.conf
# Unfortunately these can't have comments in them, so ship 'em empty.
cat /dev/null > channels.conf
cat /dev/null > remote.conf
cat /dev/null > setup.conf
cat /dev/null > timers.conf
install -pm 644 %SOURCE10 README.package
install -pm 644 %SOURCE16 CHANGES.package.old
# Would like to do "files {channels,setup,timers}.conf" from config dir
# only, but rename() in cSafeFile barks "device or resource busy", cf.
# http://lists.suse.com/archive/suse-programming-e/2003-Mar/0051.html
cat << EOF > %name.rwtab
dirs %cachedir
files %configdir
files %vardir
EOF
# Disable some graphs that end up too big to be useful.
for g in COLLABORATION INCLUDE INCLUDED_BY ; do
sed -i -e 's/^\(\s*'$g'_GRAPH\s*=\s*\).*/\1NO/' Doxyfile
done
cat << EOF > Make.config
CC = gcc
CXX = g++
ifeq (\$(RPM_OPT_FLAGS),)
CFLAGS = $RPM_OPT_FLAGS
CXXFLAGS = $RPM_OPT_FLAGS -Wall -Woverloaded-virtual -Wno-parentheses
else
CFLAGS = \$(RPM_OPT_FLAGS)
CXXFLAGS = \$(RPM_OPT_FLAGS) -Wall -Woverloaded-virtual -Wno-parentheses
endif
ifdef PLUGIN
CFLAGS += -fPIC
CXXFLAGS += -fPIC
endif
MANDIR = %_mandir
BINDIR = %_sbindir
LOCDIR = %_datadir/locale
PLUGINLIBDIR = %plugindir
VIDEODIR =
CONFDIR = %configdir
INCLUDEDIR = %_includedir
INCLUDES += -I/usr/include/freetype2
VDR_USER = %vdr_user
EOF
%build
%make_build vdr vdr.pc include-dir \
BINDIR=%_sbindir INCLUDEDIR=%_includedir CONFDIR=%configdir \
VIDEODIR= PLUGINLIBDIR=%plugindir LOCDIR=%_datadir/locale \
AUDIODIR= DATADIR=%datadir CACHEDIR=%cachedir \
RUNDIR=%rundir VARDIR=%vardir VDR_GROUP=%vdr_group
%make_build i18n LOCALEDIR=./locale
%if_with plugins
#make_build -C PLUGINS/src/skincurses LIBDIR=. all
#make_build -C PLUGINS/src/sky LIBDIR=. all
make plugins
%endif # plugins
%install
cp %SOURCE18 ./
install -Dpm 755 vdr %buildroot%_sbindir/vdr
install -dm 755 %buildroot%_bindir
install -pm 755 svdrpsend.pl %buildroot%_bindir/svdrpsend
install -pm 755 epg2html.pl %buildroot%_bindir/epg2html
#export PKG_CONFIG_PATH=.
#make_install install-i18n install-includes install-pc install-doc \
# PCDIR=%_pkgconfigdir DESTDIR=%buildroot
%makeinstall
install -dm 755 %buildroot%configdir/plugins
install -pm 644 *.conf %buildroot%configdir
install -dm 755 %buildroot%_sysconfdir/sysconfig/vdr-plugins.d
install -dm 755 %buildroot%vardir/themes
touch %buildroot%vardir/themes/{classic,sttng}-default.theme
#install -Dpm 755 %%SOURCE1 %%buildroot%%_initdir/vdr
#sed -i \
# -e 's|%%_sbindir/|%%_sbindir/|' \
# -e 's|%%_sysconfdir/vdr/|%%configdir/|g' \
# -e 's|VDR_USER|%%vdr_user|' \
# -e 's|VDR_GROUP|%%vdr_group|' \
#%%buildroot%%_initdir/vdr
install -pm 755 %SOURCE7 %buildroot%_sbindir/runvdr
sed -i \
-e 's|%_sbindir/|%_sbindir/|' \
-e 's|%_sysconfdir/sysconfig/|%_sysconfdir/sysconfig/|g' \
-e 's|%_libexecdir/vdr\b|%plugindir|' \
-e 's|VDR_PLUGIN_VERSION|%apiver|' \
%buildroot%_sbindir/runvdr
install -dm 755 %buildroot%_sysconfdir/sysconfig
sed -e 's|%_libexecdir/vdr/|%plugindir/|' < %SOURCE2 \
> %buildroot%_sysconfdir/sysconfig/vdr
chmod 644 %buildroot%_sysconfdir/sysconfig/vdr
#install -dm 755 %%buildroot%%videodir
#install -dm 755 %%buildroot%%audiodir
#touch %%buildroot%%videodir/.update
install -dm 755 %buildroot%plugindir/bin
sed -e 's|/var/lib/vdr/|%vardir/|' < %SOURCE14 \
> %buildroot%plugindir/bin/%name-shutdown.sh
chmod 755 %buildroot%plugindir/bin/%name-shutdown.sh
sed -e 's|/var/lib/vdr/|%vardir/|' \
-e 's|%_libexecdir/vdr/bin/|%plugindir/bin/|' < %SOURCE17 \
> %buildroot%plugindir/bin/%name-halt.local.sh
chmod 755 %buildroot%plugindir/bin/%name-halt.local.sh
#sed -e 's|//tmp/vdr/vdr|' -e 's|%%_sysconfdir/vdr/|%%configdir/|' \
# < %%SOURCE15 > %%buildroot%plugindir/bin/%name-moveto.sh
#chmod 755 %buildroot%plugindir/bin/%name-moveto.sh
install -dm 755 %buildroot%cachedir
touch %buildroot%cachedir/epg.data
install -dm 755 %buildroot%datadir/logos
install -dm 755 %buildroot%rundir
install -dm 755 %buildroot%vardir
touch %buildroot%vardir/next-wakeup
install -dm 755 %buildroot%_sysconfdir/udev/rules.d
sed -e 's/VDR_GROUP/%vdr_group/' < %SOURCE4 \
> %buildroot%_sysconfdir/udev/rules.d/51-%name.rules
chmod 644 %buildroot%_sysconfdir/udev/rules.d/*-%name.rules
install -dm 755 %buildroot%_sysconfdir/security/console.perms.d
sed -e 's/VDR_GROUP/%vdr_group/' < %SOURCE8 \
> %buildroot%_sysconfdir/security/console.perms.d/95-%name.perms
chmod 644 %buildroot%_sysconfdir/security/console.perms.d/*%name.perms
install -Dpm 644 %name.rwtab %buildroot%_sysconfdir/rwtab.d/%name
# devel
install -pm 755 %SOURCE9 %buildroot%_bindir/vdr-config
install -pm 755 i18n-to-gettext.pl %buildroot%_bindir/vdr-i18n-to-gettext
install -pm 755 newplugin %buildroot%_bindir/vdr-newplugin
install -pm 644 Make.config %buildroot%_libexecdir/vdr
ln -s %_includedir/vdr/config.h %_libexecdir/vdr %buildroot%_libexecdir/vdr
# plugins
%if_with plugins
make install-plugins
#install -pm 755 PLUGINS/src/skincurses/libvdr-skincurses.so.%apiver \
##buildroot#plugindir
install -d 755 %buildroot%_sysconfdir/sysconfig/vdr-plugins.d/
install -pm 644 %SOURCE11 \
%buildroot%_sysconfdir/sysconfig/vdr-plugins.d/skincurses.conf
#install -pm 755 PLUGINS/src/sky/libvdr-sky.so.%apiver \
#buildroot#plugindir
install -pm 644 %SOURCE12 \
%buildroot%_sysconfdir/sysconfig/vdr-plugins.d/sky.conf
install -pm 755 PLUGINS/src/sky/getskyepg.pl \
%buildroot%_bindir/getskyepg
install -Dpm 644 PLUGINS/src/sky/channels.conf.sky \
%buildroot%configdir/plugins/sky/channels.conf.sky
%endif # plugins
# i18n
%find_lang %name
%find_lang %name-hello
%find_lang %name-pictures
%find_lang %name-skincurses
cat %name-hello.lang %name-pictures.lang %name-skincurses.lang > %name-plugins.lang
%pre
getent group %vdr_group >/dev/null || groupadd -r %vdr_group
getent passwd %vdr_user >/dev/null || \
useradd -r -g %vdr_group -s /sbin/nologin -M -n \
-c "Video Disk Recorder" %vdr_user
:
%post
%preun
%postun
[ $1 -gt 0 ] && %_initdir/vdr try-restart >/dev/null || :
%files -f %name.lang
%doc CONTRIBUTORS COPYING HISTORY* INSTALL MANUAL README* UPDATE-1.?.0
%doc CHANGES.package.old
%doc vdr.fc9.spec
%config(noreplace) %_sysconfdir/udev/rules.d/*-%name.rules
%config(noreplace) %_sysconfdir/security/console.perms.d/*-%name.perms
%config(noreplace) %_sysconfdir/rwtab.d/%name
%config(noreplace) %_sysconfdir/sysconfig/vdr
%config %dir %_sysconfdir/sysconfig/vdr-plugins.d/
%_bindir/epg2html
%_bindir/svdrpsend
%_sbindir/*
%dir %plugindir/
%dir %plugindir/bin/
%plugindir/bin/*
%datadir/
%_mandir/man[58]/vdr.[58]*
%defattr(-,%vdr_user,%vdr_group,-)
# TODO: tighten ownerships to root:root for some files in %configdir
%config(noreplace) %configdir/*.conf
%ghost %vardir/next-wakeup
%ghost %vardir/themes/*.theme
%ghost %cachedir/epg.data
%defattr(-,%vdr_user,root,-)
%dir %configdir/
%dir %configdir/plugins/
%dir %rundir/
%dir %vardir/
%dir %vardir/themes/
%dir %cachedir/
%files devel
%doc COPYING
%doc PLUGINS.html
%_bindir/vdr-config
%_bindir/vdr-i18n-to-gettext
%_bindir/vdr-newplugin
%_includedir/libsi/
%_includedir/vdr/
#_pkgconfigdir/vdr.pc
%dir %_libexecdir/vdr/
%_libexecdir/vdr/Make.config
%_libexecdir/vdr/config.h
%_libexecdir/vdr/vdr
%if_with plugins
%files plugins -f %name-plugins.lang
%doc PLUGINS/src/skincurses/COPYING PLUGINS/src/skincurses/HISTORY
%doc PLUGINS/src/skincurses/README
%config(noreplace) %_sysconfdir/sysconfig/vdr-plugins.d/skincurses.conf
%doc PLUGINS/src/sky/COPYING PLUGINS/src/sky/HISTORY
%doc PLUGINS/src/sky/README PLUGINS/src/sky/lircd.conf.sky
%_bindir/getskyepg
%config(noreplace) %configdir/plugins/sky/channels.conf.sky
%config(noreplace) %_sysconfdir/sysconfig/vdr-plugins.d/sky.conf
%plugindir/*.so.%apiver
#exclude %_datadir/locale/*/*/%name.lang
%endif # plugins
%changelog
…
Full changelog you can see here
%undefine videodir
%undefine audiodir
%define plugindir %_libexecdir/vdr
%define configdir %_sysconfdir/vdr
%define datadir %_datadir/vdr
%define cachedir %_var/cache/vdr
%define rundir %_var/run/vdr
%define vardir %_var/lib/vdr
%define vdr_user vdr
%define vdr_group video
# From APIVERSION in config.h
%define apiver 1.6.0
Name: vdr
Version: 1.6.0
Release: alt1
Group: Video
License: GPLv2+
Summary: Digital satellite receiver box with advanced features
Summary(ru_RU.UTF-8): Цифровой спутниковый приёмник с широкими возможностями
Url: http://www.cadsoft.de/vdr/
Packager: Hihin Ruslan <ruslandh at altlinux.ru>
Source: ftp://ftp.cadsoft.de/vdr/%name-%version.tar.bz2
#Source1: %%name.init
Source2: %name.sysconfig
# TODO
Source4: %name-udev.rules
Source5: %name-reccmds.conf
Source6: %name-commands.conf
Source7: %name-runvdr.sh
# TODO
Source8: %name.consoleperms
Source9: %name-config.sh
Source10: %name-README.package
Source11: %name-skincurses.conf
Source12: %name-sky.conf
Source13: %name-timercmds.conf
Source14: %name-shutdown.sh
Source15: %name-moveto.sh
Source16: %name-CHANGES.package.old
Source17: %name-halt.local.sh
Source18: %name.fc9.spec
# TODO
Patch: %name-channel+epg.patch
# TODO
Patch1: http://zap.tartarus.org/~ds/debian/dists/stable/main/source/vdr_1.4.5-2.ds.diff.gz
Patch2: http://www.saunalahti.fi/~rahrenbe/vdr/patches/vdr-1.6.0-liemikuutio-1.21.diff.gz
Patch3: %name-1.6.0-scriptnames.patch
Patch4: %name-1.6.0-paths.patch
Patch5: %name-1.5.18-use-pkgconfig.patch
# http://article.gmane.org/gmane.linux.vdr/36097
Patch6: %name-1.5.18-syncearly.patch
Patch7: http://www.saunalahti.fi/~rahrenbe/vdr/patches/vdr-1.6.0-ttxtsubs-0.0.5.diff.gz
Patch8: %name-1.6.0-man-section.patch
# Patch9: http://www.udo-richter.de/vdr/files/vdr-1.5.13-hlcutter-0.2.0.diff
# edited so that it applies on top of the liemikuutio patch (menu.c)
Patch9: %name-1.5.18-hlcutter-0.2.0.diff
# TODO
Patch10: %name-1.4.7-hlcutter-0.2.0-finnish.patch
# mainmenuhooks, timercmd and progressbar-support from
# http://winni.vdr-developer.org/epgsearch/downloads/vdr-epgsearch-0.9.24.tgz
Patch11: MainMenuHooks-v1_0.patch
Patch12: timercmd-0.1_1.6.0.diff
Patch13: %name-1.5.17-progressbar-support-0.0.1.diff
Patch14: %name-1.6.0-includes+pkgconfig.patch
Patch15: %name-1.6.0-fedora-pkgconfig.patch
Patch16: %name-1.6.0-dxr3-subtitles.patch
Patch17: http://toms-cafe.de/vdr/download/vdr-timer-info-0.5-1.5.15.diff
Patch18: ftp://ftp.cadsoft.de/vdr/Developer/vdr-1.6.0-1.diff
Patch19: ftp://ftp.cadsoft.de/vdr/Developer/vdr-1.6.0-2.diff
Patch21: keymacros-prefermenu.diff
Patch22: vdr-1.6.0-correct.patch
# Automatically added by buildreq on Sun Dec 21 2008
BuildRequires: fontconfig-devel gcc-c++ libcap-devel libfreetype-devel libjpeg-devel libncurses-devel
%description
VDR implements a complete digital set-top-box and video recorder.
It can work with signals received from satellites (DVB-S) as well as
cable (DVB-C) and terrestrial (DVB-T) signals. At least one DVB card
is required to run VDR.
%description -l ru_RU.UTF-8
VDR позволяет превратить компьютер с Linux и DVB картой в приёмник цифрового ТВ и Радио с
широкими возможностями. Помимо базовых функций, таких как просмотр ТВ, запись и сдвиг
принимаемой программы во времени, VDR позволяет проигрывать музыку в формате MP3/Ogg и любые
видеоформаты, поддерживаемые MPlayer, а также сохранять сделанные записи на CD или DVD.
Немногие бытовые приёмники на рынке способны сравниться с VDR по своим возможностям.
%package devel
Summary: Files required for building plugins for VDR
Summary(ru_RU.UTF-8): Файлы необходимые для сборки модулей расширения VDR
Group: Development/Other
Requires: %name
%description devel
A set of files required for building plugins for VDR
%description devel -l ru_RU.UTF-8
Пакет содержит набор файлов необходимых для сборки модулей расширения VDR.
%package plugins
Summary: Plugins for VDR
Group: Video
%if_with plugins
BuildRequires: libncurses-devel
%endif # plugins
Requires: vdr(abi) = %apiver
%description plugins
Plugins for VDR
The skincurses plugin implements a VDR skin that works in a shell
window, using only plain text output.
The sky plugin implements a new device for VDR, which is based on the
MPEG2 encoder card described at linuxtv.org/mpeg2/kfir.xml. It allows
you to connect the analog a/v output of your Sky Digibox to VDR, so
that you can enjoy the full recording flexibility of VDR with your Sky
subscription. You will need a Sky Digibox and a valid subscription in
order to use this plugin.
%description plugins -l ru_RU.UTF-8
Пакет содержит набор модули расширения VDR.
%prep
%setup -q
# TODO: does not apply
#patch0 -p1
%patch1 -p1
# TODO: does not apply
#patch -F 0 -i debian/patches/02_plugin_missing.dpatch
# sort_options would be nice, but it conflicts with channel+epg which is nicer
#patch -F 0 -i debian/patches/02_sort_options.dpatch
patch -F 0 -i debian/patches/06_recording_scan_speedup.dpatch
patch -F 2 -i debian/patches/07_blockify_define.dpatch
patch -F 0 -i debian/patches/10_livelock.dpatch
patch -F 0 -i debian/patches/11_atsc.dpatch
echo "DEFINES += -DHAVE_ATSC" >> Makefile
patch -F 0 -i debian/patches/19_debian_osdbase_maxitems.dpatch
# TODO: does not apply, check upstream for a 1.6.x version:
# http://www.ktverkko.fi/~msmakela/software/vdr/
#patch -F 0 -i debian/patches/opt-20_suspend.dpatch
%patch2 -p1
%patch3 -p1
sed \
-e 's|__CACHEDIR__|%cachedir|' \
-e 's|__CONFIGDIR__|%configdir|' \
-e 's|__PLUGINDIR__|%plugindir|' \
-e 's|__VARDIR__|%vardir|' \
%PATCH4 | patch -p1 -F 1
# -e 's|__VIDEODIR__|%%videodir|' \
%patch5 -p1
%patch6 -p0
%patch7 -p1
%patch8 -p1
patch -p0 -F 1 -i %PATCH9
# TODO: does not apply
#patch10 -p0
patch -p1 -F 2 -i %PATCH11
# timer-info patch needs to come before timercmd patch to avoid conflicts
%patch17 -p1
patch -p1 -F 2 -i %PATCH12
%patch13 -p1
patch -p0 -F 2 -i %PATCH14
%patch15 -p0
%patch16 -p0
%patch18 -p1
%patch19 -p1
%patch21 -p1
%patch22 -p1
for f in CONTRIBUTORS HISTORY* UPDATE-1.4.0 README.timer-info ; do
iconv -f iso-8859-1 -t utf-8 -o $f.utf8 $f && mv $f.utf8 $f
done
cp -p %SOURCE5 reccmds.conf
cp -p %SOURCE13 timercmds.conf
# Unfortunately these can't have comments in them, so ship 'em empty.
cat /dev/null > channels.conf
cat /dev/null > remote.conf
cat /dev/null > setup.conf
cat /dev/null > timers.conf
install -pm 644 %SOURCE10 README.package
install -pm 644 %SOURCE16 CHANGES.package.old
# Would like to do "files {channels,setup,timers}.conf" from config dir
# only, but rename() in cSafeFile barks "device or resource busy", cf.
# http://lists.suse.com/archive/suse-programming-e/2003-Mar/0051.html
cat << EOF > %name.rwtab
dirs %cachedir
files %configdir
files %vardir
EOF
# Disable some graphs that end up too big to be useful.
for g in COLLABORATION INCLUDE INCLUDED_BY ; do
sed -i -e 's/^\(\s*'$g'_GRAPH\s*=\s*\).*/\1NO/' Doxyfile
done
cat << EOF > Make.config
CC = gcc
CXX = g++
ifeq (\$(RPM_OPT_FLAGS),)
CFLAGS = $RPM_OPT_FLAGS
CXXFLAGS = $RPM_OPT_FLAGS -Wall -Woverloaded-virtual -Wno-parentheses
else
CFLAGS = \$(RPM_OPT_FLAGS)
CXXFLAGS = \$(RPM_OPT_FLAGS) -Wall -Woverloaded-virtual -Wno-parentheses
endif
ifdef PLUGIN
CFLAGS += -fPIC
CXXFLAGS += -fPIC
endif
MANDIR = %_mandir
BINDIR = %_sbindir
LOCDIR = %_datadir/locale
PLUGINLIBDIR = %plugindir
VIDEODIR =
CONFDIR = %configdir
INCLUDEDIR = %_includedir
INCLUDES += -I/usr/include/freetype2
VDR_USER = %vdr_user
EOF
%build
%make_build vdr vdr.pc include-dir \
BINDIR=%_sbindir INCLUDEDIR=%_includedir CONFDIR=%configdir \
VIDEODIR= PLUGINLIBDIR=%plugindir LOCDIR=%_datadir/locale \
AUDIODIR= DATADIR=%datadir CACHEDIR=%cachedir \
RUNDIR=%rundir VARDIR=%vardir VDR_GROUP=%vdr_group
%make_build i18n LOCALEDIR=./locale
%if_with plugins
#make_build -C PLUGINS/src/skincurses LIBDIR=. all
#make_build -C PLUGINS/src/sky LIBDIR=. all
make plugins
%endif # plugins
%install
cp %SOURCE18 ./
install -Dpm 755 vdr %buildroot%_sbindir/vdr
install -dm 755 %buildroot%_bindir
install -pm 755 svdrpsend.pl %buildroot%_bindir/svdrpsend
install -pm 755 epg2html.pl %buildroot%_bindir/epg2html
#export PKG_CONFIG_PATH=.
#make_install install-i18n install-includes install-pc install-doc \
# PCDIR=%_pkgconfigdir DESTDIR=%buildroot
%makeinstall
install -dm 755 %buildroot%configdir/plugins
install -pm 644 *.conf %buildroot%configdir
install -dm 755 %buildroot%_sysconfdir/sysconfig/vdr-plugins.d
install -dm 755 %buildroot%vardir/themes
touch %buildroot%vardir/themes/{classic,sttng}-default.theme
#install -Dpm 755 %%SOURCE1 %%buildroot%%_initdir/vdr
#sed -i \
# -e 's|%%_sbindir/|%%_sbindir/|' \
# -e 's|%%_sysconfdir/vdr/|%%configdir/|g' \
# -e 's|VDR_USER|%%vdr_user|' \
# -e 's|VDR_GROUP|%%vdr_group|' \
#%%buildroot%%_initdir/vdr
install -pm 755 %SOURCE7 %buildroot%_sbindir/runvdr
sed -i \
-e 's|%_sbindir/|%_sbindir/|' \
-e 's|%_sysconfdir/sysconfig/|%_sysconfdir/sysconfig/|g' \
-e 's|%_libexecdir/vdr\b|%plugindir|' \
-e 's|VDR_PLUGIN_VERSION|%apiver|' \
%buildroot%_sbindir/runvdr
install -dm 755 %buildroot%_sysconfdir/sysconfig
sed -e 's|%_libexecdir/vdr/|%plugindir/|' < %SOURCE2 \
> %buildroot%_sysconfdir/sysconfig/vdr
chmod 644 %buildroot%_sysconfdir/sysconfig/vdr
#install -dm 755 %%buildroot%%videodir
#install -dm 755 %%buildroot%%audiodir
#touch %%buildroot%%videodir/.update
install -dm 755 %buildroot%plugindir/bin
sed -e 's|/var/lib/vdr/|%vardir/|' < %SOURCE14 \
> %buildroot%plugindir/bin/%name-shutdown.sh
chmod 755 %buildroot%plugindir/bin/%name-shutdown.sh
sed -e 's|/var/lib/vdr/|%vardir/|' \
-e 's|%_libexecdir/vdr/bin/|%plugindir/bin/|' < %SOURCE17 \
> %buildroot%plugindir/bin/%name-halt.local.sh
chmod 755 %buildroot%plugindir/bin/%name-halt.local.sh
#sed -e 's|//tmp/vdr/vdr|' -e 's|%%_sysconfdir/vdr/|%%configdir/|' \
# < %%SOURCE15 > %%buildroot%plugindir/bin/%name-moveto.sh
#chmod 755 %buildroot%plugindir/bin/%name-moveto.sh
install -dm 755 %buildroot%cachedir
touch %buildroot%cachedir/epg.data
install -dm 755 %buildroot%datadir/logos
install -dm 755 %buildroot%rundir
install -dm 755 %buildroot%vardir
touch %buildroot%vardir/next-wakeup
install -dm 755 %buildroot%_sysconfdir/udev/rules.d
sed -e 's/VDR_GROUP/%vdr_group/' < %SOURCE4 \
> %buildroot%_sysconfdir/udev/rules.d/51-%name.rules
chmod 644 %buildroot%_sysconfdir/udev/rules.d/*-%name.rules
install -dm 755 %buildroot%_sysconfdir/security/console.perms.d
sed -e 's/VDR_GROUP/%vdr_group/' < %SOURCE8 \
> %buildroot%_sysconfdir/security/console.perms.d/95-%name.perms
chmod 644 %buildroot%_sysconfdir/security/console.perms.d/*%name.perms
install -Dpm 644 %name.rwtab %buildroot%_sysconfdir/rwtab.d/%name
# devel
install -pm 755 %SOURCE9 %buildroot%_bindir/vdr-config
install -pm 755 i18n-to-gettext.pl %buildroot%_bindir/vdr-i18n-to-gettext
install -pm 755 newplugin %buildroot%_bindir/vdr-newplugin
install -pm 644 Make.config %buildroot%_libexecdir/vdr
ln -s %_includedir/vdr/config.h %_libexecdir/vdr %buildroot%_libexecdir/vdr
# plugins
%if_with plugins
make install-plugins
#install -pm 755 PLUGINS/src/skincurses/libvdr-skincurses.so.%apiver \
##buildroot#plugindir
install -d 755 %buildroot%_sysconfdir/sysconfig/vdr-plugins.d/
install -pm 644 %SOURCE11 \
%buildroot%_sysconfdir/sysconfig/vdr-plugins.d/skincurses.conf
#install -pm 755 PLUGINS/src/sky/libvdr-sky.so.%apiver \
#buildroot#plugindir
install -pm 644 %SOURCE12 \
%buildroot%_sysconfdir/sysconfig/vdr-plugins.d/sky.conf
install -pm 755 PLUGINS/src/sky/getskyepg.pl \
%buildroot%_bindir/getskyepg
install -Dpm 644 PLUGINS/src/sky/channels.conf.sky \
%buildroot%configdir/plugins/sky/channels.conf.sky
%endif # plugins
# i18n
%find_lang %name
%find_lang %name-hello
%find_lang %name-pictures
%find_lang %name-skincurses
cat %name-hello.lang %name-pictures.lang %name-skincurses.lang > %name-plugins.lang
%pre
getent group %vdr_group >/dev/null || groupadd -r %vdr_group
getent passwd %vdr_user >/dev/null || \
useradd -r -g %vdr_group -s /sbin/nologin -M -n \
-c "Video Disk Recorder" %vdr_user
:
%post
%preun
%postun
[ $1 -gt 0 ] && %_initdir/vdr try-restart >/dev/null || :
%files -f %name.lang
%doc CONTRIBUTORS COPYING HISTORY* INSTALL MANUAL README* UPDATE-1.?.0
%doc CHANGES.package.old
%doc vdr.fc9.spec
%config(noreplace) %_sysconfdir/udev/rules.d/*-%name.rules
%config(noreplace) %_sysconfdir/security/console.perms.d/*-%name.perms
%config(noreplace) %_sysconfdir/rwtab.d/%name
%config(noreplace) %_sysconfdir/sysconfig/vdr
%config %dir %_sysconfdir/sysconfig/vdr-plugins.d/
%_bindir/epg2html
%_bindir/svdrpsend
%_sbindir/*
%dir %plugindir/
%dir %plugindir/bin/
%plugindir/bin/*
%datadir/
%_mandir/man[58]/vdr.[58]*
%defattr(-,%vdr_user,%vdr_group,-)
# TODO: tighten ownerships to root:root for some files in %configdir
%config(noreplace) %configdir/*.conf
%ghost %vardir/next-wakeup
%ghost %vardir/themes/*.theme
%ghost %cachedir/epg.data
%defattr(-,%vdr_user,root,-)
%dir %configdir/
%dir %configdir/plugins/
%dir %rundir/
%dir %vardir/
%dir %vardir/themes/
%dir %cachedir/
%files devel
%doc COPYING
%doc PLUGINS.html
%_bindir/vdr-config
%_bindir/vdr-i18n-to-gettext
%_bindir/vdr-newplugin
%_includedir/libsi/
%_includedir/vdr/
#_pkgconfigdir/vdr.pc
%dir %_libexecdir/vdr/
%_libexecdir/vdr/Make.config
%_libexecdir/vdr/config.h
%_libexecdir/vdr/vdr
%if_with plugins
%files plugins -f %name-plugins.lang
%doc PLUGINS/src/skincurses/COPYING PLUGINS/src/skincurses/HISTORY
%doc PLUGINS/src/skincurses/README
%config(noreplace) %_sysconfdir/sysconfig/vdr-plugins.d/skincurses.conf
%doc PLUGINS/src/sky/COPYING PLUGINS/src/sky/HISTORY
%doc PLUGINS/src/sky/README PLUGINS/src/sky/lircd.conf.sky
%_bindir/getskyepg
%config(noreplace) %configdir/plugins/sky/channels.conf.sky
%config(noreplace) %_sysconfdir/sysconfig/vdr-plugins.d/sky.conf
%plugindir/*.so.%apiver
#exclude %_datadir/locale/*/*/%name.lang
%endif # plugins
%changelog
…
Full changelog you can see here