Sophie

Sophie

distrib > Mandriva > 10.0 > i586 > by-pkgid > 3710f92adafb97a3fa21e4da84405303 > files > 14

freevo-1.4.1-13mdk.src.rpm

%define 	name 	freevo
%define 	version 1.4.1
%define 	release 13mdk

%define 	_cachedir /var/cache
%define         py_ver 	  %(python -c 'import sys; print sys.version[:3]')

# Set default freevo parameters
%define display  x11

Summary:        Freevo is an open-source digital video jukebox 
Name: 		%{name}
Version: 	%{version}
Release: 	%{release}
URL:            http://freevo.sourceforge.net/
Source0: 	%{name}-%{version}.tar.gz
Source1: 	redhat-boot_config
Source2:	local_conf.py
Source3:	freevo-crystal-theme-0.5.tar.gz
Source4:	firebird.py
Source5:	usbstorage.py
Source6:	pinnacle_PCTV
Source7:	freevo_tvgrab
Source8:	mute
Source9:	unmute
Patch1: 	%{name}-resolution.patch.bz2
Patch2: 	%{name}-detachbar.patch.bz2
Patch3: 	%{name}-supermount.patch.bz2
Patch4: 	%{name}-usbstorage.patch.bz2
Patch5: 	%{name}-webserver.patch.bz2
Patch6: 	%{name}-boot.patch.bz2
Patch7: 	%{name}-volume.patch.bz2
Patch8: 	%{name}-deinterlace.patch.bz2
Patch9: 	%{name}-imdb_lookup_fix.patch.bz2
Patch10: 	%{name}-manualrecord.patch.bz2
License: 	GPL
Group: 		Video
Packager:	Erwan Velu <erwan@mandrakesoft.com>
PreReq: 	rpm-helper
BuildRoot: 	%{_tmppath}/%{name}-buildroot
BuildRequires: 	docbook-utils, wget,python >= 2.2, pygame >= 1.5, python-twisted >= 1.1.0, python-imaging >= 1.1.4, python-mm >= 0.3
Requires:  	python >= 2.2, pygame >= 1.5, python-twisted >= 1.1.0, python-imaging >= 1.1.4, python-mm >= 0.3, python-lirc >= 0.0.4, mplayer, tvtime, xine-ui, xmltv, PyXML, libjpeg-progs, mencoder, cdparanoia, vorbis-tools, util-linux 

%description
Freevo is a Linux application that turns a PC with a TV capture card
and/or TV-out into a standalone multimedia jukebox/VCR. It builds on
other applications such as xine, mplayer, tvtime and mencoder to play
and record video and audio.

Available rpmbuild rebuild options :
--without: use_sysapps

%prep
rm -rf $RPM_BUILD_ROOT
%setup -q 
%patch1 -p0
#%patch2 -p1
%patch3 -p0
%patch4 -p0
%patch5 -p0
%patch6 -p0
#%patch7 -p0
%patch8 -p0
%patch9 -p0
%patch10 -p0

%build
find . -name CVS | xargs rm -rf
find . -name ".cvsignore" |xargs rm -f
find . -name "*.pyc" |xargs rm -f
find . -name "*.pyo" |xargs rm -f
find . -name "*.py" |xargs chmod 644

#./autogen.sh

env CFLAGS="$RPM_OPT_FLAGS" python setup.py build

mkdir -p %{buildroot}%{_sysconfdir}/freevo
# The following is needed to let RPM know that the files should be backed up
touch %{buildroot}%{_sysconfdir}/freevo/freevo.conf

# boot scripts
mkdir -p %{buildroot}%{_initrddir}
mkdir -p %{buildroot}%{_bindir}
install -m 644 -D %{SOURCE1} %{buildroot}%{_sysconfdir}/freevo/boot_config


mkdir -p %{buildroot}%{_cachedir}/freevo
mkdir -p %{buildroot}%{_cachedir}/freevo/{thumbnails,audio}
mkdir -p %{buildroot}%{_cachedir}/xmltv/logos
chmod 777 %{buildroot}%{_cachedir}/{freevo,freevo/thumbnails,freevo/audio,xmltv,xmltv/logos}


