%define gst_minver 0.10.1 %define gstpb_minver 0.10.1 %define gstpy_minver 0.10.0 %define gstreamer gstreamer Name: flumotion Version: 0.2.0 Release: 1%{?dist} Summary: Flumotion - the Fluendo Streaming Server Group: Applications/Internet License: GPL URL: http://www.flumotion.net/ Source: http://www.flumotion.net/src/flumotion/%{name}-%{version}.tar.bz2 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root Requires: python >= 2.3 Requires: %{gstreamer} >= %{gst_minver} Requires: %{gstreamer}-plugins-base >= %{gstpb_minver} Requires: %{gstreamer}-python >= %{gstpy_minver} Requires: python-twisted >= 1.3.0 Requires: pygtk2 >= 2.8.0 Requires: python-imaging # for make-dummy-cert to work Requires(post): openssl BuildRequires: %{gstreamer}-devel >= %{gst_minver} BuildRequires: %{gstreamer}-python >= %{gstpy_minver} BuildRequires: python-twisted >= 1.3.0 BuildRequires: python-devel >= 2.3 BuildRequires: pygtk2-devel >= 2.8.0 BuildRequires: gtk2-devel # docs BuildRequires: epydoc # sigh, libtool BuildRequires: gcc-c++ BuildRequires: desktop-file-utils # since we compile pytrayicon, we're no longer noarch # BuildArch: noarch %description Flumotion, the Fluendo Streaming Server. %prep %setup -q %build %configure make %install rm -rf $RPM_BUILD_ROOT # use DESTDIR so compiled python files get tagged correctly with their # final location make DESTDIR=$RPM_BUILD_ROOT install # desktop file desktop-file-install --vendor fedora \ --dir $RPM_BUILD_ROOT%{_datadir}/applications \ --add-category X-Fedora \ --delete-original \ $RPM_BUILD_ROOT/%{_datadir}/applications/flumotion-admin.desktop mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/flumotion/managers/default/flows mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/flumotion/workers # install make-dummy-cert script install -d $RPM_BUILD_ROOT%{_datadir}/flumotion install -m 644 \ doc/redhat/make-dummy-cert \ $RPM_BUILD_ROOT%{_datadir}/flumotion # install service files install -d $RPM_BUILD_ROOT%{_sysconfdir}/rc.d/init.d install -m 755 \ doc/redhat/flumotion \ $RPM_BUILD_ROOT%{_sysconfdir}/rc.d/init.d # create a .flumotion in the new home # FIXME: needs to be done more gracefully install -d -m 755 $RPM_BUILD_ROOT%{_datadir}/flumotion/.flumotion # create log and run and cache directory install -d $RPM_BUILD_ROOT%{_localstatedir}/log/flumotion install -d $RPM_BUILD_ROOT%{_localstatedir}/run/flumotion install -d $RPM_BUILD_ROOT%{_localstatedir}/cache/flumotion %find_lang flumotion %clean rm -rf $RPM_BUILD_ROOT %pre /usr/sbin/useradd -s /sbin/nologin -r -d %{_datadir}/flumotion -M -r \ flumotion > /dev/null 2> /dev/null || : %post /sbin/chkconfig --add flumotion # generate a default .pem certificate ? PEM_FILE="%{_sysconfdir}/flumotion/default.pem" if ! test -e ${PEM_FILE} then sh %{_datadir}/flumotion/make-dummy-cert ${PEM_FILE} chown :flumotion ${PEM_FILE} chmod 640 ${PEM_FILE} fi # create a default planet config if no manager configs present # the default login will be user/test # FIXME: still need a way of specifying we really do not want a default manager if ! ls %{_sysconfdir}/flumotion/managers/*/*.xml >/dev/null 2>&1 then cat > %{_sysconfdir}/flumotion/managers/default/planet.xml < localhost EOF fi # create a default worker config if no worker configs present # the default login will be user/test # FIXME: still need a way of specifying we really do not want a default worker if ! test -e %{_sysconfdir}/flumotion/*/default.xml then cat > %{_sysconfdir}/flumotion/workers/default.xml < user test EOF fi %preun /sbin/chkconfig --del flumotion # if removal and not upgrade, stop the processes, clean up locks if [ $1 -eq 0 ] then /sbin/service flumotion stop > /dev/null rm -rf %{_localstatedir}/lock/flumotion* rm -rf %{_localstatedir}/run/flumotion* fi # Think about this first, we don't really want to stop everything #%postun # if [ $1 -ge 1 ]; then # /sbin/service flumotion condrestart # fi %files -f flumotion.lang %defattr(-,root,root,-) %doc ChangeLog COPYING README AUTHORS %doc doc/reference/html %doc conf %{_bindir}/flumotion-manager %{_bindir}/flumotion-worker %{_bindir}/flumotion-admin %{_bindir}/flumotion-admin-text %{_bindir}/flumotion-command %{_bindir}/flumotion-tester %{_bindir}/flumotion-job %{_bindir}/flumotion-inspect %{_bindir}/flumotion-launch %{_sbindir}/flumotion %{_libdir}/flumotion %{_libdir}/pkgconfig/flumotion.pc %{_datadir}/applications/*.desktop %{_datadir}/pixmaps/* %{_mandir}/man1/flumotion*.1* %{_datadir}/flumotion/glade %{_datadir}/flumotion/image %{_datadir}/flumotion/make-dummy-cert %{_datadir}/flumotion/*.xsl %dir %attr(750,flumotion,root) %{_datadir}/flumotion/.flumotion %attr(750,flumotion,root) %{_sysconfdir}/flumotion %attr(750,flumotion,root) %{_localstatedir}/run/flumotion %attr(750,flumotion,root) %{_localstatedir}/log/flumotion %attr(750,flumotion,root) %{_localstatedir}/cache/flumotion %{_sysconfdir}/rc.d/init.d/flumotion %changelog * Sun Mar 05 2006 Thomas Vander Stichele - 0.2.0-1 - new upstream release * Fri May 20 2005 Thomas Vander Stichele - 0.1.8-1 - new upstream release * Thu Apr 21 2005 Thomas Vander Stichele - Use desktop-file-utils * Mon Feb 14 2005 Christian Schaller - Add desktop file for admin tool and icon * Thu Nov 11 2004 Thomas Vander Stichele - Integrate changes from issue 86 * Fri Nov 05 2004 Christian Schaller - Add call to chkconfig script in post and preun parts to get our service into the service list * Fri Nov 05 2004 Thomas Vander Stichele - use DESTDIR install to fix python compiles * Mon Jun 07 2004 Thomas Vander Stichele - first package