]> git.pld-linux.org Git - packages/flumotion.git/blob - flumotion.spec
- more pldize
[packages/flumotion.git] / flumotion.spec
1 Summary:        The Fluendo Streaming Server
2 Summary(pl.UTF-8):      Serwer strumieni Fluendo
3 Name:           flumotion
4 Version:        0.5.1
5 Release:        0.4
6 License:        GPL
7 Group:          Daemons
8 Source0:        http://www.flumotion.net/src/flumotion/%{name}-%{version}.tar.bz2
9 # Source0-md5:  70256d8d80a0d5cda61e468116ff8be2
10 Source1:        %{name}.init
11 Patch0:         %{name}-pdksh.patch
12 URL:            http://www.flumotion.net/
13 BuildRequires:  automake
14 BuildRequires:  gstreamer-devel >= 0.10.10
15 BuildRequires:  python-pygtk-devel >= 2.8.0
16 BuildRequires:  python-gstreamer >= 0.10.4
17 BuildRequires:  python-TwistedCore >= 2.0.1
18 BuildRequires:  python-TwistedNames
19 BuildRequires:  python-TwistedWeb
20 Requires(pre):  /usr/sbin/useradd
21 Requires(post,preun):   /sbin/chkconfig
22 Requires(post): openssl-tools
23 Requires:       gstreamer-audio-effects-good
24 Requires:       gstreamer-libpng
25 Requires:       gstreamer-plugins-base >= 0.10.10
26 Requires:       python-PIL
27 Requires:       python-TwistedCore-ssl
28 Provides:       user(flumotion)
29 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
30
31 %description
32 Flumotion is a GPL streaming media server written in Python. It is
33 distributed and component-based: every step in the streaming process
34 (production, conversion, consumption) can be run inside a separate
35 process on separate machines.
36
37 Flumotion uses a central manager process to control the complete
38 network; one or more worker processes distributed over machines to run
39 actual streaming components; and one or more admin clients connecting
40 to the manager to control it.
41
42 %description -l pl.UTF-8
43 Flumotion to serwer strumieni multimedialnych napisany w Pythonie i
44 udostępniany na licencji GPL. Jest to system rozproszony i modularny:
45 każdy etap przetwarzania strumienia (produkcja, konwersja, konsumpcja)
46 może być przeprowadzany w osobnym procesie i na osobnej maszynie.
47
48 Flumotion używa centralnego procesu zarządcy, który kontroluje cały
49 system; jednego lub więcej procesu robotnika czuwającego nad
50 komponentami; jednego lub więcej klienta administracji, pozwalającego
51 na sprawowanie kontroli przez użytkownika.
52
53 %prep
54 %setup -q
55 %patch0 -p1
56
57 %build
58 %configure
59 %{__make}
60
61 %install
62 rm -rf $RPM_BUILD_ROOT
63
64 %{__make} install \
65         DESTDIR=$RPM_BUILD_ROOT
66
67 mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/flumotion
68
69 # install service files
70 install -d $RPM_BUILD_ROOT%{_sysconfdir}/rc.d/init.d
71 install -m 755 %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/rc.d/init.d/%{name}
72
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
77
78 # Install the logrotate entry
79 install -m 0644 -D doc/redhat/flumotion.logrotate \
80         $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/flumotion
81
82 %find_lang flumotion
83
84 %clean
85 rm -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 ?
94 PEM_FILE="%{_sysconfdir}/flumotion/default.pem"
95 if ! test -e ${PEM_FILE}
96 then
97         sh %{_datadir}/flumotion/make-dummy-cert ${PEM_FILE}
98         chown :flumotion ${PEM_FILE}
99         chmod 640 ${PEM_FILE}
100 fi
101
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
105 then
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[
124 user:PSfNpHTkpTx1M
125 ]]></property>
126                 </component>
127         </manager>
128  
129 </planet>
130 EOF
131 fi
132
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
136 then
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>
158 EOF
159
160 fi
161
162 %preun
163 # if removal and not upgrade, stop the processes, clean up locks
164 if [ $1 -eq 0 ]
165 then
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
176 fi
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.080964 seconds and 3 git commands to generate.