%install
rm -rf $RPM_BUILD_ROOT/%{name}-%{version}
mkdir -p %{buildroot}%{_initrddir}
mkdir -p %{buildroot}/etc/freevo
mkdir -p %{buildroot}%{_datadir}/%{name}/contrib
mkdir -p %{buildroot}%{_docdir}/%{name}-%{version}
mkdir -p %{buildroot}/tmp/%{name}/Videos
mkdir -p %{buildroot}/etc/cron.weekly

install %SOURCE5 $RPM_BUILD_DIR/%{name}-%{version}/src/image/plugins
install %SOURCE5 $RPM_BUILD_DIR/%{name}-%{version}/src/audio/plugins
install %SOURCE5 $RPM_BUILD_DIR/%{name}-%{version}/src/video/plugins
install %SOURCE6 $RPM_BUILD_DIR/%{name}-%{version}/contrib/lirc

python setup.py install %{?_without_compile_obj:--no-compile} --root=$RPM_BUILD_ROOT --record=INSTALLED_FILES

# Olivier Thauvin: I am not sure it's the good place for locales !
# cp -av i18n src %{buildroot}%{_datadir}/%{name}

#cp -av contrib/examples contrib/fbcon contrib/xmltv %{buildroot}%{_prefix}/contrib
cp -av contrib/lirc/ %{buildroot}/%{_datadir}/%{name}/contrib/
install -m 755 freevo %{buildroot}%{_datadir}/%{name}
install -m 755 freevo_config.py %{buildroot}%{_datadir}/%{name}
#find %{buildroot} -name "*.pyo" |xargs rm -f
install %SOURCE2 $RPM_BUILD_ROOT/%{_sysconfdir}/freevo/local_conf.py
install %SOURCE7 $RPM_BUILD_ROOT/etc/cron.weekly
install %SOURCE8 $RPM_BUILD_ROOT%{_datadir}/%{name}
install %SOURCE9 $RPM_BUILD_ROOT%{_datadir}/%{name}

#######################
#Installing Initscripts
#######################
#install -m 755 boot/freevo %{buildroot}%{_sysconfdir}/rc.d/init.d
#install -m 755 boot/freevo_dep %{buildroot}%{_sysconfdir}/rc.d/init.d
install -m 755 boot/recordserver %{buildroot}%{_initrddir}/freevo_recordserver
install -m 755 boot/webserver %{buildroot}%{_initrddir}/freevo_webserver
#install -m 755 boot/recordserver_init %{buildroot}%{_bindir}/freevo_recordserver_init
#install -m 755 boot/webserver_init %{buildroot}%{_bindir}/freevo_webserver_init

####################
# Installing Plugins
####################
install %SOURCE4 $RPM_BUILD_ROOT/%{_libdir}/python%{py_ver}/site-packages/freevo/plugins

###############
# Copying icons
###############
install -D -m 644 $RPM_BUILD_DIR/%{name}-%{version}/share/icons/misc/freevo_app.png $RPM_BUILD_ROOT%{_liconsdir}/%{name}.png
install -D -m 644 $RPM_BUILD_DIR/%{name}-%{version}/share/icons/misc/freevo_app.png $RPM_BUILD_ROOT%{_iconsdir}/%{name}.png
install -D -m 644 $RPM_BUILD_DIR/%{name}-%{version}/share/icons/misc/freevo_app.png $RPM_BUILD_ROOT%{_miconsdir}/%{name}.png

#####################
# Adding a menu entry
####################
install -d -m 755 $RPM_BUILD_ROOT%{_menudir}
cat >$RPM_BUILD_ROOT%{_menudir}/%{name} <<EOF
?package(%{name}):\
        command="%{_bindir}/%{name}"\
        needs="X11"\
        icon="%{name}.png"\
        section="Multimedia/Video"\
        title="Freevo"\
        longtitle="%{summary}"
EOF

####################
# About locales... #
####################

find %buildroot/%_datadir/locale -name "*.po" -exec rm -f {} \;
%find_lang %name

#Installing additional Themes
(cd $RPM_BUILD_ROOT/%{_datadir}/%{name}
tar -xvzf  %SOURCE3)

%pre
%_pre_useradd %{name} %{_datadir}/%{name} /bin/bash

