]>
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 |
977fc5b8 | 5 | Release: 0.4 |
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 |
977fc5b8 | 10 | Source1: %{name}.init |
6e75300c | 11 | Patch0: %{name}-pdksh.patch |
fbf48949 | 12 | URL: http://www.flumotion.net/ |
fef9916a | 13 | BuildRequires: automake |
6e75300c | 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 | |
6e75300c | 20 | Requires(pre): /usr/sbin/useradd |
21 | Requires(post,preun): /sbin/chkconfig | |
22 | Requires(post): openssl-tools | |
d0682271 JB |
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) | |
fbf48949 AM |
29 | BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) |
30 | ||
31 | %description | |
d0682271 JB |
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. | |
6e75300c | 36 | |
d0682271 JB |
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. | |
fbf48949 | 41 | |
fc4db627 | 42 | %description -l pl.UTF-8 |
d0682271 JB |
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. | |
6e75300c | 47 | |
d0682271 JB |
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. | |
4bb288a2 | 52 | |
fbf48949 AM |
53 | %prep |
54 | %setup -q | |
6e75300c | 55 | %patch0 -p1 |
fbf48949 AM |
56 | |
57 | %build | |
fbf48949 AM |
58 | %configure |
59 | %{__make} | |
60 | ||
61 | %install | |
62 | rm -rf $RPM_BUILD_ROOT | |
63 | ||
64 | %{__make} install \ | |
65 | DESTDIR=$RPM_BUILD_ROOT | |
66 | ||
6e75300c | 67 | mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/flumotion |
68 | ||
69 | # install service files | |
70 | install -d $RPM_BUILD_ROOT%{_sysconfdir}/rc.d/init.d | |
977fc5b8 | 71 | install -m 755 %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/rc.d/init.d/%{name} |
6e75300c | 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 | |
fbf48949 AM |
83 | |
84 | %clean | |
85 | rm -rf $RPM_BUILD_ROOT | |
86 | ||
6e75300c | 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 | ||
fbf48949 AM |
178 | |
179 | %files | |
180 | %defattr(644,root,root,755) | |
6e75300c | 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 |