1 Summary: The Fluendo Streaming Server
2 Summary(pl.UTF-8): Serwer strumieni Fluendo
8 Source0: http://www.flumotion.net/src/flumotion/%{name}-%{version}.tar.bz2
9 # Source0-md5: 70256d8d80a0d5cda61e468116ff8be2
10 Patch0: %{name}-pdksh.patch
11 URL: http://www.flumotion.net/
12 BuildRequires: automake
13 BuildRequires: gstreamer-devel >= 0.10.10
14 BuildRequires: python-pygtk-devel >= 2.8.0
15 BuildRequires: python-gstreamer >= 0.10.4
16 BuildRequires: python-TwistedCore >= 2.0.1
17 BuildRequires: python-TwistedNames
18 BuildRequires: python-TwistedWeb
19 Requires: gstreamer-audio-effects-good
20 Requires: gstreamer-libpng
21 Requires: gstreamer-plugins-base >= 0.10.10
23 Requires: python-TwistedCore-ssl
24 Requires(pre): /usr/sbin/useradd
25 Requires(post,preun): /sbin/chkconfig
26 Requires(post): openssl-tools
27 Provides: user(flumotion)
28 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
31 Flumotion is a GPL streaming media server written in Python. It is distributed
32 and component-based: every step in the streaming process (production,
33 conversion, consumption) can be run inside a separate process on separate
36 Flumotion uses a central manager process to control the complete network; one
37 or more worker processes distributed over machines to run actual streaming
38 components; and one or more admin clients connecting to the manager to control
41 %description -l pl.UTF-8
42 Flumotion to serwer strumieni multimedialnych napisany w Pythonie i udostępniany
43 na licencji GPL. Jest to system rozproszony i modularny: każdy etap przetwarzania
44 strumienia (produkcja, konwersja, konsumpcja) może być przeprowadzany w osobnym
45 procesie i na osobnej maszynie.
47 Flumotion używa centralnego procesu zarządcy, który kontroluje cały system; jednego
48 lub więcej procesu robotnika czuwającego nad komponentami; jednego lub więcej
49 klienta administracji, pozwalającego na sprawowanie kontroli przez użytkownika.
60 rm -rf $RPM_BUILD_ROOT
63 DESTDIR=$RPM_BUILD_ROOT
65 mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/flumotion
67 # install service files
68 install -d $RPM_BUILD_ROOT%{_sysconfdir}/rc.d/init.d
70 doc/redhat/flumotion \
71 $RPM_BUILD_ROOT%{_sysconfdir}/rc.d/init.d
73 # create log and run and cache directory
74 install -d $RPM_BUILD_ROOT%{_localstatedir}/log/flumotion
75 install -d $RPM_BUILD_ROOT%{_localstatedir}/run/flumotion
76 install -d $RPM_BUILD_ROOT%{_localstatedir}/cache/flumotion
78 # Install the logrotate entry
79 install -m 0644 -D doc/redhat/flumotion.logrotate \
80 $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/flumotion
85 rm -rf $RPM_BUILD_ROOT
88 %groupadd -g 229 flumotion
89 %useradd -u 229 -d %{_localstatedir}/cache/flumotion -s /bin/false -g flumotion -c "Flumotion server" flumotion
92 /sbin/chkconfig --add flumotion
93 # generate a default .pem certificate ?
94 PEM_FILE="%{_sysconfdir}/flumotion/default.pem"
95 if ! test -e ${PEM_FILE}
97 sh %{_datadir}/flumotion/make-dummy-cert ${PEM_FILE}
98 chown :flumotion ${PEM_FILE}
102 # create a default planet config if no manager configs present
103 # the default login will be user/test
104 if ! test -e %{_sysconfdir}/flumotion/managers
106 mkdir -p %{_sysconfdir}/flumotion/managers/default/flows
107 cat > %{_sysconfdir}/flumotion/managers/default/planet.xml <<EOF
111 <!-- <debug>3</debug> -->
112 <host>localhost</host>
115 <transport>ssl</transport>
117 <!-- certificate path can be relative to $sysconfdir/flumotion,
120 <certificate>default.pem</certificate>
122 <component name="manager-bouncer" type="htpasswdcrypt-bouncer">
123 <property name="data"><![CDATA[
133 # create a default worker config if no worker configs present
134 # the default login will be user/test
135 if ! test -e %{_sysconfdir}/flumotion/workers
137 mkdir -p %{_sysconfdir}/flumotion/workers
138 cat > %{_sysconfdir}/flumotion/workers/default.xml <<EOF
141 <!-- <debug>3</debug> -->
145 <host>localhost</host>
150 <authentication type="plaintext">
151 <username>user</username>
152 <password>test</password>
155 <!-- <feederports>8600-8639</feederports> -->
163 # if removal and not upgrade, stop the processes, clean up locks
166 /sbin/service flumotion stop > /dev/null
168 rm -rf %{_localstatedir}/lock/flumotion*
169 rm -rf %{_localstatedir}/run/flumotion*
171 # clean out the cache/home dir too, without deleting it or the user
172 rm -rf %{_localstatedir}/cache/flumotion/*
173 rm -rf %{_localstatedir}/cache/flumotion/.[^.]*
175 /sbin/chkconfig --del flumotion
180 %defattr(644,root,root,755)
181 %attr(755,root,root) %{_sbindir}/%{name}
182 %attr(755,root,root) %{_bindir}/*
183 %attr(750,root,flumotion) %{_sysconfdir}/flumotion
184 %attr(540,root,flumotion) %{_sysconfdir}/logrotate.d/flumotion
185 %attr(770,root,flumotion) %{_localstatedir}/run/flumotion
186 %attr(770,root,flumotion) %{_localstatedir}/log/flumotion
187 %attr(770,flumotion,flumotion) %{_localstatedir}/cache/%{name}
188 %attr(754,root,flumotion) %{_sysconfdir}/rc.d/init.d/%{name}
191 %{_desktopdir}/%{name}-admin.desktop
192 %{_pkgconfigdir}/%{name}.pc
195 %doc ChangeLog COPYING README AUTHORS %{name}.doap