%post
rm -rf /var/log/freevo 2>/dev/null
%{update_menus}

#Determining TV_NORM & CHANNEL_LIST from local clock
ZONE=`grep "ZONE" /etc/sysconfig/clock | sed -e "s/^ZONE\=\(.*\)\/\(.*\)/\1/g"`
CITY=`grep "ZONE" /etc/sysconfig/clock | sed -e "s/^ZONE\=\(.*\)\/\(.*\)/\2/g"`
TV_NORM="ntsc"
CHANNEL_LIST="us-cable"

if [ "${CITY}" = "Paris" ]; then
TV_NORM="secam"
CHANNEL_LIST="france"
else
        if [ "${ZONE}" = "Europe" ]; then
                TV_NORM="pal"
                CHANNEL_LIST="europe-west"
        fi
fi

#Determining current X configuration
RESOLUTION=`xdpyinfo 2>/dev/null | grep dimensions | awk '{ print $2 }'`
if [ "${RESOLUTION}" = "" ]; then 
	RESOLUTION = "800x600"
fi

# Copy old local_conf.py to replace dummy file
cd %{_datadir}/%{name}
./freevo setup --geometry=$RESOLUTION --display=%{display} \
        --tv=${TV_NORM} --chanlist=${CHANNEL_LIST} \
	%{!?_without_use_sysapps:--sysfirst} 

if [ ! -f /etc/freevo/lircrc ]; then
	ln -sf %{_datadir}/%{name}/contrib/lirc/pinnacle_PCTV /etc/freevo/lircrc
fi;
%_post_service freevo_webserver
%_post_service freevo_recordserver


%preun
%_preun_service freevo_recordserver
%_preun_service freevo_webserver

%clean
rm -rf $RPM_BUILD_ROOT

%postun
%{clean_menus}
%_postun_userdel %{name}

