]> git.pld-linux.org Git - packages/flumotion.git/blame_incremental - flumotion.spec
- more pldize
[packages/flumotion.git] / flumotion.spec
... / ...
CommitLineData
1Summary: The Fluendo Streaming Server
2Summary(pl.UTF-8): Serwer strumieni Fluendo
3Name: flumotion
4Version: 0.5.1
5Release: 0.4
6License: GPL
7Group: Daemons
8Source0: http://www.flumotion.net/src/flumotion/%{name}-%{version}.tar.bz2
9# Source0-md5: 70256d8d80a0d5cda61e468116ff8be2
10Source1: %{name}.init
11Patch0: %{name}-pdksh.patch
12URL: http://www.flumotion.net/
13BuildRequires: automake
14BuildRequires: gstreamer-devel >= 0.10.10
15BuildRequires: python-pygtk-devel >= 2.8.0
16BuildRequires: python-gstreamer >= 0.10.4
17BuildRequires: python-TwistedCore >= 2.0.1
18BuildRequires: python-TwistedNames
19BuildRequires: python-TwistedWeb
20Requires(pre): /usr/sbin/useradd
21Requires(post,preun): /sbin/chkconfig
22Requires(post): openssl-tools
23Requires: gstreamer-audio-effects-good
24Requires: gstreamer-libpng
25Requires: gstreamer-plugins-base >= 0.10.10
26Requires: python-PIL
27Requires: python-TwistedCore-ssl
28Provides: user(flumotion)
29BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
30
31%description
32Flumotion is a GPL streaming media server written in Python. It is
33distributed and component-based: every step in the streaming process
34(production, conversion, consumption) can be run inside a separate
35process on separate machines.
36
37Flumotion uses a central manager process to control the complete
38network; one or more worker processes distributed over machines to run
39actual streaming components; and one or more admin clients connecting
40to the manager to control it.
41
42%description -l pl.UTF-8
43Flumotion to serwer strumieni multimedialnych napisany w Pythonie i
44udostępniany na licencji GPL. Jest to system rozproszony i modularny:
45każdy etap przetwarzania strumienia (produkcja, konwersja, konsumpcja)
46może być przeprowadzany w osobnym procesie i na osobnej maszynie.
47
48Flumotion używa centralnego procesu zarządcy, który kontroluje cały
49system; jednego lub więcej procesu robotnika czuwającego nad
50komponentami; jednego lub więcej klienta administracji, pozwalającego
51na sprawowanie kontroli przez użytkownika.
52
53%prep
54%setup -q
55%patch0 -p1
56
57%build
58%configure
59%{__make}
60
61%install
62rm -rf $RPM_BUILD_ROOT
63
64%{__make} install \
65 DESTDIR=$RPM_BUILD_ROOT
66
67mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/flumotion
68
69# install service files
70install -d $RPM_BUILD_ROOT%{_sysconfdir}/rc.d/init.d
71install -m 755 %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/rc.d/init.d/%{name}
72
73# create log and run and cache directory
74install -d $RPM_BUILD_ROOT%{_localstatedir}/log/flumotion
75install -d $RPM_BUILD_ROOT%{_localstatedir}/run/flumotion
76install -d $RPM_BUILD_ROOT%{_localstatedir}/cache/flumotion
77
78# Install the logrotate entry
79install -m 0644 -D doc/redhat/flumotion.logrotate \
80 $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/flumotion
81
82%find_lang flumotion
83
84%clean
85rm -rf $RPM_BUILD_ROOT
86
87%pre
88%groupadd -g 229 flumotion
89%useradd -u 229 -d %{_localstatedir}/cache/flumotion -s /bin/false -g flumotion -c "Flumotion server" flumotion
90
91%post
92/sbin/chkconfig --add flumotion
93# generate a default .pem certificate ?
94PEM_FILE="%{_sysconfdir}/flumotion/default.pem"
95if ! test -e ${PEM_FILE}
96then
97 sh %{_datadir}/flumotion/make-dummy-cert ${PEM_FILE}
98 chown :flumotion ${PEM_FILE}
99 chmod 640 ${PEM_FILE}
100fi
101
102# create a default planet config if no manager configs present
103# the default login will be user/test
104if ! test -e %{_sysconfdir}/flumotion/managers
105then
106 mkdir -p %{_sysconfdir}/flumotion/managers/default/flows
107 cat > %{_sysconfdir}/flumotion/managers/default/planet.xml <<EOF
108<planet>
109
110 <manager>
111 <!-- <debug>3</debug> -->
112 <host>localhost</host>
113<!--
114 <port>7531</port>
115 <transport>ssl</transport>
116-->
117 <!-- certificate path can be relative to $sysconfdir/flumotion,
118 or absolute -->
119<!--
120 <certificate>default.pem</certificate>
121-->
122 <component name="manager-bouncer" type="htpasswdcrypt-bouncer">
123 <property name="data"><![CDATA[
124user:PSfNpHTkpTx1M
125]]></property>
126 </component>
127 </manager>
128
129</planet>
130EOF
131fi
132
133# create a default worker config if no worker configs present
134# the default login will be user/test
135if ! test -e %{_sysconfdir}/flumotion/workers
136then
137 mkdir -p %{_sysconfdir}/flumotion/workers
138 cat > %{_sysconfdir}/flumotion/workers/default.xml <<EOF
139<worker>
140
141 <!-- <debug>3</debug> -->
142
143 <manager>
144<!--
145 <host>localhost</host>
146 <port>7531</port>
147-->
148 </manager>
149
150 <authentication type="plaintext">
151 <username>user</username>
152 <password>test</password>
153 </authentication>
154
155 <!-- <feederports>8600-8639</feederports> -->
156
157</worker>
158EOF
159
160fi
161
162%preun
163# if removal and not upgrade, stop the processes, clean up locks
164if [ $1 -eq 0 ]
165then
166 /sbin/service flumotion stop > /dev/null
167
168 rm -rf %{_localstatedir}/lock/flumotion*
169 rm -rf %{_localstatedir}/run/flumotion*
170
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/.[^.]*
174
175 /sbin/chkconfig --del flumotion
176fi
177
178
179%files
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}
189%{_libdir}/%{name}
190%{_datadir}/%{name}
191%{_desktopdir}/%{name}-admin.desktop
192%{_pkgconfigdir}/%{name}.pc
193%{_pixmapsdir}/*
194%{_mandir}/man1/*
195%doc ChangeLog COPYING README AUTHORS %{name}.doap
196%doc conf
This page took 0.064497 seconds and 4 git commands to generate.