]>
Commit | Line | Data |
---|---|---|
4bb288a2 | 1 | Summary: The Fluendo Streaming Server |
adf30954 | 2 | Summary(pl.UTF-8): Serwer strumieni Fluendo |
fbf48949 | 3 | Name: flumotion |
6e75300c | 4 | Version: 0.5.1 |
5 | Release: 0.3 | |
fbf48949 AM |
6 | License: GPL |
7 | Group: Daemons | |
8 | Source0: http://www.flumotion.net/src/flumotion/%{name}-%{version}.tar.bz2 | |
6e75300c | 9 | # Source0-md5: 70256d8d80a0d5cda61e468116ff8be2 |
10 | Patch0: %{name}-pdksh.patch | |
fbf48949 | 11 | URL: http://www.flumotion.net/ |
fef9916a | 12 | BuildRequires: automake |
6e75300c | 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 | |
6e75300c | 19 | Requires(pre): /usr/sbin/useradd |
20 | Requires(post,preun): /sbin/chkconfig | |
21 | Requires(post): openssl-tools | |
d0682271 JB |
22 | Requires: gstreamer-audio-effects-good |
23 | Requires: gstreamer-libpng | |
24 | Requires: gstreamer-plugins-base >= 0.10.10 | |
25 | Requires: python-PIL | |
26 | Requires: python-TwistedCore-ssl | |
27 | Provides: user(flumotion) | |
fbf48949 AM |
28 | BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) |
29 | ||
30 | %description | |
d0682271 JB |
31 | Flumotion is a GPL streaming media server written in Python. It is |
32 | distributed and component-based: every step in the streaming process | |
33 | (production, conversion, consumption) can be run inside a separate | |
34 | process on separate machines. | |
6e75300c | 35 | |
d0682271 JB |
36 | Flumotion uses a central manager process to control the complete |
37 | network; one or more worker processes distributed over machines to run | |
38 | actual streaming components; and one or more admin clients connecting | |
39 | to the manager to control it. | |
fbf48949 | 40 | |
fc4db627 | 41 | %description -l pl.UTF-8 |
d0682271 JB |
42 | Flumotion to serwer strumieni multimedialnych napisany w Pythonie i |
43 | udostępniany na licencji GPL. Jest to system rozproszony i modularny: | |
44 | każdy etap przetwarzania strumienia (produkcja, konwersja, konsumpcja) | |
45 | może być przeprowadzany w osobnym procesie i na osobnej maszynie. | |
6e75300c | 46 | |
d0682271 JB |
47 | Flumotion używa centralnego procesu zarządcy, który kontroluje cały |
48 | system; jednego lub więcej procesu robotnika czuwającego nad | |
49 | komponentami; jednego lub więcej klienta administracji, pozwalającego | |
50 | na 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 | |
61 | rm -rf $RPM_BUILD_ROOT | |
62 | ||
63 | %{__make} install \ | |
64 | DESTDIR=$RPM_BUILD_ROOT | |
65 | ||
6e75300c | 66 | mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/flumotion |
67 | ||
68 | # install service files | |
69 | install -d $RPM_BUILD_ROOT%{_sysconfdir}/rc.d/init.d | |
70 | install -m 755 \ | |
71 | doc/redhat/flumotion \ | |
72 | $RPM_BUILD_ROOT%{_sysconfdir}/rc.d/init.d | |
73 | ||
74 | # create log and run and cache directory | |
75 | install -d $RPM_BUILD_ROOT%{_localstatedir}/log/flumotion | |
76 | install -d $RPM_BUILD_ROOT%{_localstatedir}/run/flumotion | |
77 | install -d $RPM_BUILD_ROOT%{_localstatedir}/cache/flumotion | |
78 | ||
79 | # Install the logrotate entry | |
80 | install -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 | |
86 | rm -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 ? | |
95 | PEM_FILE="%{_sysconfdir}/flumotion/default.pem" | |
96 | if ! test -e ${PEM_FILE} | |
97 | then | |
98 | sh %{_datadir}/flumotion/make-dummy-cert ${PEM_FILE} | |
99 | chown :flumotion ${PEM_FILE} | |
100 | chmod 640 ${PEM_FILE} | |
101 | fi | |
102 | ||
103 | # create a default planet config if no manager configs present | |
104 | # the default login will be user/test | |
105 | if ! test -e %{_sysconfdir}/flumotion/managers | |
106 | then | |
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[ | |
125 | user:PSfNpHTkpTx1M | |
126 | ]]></property> | |
127 | </component> | |
128 | </manager> | |
129 | ||
130 | </planet> | |
131 | EOF | |
132 | fi | |
133 | ||
134 | # create a default worker config if no worker configs present | |
135 | # the default login will be user/test | |
136 | if ! test -e %{_sysconfdir}/flumotion/workers | |
137 | then | |
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> | |
159 | EOF | |
160 | ||
161 | fi | |
162 | ||
163 | %preun | |
164 | # if removal and not upgrade, stop the processes, clean up locks | |
165 | if [ $1 -eq 0 ] | |
166 | then | |
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 | |
177 | fi | |
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 |