%files -f %name.lang
%defattr(-,root,root)
%doc BUGS COPYING ChangeLog FAQ INSTALL README TODO Docs local_conf.py.example
%{_datadir}/%{name}
%{_bindir}/freevo
%{_iconsdir}/freevo.png
%{_liconsdir}/freevo.png
%{_miconsdir}/freevo.png
%{_menudir}/freevo
%config(noreplace) /etc/cron.weekly/*
# Hu, even those files are need, tmpwatch will delete it !!
#%attr(777,root,root) %dir /tmp/%{name}/Videos
#%attr(777,root,root) %dir /tmp/%{name}/
%attr(777,root,root) %dir %{_cachedir}/freevo
%attr(777,root,root) %dir %{_cachedir}/freevo/audio
%attr(777,root,root) %dir %{_cachedir}/freevo/thumbnails
%attr(777,root,root) %dir %{_cachedir}/xmltv
%attr(777,root,root) %dir %{_cachedir}/xmltv/logos
%dir %{_sysconfdir}/freevo
%attr(644,root,root) %config(noreplace) %{_sysconfdir}/freevo/*
%config(noreplace) %attr(755,root,root) %{_sysconfdir}/rc.d/init.d/*
%{_libdir}/python%{py_ver}/site-packages/freevo

%changelog
* Thu Feb 26 2004 Olivier Thauvin <thauvin@aerov.jussieu.fr> 1.4.1-13mdk
- Fix files list
- %%find_lang

* Sat Jan 31 2004 Erwan Velu <erwan@mandrakesoft.com> 1.4.1-12mdk
- Fixing manualrecord.py (31th doesn't exist)
* Tue Jan 27 2004 Erwan Velu <erwan@mandrakesoft.com> 1.4.1-11mdk
- Imdb fix from Karee Brown
* Wed Jan 07 2004 Erwan Velu <erwan@mandrakesoft.com> 1.4.1-10mdk
- Cleaning specs
* Mon Dec 22 2003 Erwan Velu <erwan@mandrakesoft.com> 1.4.1-9mdk
- Reverting patch7
- Adding mute & unmute scripts
- Changing mencoder's call to use mute & unmute 
- Selecting 640x480 as default record geometry
- /etc/freevo/local_conf.py must be in %config
* Sun Dec 20 2003 Erwan Velu <erwan@mandrakesoft.com> 1.4.1-8mdk
- Adding LAME configuration
- Changing DIR_RECORD to /tmp/freevo/Videos
- Desactivating freevo webserver in config file (service exists)
- Imported VCR/TV section from cvs (mplayer/mencoder syntaxe will now match)
- Activating slideshows
- Activating LIRC
- Adding PCTV mapping
- Patch6: Changing initscript level (234) -> (2345)
- Cleaning Buildroot on install
- Adding weekly crontab for tv_grab
- Adding nointerlacing by default
- Patch7: Avoiding to reset LineIn, Mic, Igain (mencoder will record with nosound !)
- Patch8: Video is desinterlaced on playback by default (smoother)
* Thu Dec 18 2003 Erwan Velu <erwan@mandrakesoft.com> 1.4.1-7mdk
- Removing fr sample configuration file
- Adding cdbackup plugin by default
- Adding autostarted plugins
- Adding recording options
- Adding initscripts for webserver & recorder
- fixing initscripts to run webserver as user freevo
* Wed Dec 17 2003 Erwan Velu <erwan@mandrakesoft.com> 1.4.1-6mdk
- Adding usb-storage detection
* Wed Dec 17 2003 Erwan Velu <erwan@mandrakesoft.com> 1.4.1-5mdk
- Checking if /proc/ide/ entries exists :o) (guibo's bug)
* Tue Dec 16 2003 Erwan Velu <erwan@mandrakesoft.com> 1.4.1-4mdk
- A better detection of TimeZone (Non french users could'nt install freevo :( )
- Define a default resolution if X is not available
- A clever way to determine the python version
- A new sample configuration file
- Supermount patch : cdrom mounted with /dev/hdx wasn't detected :(
- Adding a default configuration file in /etc/freevo
- Mon Dec 15 2003 Erwan Velu <erwan@mandrakesoft.com> 1.4.1-3mdk
- More RSS feeds in local_py.conf.fr :)
* Mon Dec 15 2003 Erwan Velu <erwan@mandrakesoft.com> 1.4.1-2mdk
- Fixing buildrequires
- More resolutions
* Sun Dec 14 2003 Erwan Velu <erwan@mandrakesoft.com> 1.4.1-1mdk
- New version from Dirk Meyer
- Remove patch0 & patch1 not necessary anymore
- Remove patch2 merged upstream
- Remove patch3 merged upstream
- Remove patch5 merged upstream
- Readding src files
- Adding a patch for a better detection of SCSI & IDE-SCSI drives (merged upstream)
- Adding freevo menu entry
- Adding crystal theme
- Adding firebird module
* Sun Dec 13 2003 Erwan Velu <erwan@mandrakesoft.com> 1.4.0-4mdk
- Removing unecessary files
- Fixing supermount regexp (thx pterjan, warly)
* Sat Dec 12 2003 Erwan Velu <erwan@mandrakesoft.com> 1.4.0-3mdk
- Removing Crappy patch
- Deleting Remaining pyo files 
- French configuration if you are in Paris TimeZone
- Adding new resolutions in setup (1024*768 & 1280*960)
- Adding autodectection of current resolution
- Adding French Radios :)
- Adding sample local_conf.py for France
* Thu Dec 11 2003 Erwan Velu <erwan@mandrakesoft.com> 1.4.0-2mdk
- Strong cleanage in dependencies & spec file
- Adding deps
- Fixing "util" call
* Thu Dec 11 2003 Erwan Velu <erwan@mandrakesoft.com> 1.4.0-1mdk
- First Package 
- New version
* Wed Oct 15 2003 TC Wan <tcwan@cs.usm.my>
- Revised for binary package
* Wed Oct  8 2003 TC Wan <tcwan@cs.usm.my>
- Fixed boot scripts for RH 9, disabled freevo_dep since it's obsolete (?)
* Fri Sep 26 2003 TC Wan <tcwan@cs.usm.my>
- Removed testfiles from build since it's no longer part of the package
  Cleaned up conditional flags
* Thu Sep 18 2003 TC Wan <tcwan@cs.usm.my>
- Added supporting directories and files to package

* Fri Sep  5 2003 TC Wan <tcwan@cs.usm.my>
- Initial SPEC file for python site-packages installation