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