]>
Commit | Line | Data |
---|---|---|
356dfb23 ER |
1 | # |
2 | # Conditional build: | |
3 | %bcond_without autodeps # don't BR packages needed only for resolving deps | |
00cd1c2c ER |
4 | %bcond_without python # Python bindings |
5 | %bcond_without java # Java bindings | |
6 | %bcond_without php # PHP bindings | |
7 | %bcond_without perl # Perl bindings | |
8 | %bcond_without tests # perform "make test". needs running flixd on localhost | |
9 | %bcond_without demo # use non-demo tarball (you need valid license to start daemon) | |
c3871d26 ER |
10 | %bcond_without apis # disable all apis, build just flixd |
11 | %bcond_without apidocs # without apidocs | |
12 | ||
c3871d26 ER |
13 | %if %{without apis} |
14 | %undefine with_python | |
15 | %undefine with_java | |
16 | %undefine with_php | |
17 | %undefine with_perl | |
18 | %undefine with_apidocs | |
19 | %endif | |
20 | ||
6fc8cf70 | 21 | %define full_version %{version}%{?with_demo:_DEMO}%{?_extra} |
02d12547 | 22 | %define _extra %{nil} |
c3871d26 ER |
23 | |
24 | %{?with_perl:%include /usr/lib/rpm/macros.perl} | |
2cc44e6c | 25 | Summary: On2 Flix Engine |
e45506f7 | 26 | Summary(pl.UTF-8): Silnik On2 Flix |
27c0e367 | 27 | Name: flixengine |
d52ff25a | 28 | Version: 8.0.13.0 |
ab083730 | 29 | Release: 2 |
f8494186 | 30 | License: (probably) not distributable |
27c0e367 ER |
31 | Group: Applications |
32 | # download demo from http://flix.on2.com/demos/ | |
d8688be2 | 33 | # check for newer versions at http://flix.on2.com/flix/download/ |
e9b1b01f | 34 | # Source0Download: http://flix.on2.com/demos/flixenginelinuxdemo.tar.gz |
c67dbec0 | 35 | %if %{with demo} |
8c85be7f | 36 | Source0: %{name}linuxdemo-%{version}.tar.gz |
d52ff25a | 37 | # NoSource0-md5: 883d227eeeb4973f65c4c12aed6b0e02 |
27c0e367 | 38 | NoSource: 0 |
c67dbec0 ER |
39 | %endif |
40 | %if %{without demo} | |
d8688be2 | 41 | # Source1Download: http://flix.on2.com/flix/download/flix-engine-installer-linux-%{version}.tar.gz |
6fc8cf70 | 42 | Source1: flix-engine-installer-linux-%{version}%{?_extra}.tar.gz |
ab083730 | 43 | # NoSource1-md5: 60fd126a8d4aa81d286d6ea534a11f08 |
c67dbec0 ER |
44 | NoSource: 1 |
45 | %endif | |
46 | Source2: %{name}.init | |
d84efd8a | 47 | Source3: %{name}.sysconfig |
a5747b91 | 48 | Patch0: %{name}-libdir.patch |
748f3cdf | 49 | Patch1: %{name}-phploader.patch |
d52ff25a | 50 | URL: http://support.on2.com/ |
356dfb23 | 51 | BuildRequires: bash |
a8e655c0 | 52 | %{?with_java:BuildRequires: jdk} |
c3871d26 ER |
53 | %{?with_perl:BuildRequires: perl-base} |
54 | %{?with_php:BuildRequires: php-devel} | |
a8e655c0 | 55 | %{?with_python:BuildRequires: python-devel} |
c3871d26 | 56 | %{?with_perl:BuildRequires: rpm-perlprov >= 4.1-13} |
a8e655c0 | 57 | %{?with_python:BuildRequires: rpm-pythonprov} |
9d8f979c | 58 | BuildRequires: rpmbuild(macros) >= 1.344 |
40472a64 JB |
59 | %if %{with autodeps} |
60 | BuildRequires: ffmpeg-libs | |
61 | BuildRequires: lame-libs | |
62 | %endif | |
c3871d26 ER |
63 | %if %{without demo} && "%{version}" == "8.0.13.0" |
64 | BuildRequires: flixengine-libs = %{version} | |
65 | %endif | |
44a0377b | 66 | Requires(post,preun): /sbin/chkconfig |
825446df ER |
67 | Requires(postun): /usr/sbin/groupdel |
68 | Requires(postun): /usr/sbin/userdel | |
69 | Requires(pre): /bin/id | |
70 | Requires(pre): /usr/bin/getgid | |
71 | Requires(pre): /usr/sbin/groupadd | |
72 | Requires(pre): /usr/sbin/useradd | |
44a0377b | 73 | Requires: portmap |
f609d41d | 74 | Requires: rc-scripts >= 0.4.1.5 |
825446df ER |
75 | Provides: group(flixd) |
76 | Provides: user(flixd) | |
a5747b91 | 77 | ExclusiveArch: %{ix86} %{x8664} |
27c0e367 ER |
78 | BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) |
79 | ||
593b9d17 | 80 | %define _sysconfdir /etc/on2 |
00cd1c2c | 81 | %define _libexecdir %{_prefix}/lib/flixd |
593b9d17 | 82 | |
d52ff25a | 83 | # don't satisfy other packages for ffmpeg library deps (don't use %{name} here) |
00cd1c2c | 84 | %define _noautoprovfiles %{_libexecdir} |
d52ff25a ER |
85 | |
86 | # and as we don't provide them, don't require either | |
87 | %define _noautoreq libavutil.so libavformat.so libavcodec.so | |
88 | ||
00cd1c2c ER |
89 | # these match for java-sun |
90 | %ifarch %{ix86} | |
91 | %define _jvmlibdir %{_jvmdir}/jre/lib/i386 | |
92 | %endif | |
93 | %ifarch %{x8664} | |
94 | %define _jvmlibdir %{_jvmdir}/jre/lib/amd64 | |
95 | %endif | |
96 | ||
27c0e367 | 97 | %description |
2cc44e6c ER |
98 | The On2 Flix Engine provides many of the Flash 8 video encoding |
99 | features of our industry leading On2 Flix Pro video encoder in a | |
100 | powerful software SDK. | |
101 | ||
102 | The Engine enables you to add the power and efficiency of Flash video | |
103 | with On2 VP6 encoding to your intranet, website and other server-based | |
104 | applications, preserve alpha channel in the video output, and much | |
105 | more. | |
106 | ||
107 | The major feature of the On2 Flix Engine 8 is support for Adobe Flash | |
108 | 8 video with the On2 VP6 codec and FLV video output that can be played | |
109 | directly in the Flash Player, streamed through the Adobe Flash Media | |
110 | Server, or imported into Flash Studio. The new FLV output also is | |
111 | fully compliant with FLV format metadata and Adobe Flash Player | |
112 | standards. | |
27c0e367 | 113 | |
04a8bc7a | 114 | %description -l pl.UTF-8 |
b88a126a ER |
115 | Silnik On2 Flix Engine udostępnia wiele spośród możliwości kodowania |
116 | filmów Flash 8 wiodącego kodera On2 Flix Pro w postaci potężnego SDK. | |
40472a64 | 117 | |
b88a126a ER |
118 | Silnik pozwala wykorzystywać możliwości i wydajność filmów Flash z |
119 | kodowaniem On2 VP6 w intranecie, na stronie WWW i w innych | |
04a8bc7a | 120 | zastosowaniach serwerowych, z zachowaniem kanału alpha na wyjściu |
40472a64 JB |
121 | obrazu i innymi opcjami. |
122 | ||
b88a126a ER |
123 | Główną cechą silnika On2 Flix Engine 8 jest obsługa filmów Adobe Flash |
124 | 8 z kodekiem On2 VP6 oraz wyjściem obrazu FLV, które można odtwarzać | |
125 | bezpośrednio w odtwarzaczu Flash, przekazywać strumieniem poprzez | |
126 | Adobe Flash Media Server lub importować do Flash Studio. Nowe wyjście | |
127 | FLV jest także w pełni zgodne z formatem metadanych FLV i standardami | |
128 | Adobe Flash Playera. | |
40472a64 | 129 | |
27c0e367 | 130 | %package libs |
2cc44e6c | 131 | Summary: Shared libraries for On2 Flix Engine |
e45506f7 | 132 | Summary(pl.UTF-8): Biblioteki współdzielone silnika On2 Flix |
27c0e367 ER |
133 | Group: Libraries |
134 | ||
135 | %description libs | |
2cc44e6c | 136 | Shared libraries for On2 Flix Engine. |
27c0e367 | 137 | |
04a8bc7a JR |
138 | %description libs -l pl.UTF-8 |
139 | Biblioteki współdzielone silnika On2 Flix. | |
40472a64 | 140 | |
27c0e367 | 141 | %package devel |
2cc44e6c | 142 | Summary: Header files for On2 Flix Engine library |
e45506f7 | 143 | Summary(pl.UTF-8): Pliki nagłówkowe biblioteki silnika On2 Flix |
27c0e367 ER |
144 | Group: Development/Libraries |
145 | ||
146 | %description devel | |
2cc44e6c | 147 | Header files for On2 Flix Engine library. |
27c0e367 | 148 | |
04a8bc7a JR |
149 | %description devel -l pl.UTF-8 |
150 | Pliki nagłówkowe biblioteki silnika On2 Flix. | |
40472a64 | 151 | |
00cd1c2c | 152 | %package -n java-%{name} |
3d68873f | 153 | Summary: Java bindings for On2 Flix Engine |
e45506f7 | 154 | Summary(pl.UTF-8): Wiązania Javy dla silnika On2 Flix |
3d68873f ER |
155 | Group: Libraries |
156 | Requires: %{name}-libs = %{version}-%{release} | |
d84efd8a | 157 | Requires: jpackage-utils |
3d68873f | 158 | |
00cd1c2c | 159 | %description -n java-%{name} |
3d68873f ER |
160 | Java bindings for On2 Flix Engine. |
161 | ||
00cd1c2c | 162 | %description -n java-%{name} -l pl.UTF-8 |
04a8bc7a | 163 | Wiązania Javy dla silnika On2 Flix. |
40472a64 | 164 | |
00cd1c2c | 165 | %package -n perl-%{name} |
3d68873f | 166 | Summary: Perl bindings for On2 Flix Engine |
e45506f7 | 167 | Summary(pl.UTF-8): Wiązania perla dla silnika On2 Flix |
3d68873f ER |
168 | Group: Libraries |
169 | Requires: %{name}-libs = %{version}-%{release} | |
170 | ||
00cd1c2c | 171 | %description -n perl-%{name} |
3d68873f ER |
172 | Perl bindings for On2 Flix Engine. |
173 | ||
00cd1c2c | 174 | %description -n perl-%{name} -l pl.UTF-8 |
04a8bc7a | 175 | Wiązania perla dla silnika On2 Flix. |
40472a64 | 176 | |
00cd1c2c | 177 | %package -n php-%{name} |
3d68873f | 178 | Summary: PHP bindings for On2 Flix Engine |
e45506f7 | 179 | Summary(pl.UTF-8): Wiązania PHP dla silnika On2 Flix |
3522469a | 180 | %{?requires_php_extension} |
3d68873f ER |
181 | Group: Libraries |
182 | Requires: %{name}-libs = %{version}-%{release} | |
9d8f979c | 183 | Requires: php-common >= 4:5.0.4 |
3d68873f | 184 | |
00cd1c2c | 185 | %description -n php-%{name} |
3d68873f ER |
186 | PHP bindings for On2 Flix Engine. |
187 | ||
00cd1c2c | 188 | %description -n php-%{name} -l pl.UTF-8 |
04a8bc7a | 189 | Wiązania PHP dla silnika On2 Flix. |
40472a64 | 190 | |
00cd1c2c | 191 | %package -n python-%{name} |
3d68873f | 192 | Summary: Python bindings for On2 Flix Engine |
e45506f7 | 193 | Summary(pl.UTF-8): Wiązania Pythona dla silnika On2 Flix |
3d68873f ER |
194 | Group: Libraries |
195 | Requires: %{name}-libs = %{version}-%{release} | |
196 | ||
00cd1c2c | 197 | %description -n python-%{name} |
3d68873f ER |
198 | Python bindings for On2 Flix Engine. |
199 | ||
00cd1c2c | 200 | %description -n python-%{name} -l pl.UTF-8 |
04a8bc7a | 201 | Wiązania Pythona dla silnika On2 Flix. |
40472a64 | 202 | |
593b9d17 ER |
203 | %package apidocs |
204 | Summary: HTML API Documentation for On2 Flix Engine | |
205 | Summary(pl.UTF-8): Dokumentacja HTML API dla silnika On2 Flix | |
fd1d00dc | 206 | Group: Documentation |
593b9d17 | 207 | Obsoletes: flixengine-docs |
fd1d00dc | 208 | |
593b9d17 ER |
209 | %description apidocs |
210 | HTML API Documentation for On2 Flix Engine. | |
348d7388 | 211 | |
d52ff25a ER |
212 | Also available online at <http://support.on2.com/flixengine/linux/api/>. |
213 | ||
593b9d17 ER |
214 | %description apidocs -l pl.UTF-8 |
215 | Dokumentacja HTML API dla silnika On2 Flix. | |
fd1d00dc | 216 | |
27c0e367 | 217 | %prep |
c9b33d7a ER |
218 | %setup -q -T -b %{?with_demo:0}%{!?with_demo:1} -n flix-engine-installer-linux-%{full_version} |
219 | bin=flix-engine-installer-linux-%{full_version}.bin | |
220 | tar=flix-engine-linux-%{full_version}.tar.gz | |
2cc44e6c ER |
221 | |
222 | OFFSET=$( awk -F= '/OFFSET=/{print $2; exit}' $bin) | |
223 | dd bs=8 if=$bin of=$tar skip=$OFFSET | |
224 | %{__tar} zxf $tar | |
225 | ||
a5747b91 | 226 | %patch0 -p1 |
748f3cdf | 227 | %patch1 -p1 |
a5747b91 | 228 | |
2cc44e6c ER |
229 | %{__sed} -ne '/## FUNCTIONS common/,/## END - common function/p' $bin > functions.sh |
230 | cat <<'EOF' > install.sh | |
231 | #!/bin/bash | |
c9b33d7a | 232 | export VERSION=%{full_version} |
c67dbec0 | 233 | %{?with_demo:export FLIXENGINEDEMO=1} |
2cc44e6c | 234 | export nullout=/dev/null |
c9b33d7a | 235 | export tempdir=%{_builddir}/flix-engine-installer-linux-%{full_version} |
2cc44e6c ER |
236 | |
237 | . $(dirname "$0")/functions.sh | |
238 | cd .flix-engine-installation-files | |
239 | ||
240 | export -f getinput inset ynanswer | |
e9f4366e ER |
241 | instlog=install.log |
242 | ./install.sh "$@" | tee -i $instlog | |
243 | if [ -f "$instlog" ]; then | |
244 | echo "Local system info:" >>$instlog | |
245 | uname -a 2>/dev/null >>$instlog | |
246 | head /etc/*version* 2>/dev/null >>$instlog | |
247 | head /etc/*release* 2>/dev/null >>$instlog | |
248 | cat /proc/cpuinfo 2>/dev/null >>$instlog | |
249 | /lib/ld-linux.so.2 /lib/libc.so.6 2>/dev/null >>$instlog | |
250 | echo "---" 2>/dev/null >>$instlog | |
251 | /lib/ld-linux.so.2 /lib32/libc.so.6 2>/dev/null >>$instlog | |
252 | echo "---" 2>/dev/null >>$instlog | |
253 | /lib/libc.so.6 2>/dev/null >>$instlog | |
254 | echo "---" 2>/dev/null >>$instlog | |
255 | file /lib/libc.so.6 2>/dev/null >>$instlog | |
256 | echo "---" 2>/dev/null >>$instlog | |
257 | /sbin/ifconfig -a 2>/dev/null >>$instlog | |
258 | ||
259 | echo "A log of this installation can be found here:" | |
260 | echo " $instlog" | |
261 | echo | |
262 | fi | |
2cc44e6c ER |
263 | EOF |
264 | chmod +x install.sh | |
265 | ||
266 | cd .flix-engine-installation-files | |
267 | %{__sed} -i -e ' | |
356dfb23 | 268 | # force installing initscript into buildroot without detection |
2cc44e6c | 269 | s,^initchk$,inittype=sysv1; INITDIR=$RPM_BUILD_ROOT/etc/rc.d/init.d, |
356dfb23 ER |
270 | |
271 | # cls is annoying | |
2cc44e6c | 272 | s,clear 2>\$nullout,#&, |
356dfb23 | 273 | |
00cd1c2c | 274 | # want to install examples, but not compile them in install |
356dfb23 ER |
275 | # and somewhy --no-compile didn not work, had to specify also --no-modules, |
276 | # which made no modules installed either, chicken-egg problem. | |
277 | s,COMPILEMODULES=y,COMPILEMODULES=n, | |
00cd1c2c | 278 | s,^INSTALLEDFLIXLIBRARIES=.*,INSTALLEDFLIXLIBRARIES="y", |
653c438e | 279 | %{?with_perl:s,^INSTALLEDPERLFILES=.*,INSTALLEDPERLFILES="y",} |
db2a93ff ER |
280 | %{?with_php:s,^INSTALLEDPHPFILES=.*,INSTALLEDPHPFILES="y",} |
281 | %{?with_python:s,^INSTALLEDPYTHONFILES=.*,INSTALLEDPYTHONFILES="y",} | |
282 | %{?with_java:s,^INSTALLEDJAVAFILES=.*,INSTALLEDJAVAFILES="y",} | |
356dfb23 | 283 | |
2cc44e6c ER |
284 | ' install.sh |
285 | ||
9d124465 ER |
286 | # remove backups from patching as we use globs to package files to buildroot |
287 | find flixsamples '(' -name '*~' -o -name '*.orig' ')' | xargs -r rm -v | |
288 | ||
2cc44e6c ER |
289 | %build |
290 | cd .flix-engine-installation-files | |
e9b1b01f | 291 | PWD=$(pwd) |
27c0e367 | 292 | |
356dfb23 | 293 | ln -snf flixhdrs flixengine2 |
e9b1b01f | 294 | export C_INCLUDE_PATH=$PWD |
356dfb23 | 295 | |
a5747b91 | 296 | %ifarch %{x8664} |
e9b1b01f | 297 | export LD_LIBRARY_PATH=$PWD/testing/lib64 |
a5747b91 ER |
298 | ldconfig -n testing/lib64 |
299 | %else | |
e9b1b01f | 300 | export LD_LIBRARY_PATH=$PWD/flixlibs |
a5747b91 ER |
301 | ldconfig -n flixlibs |
302 | %endif | |
cbdbb5c8 | 303 | export LIBRARY_PATH=$LD_LIBRARY_PATH |
356dfb23 | 304 | |
c3871d26 | 305 | %if %{with php} |
356dfb23 ER |
306 | %{__make} -C flixphp \ |
307 | CC="%{__cc}" \ | |
40472a64 | 308 | -f target.mk |
c3871d26 | 309 | %endif |
356dfb23 | 310 | |
c3871d26 | 311 | %if %{with perl} |
356dfb23 ER |
312 | cd flixperl |
313 | %{__perl} Makefile.PL \ | |
314 | INSTALLDIRS=vendor | |
315 | %{__make} \ | |
316 | CC="%{__cc}" \ | |
317 | OPTIMIZE="%{rpmcflags}" | |
318 | %{?with_tests:%{__make} test} | |
319 | cd .. | |
c3871d26 | 320 | %endif |
356dfb23 | 321 | |
a5747b91 | 322 | %if %{with python} |
356dfb23 | 323 | cd flixpython |
d01e7dbc | 324 | %py_build |
356dfb23 | 325 | cd .. |
a5747b91 | 326 | %endif |
356dfb23 | 327 | |
a5747b91 | 328 | %if %{with java} |
356dfb23 ER |
329 | %{__make} -C flixjava \ |
330 | CC="%{__cc}" \ | |
331 | -f target.mk | |
a5747b91 | 332 | %endif |
356dfb23 | 333 | |
27c0e367 ER |
334 | %install |
335 | rm -rf $RPM_BUILD_ROOT | |
a8e655c0 | 336 | install -d $RPM_BUILD_ROOT{%{_sysconfdir},/etc/{rc.d/init.d,sysconfig},%{_libdir}} |
27c0e367 | 337 | |
2cc44e6c | 338 | ./install.sh \ |
27c0e367 ER |
339 | --prefix=$RPM_BUILD_ROOT%{_prefix} \ |
340 | --mandir=$RPM_BUILD_ROOT%{_mandir} \ | |
977f216d | 341 | --mencoderbin=$RPM_BUILD_ROOT%{_bindir} \ |
356dfb23 | 342 | --flixsamples=$RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version} \ |
825446df | 343 | --pidfile=$RPM_BUILD_ROOT/var/run/flixd/flixd.pid \ |
593b9d17 | 344 | --authdir=$RPM_BUILD_ROOT%{_sysconfdir} \ |
27c0e367 ER |
345 | --just-install \ |
346 | --offline \ | |
347 | --yesireadtheon2license \ | |
2cc44e6c | 348 | --no-compile \ |
356dfb23 | 349 | --no-modules \ |
2cc44e6c | 350 | --no-init \ |
356dfb23 ER |
351 | --noprereqlibs |
352 | ||
e9f4366e ER |
353 | rm -f $RPM_BUILD_ROOT/etc/rc.d/init.d/flixengine |
354 | install %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/flixd | |
355 | install %{SOURCE3} $RPM_BUILD_ROOT/etc/sysconfig/flixd | |
3522469a | 356 | |
02d12547 ER |
357 | # mencoder-flixengine searches for codecs from /usr/lib/win32 and there's no |
358 | # way to override it by commandline arg or env var. | |
359 | ln -s codecs $RPM_BUILD_ROOT%{_prefix}/lib/win32 | |
360 | ||
356dfb23 | 361 | cd .flix-engine-installation-files |
d8688be2 | 362 | install lget on2_host_info $RPM_BUILD_ROOT%{_sbindir} |
a5747b91 | 363 | |
db2a93ff ER |
364 | # symlink outside package, install apidoc to read all docs |
365 | rm -f $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}/c/README-cli.html | |
366 | rm -f $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}/perl/README-{cgi,cli}.html | |
367 | rm -f $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}/php/README-{cgi,cli}.html | |
368 | rm -f $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}/python/README-{cgi,cli}.html | |
369 | rm -f $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}/java/README-cli.html | |
370 | rm -f $RPM_BUILD_ROOT%{_docdir}/on2/flixengine/javadoc | |
8c85be7f | 371 | |
a5747b91 | 372 | # install bindings |
c3871d26 | 373 | %if %{with php} |
356dfb23 ER |
374 | %{__make} -C flixphp \ |
375 | install \ | |
dfab391b ER |
376 | PHPINST=%{php_extensiondir} \ |
377 | DESTDIR=$RPM_BUILD_ROOT \ | |
356dfb23 | 378 | -f target.mk |
9d8f979c ER |
379 | install -d $RPM_BUILD_ROOT%{php_sysconfdir}/conf.d |
380 | cat <<'EOF' > $RPM_BUILD_ROOT%{php_sysconfdir}/conf.d/flixengine.ini | |
3522469a | 381 | ; Enable flixengine extension module |
9609f5dc | 382 | ;extension=flixengine2.so |
3522469a | 383 | EOF |
00cd1c2c | 384 | |
00cd1c2c ER |
385 | # per package dirs |
386 | mv $RPM_BUILD_ROOT%{_examplesdir}/{%{name}-%{version}/php,php-%{name}-%{version}} | |
c3871d26 | 387 | %endif |
356dfb23 | 388 | |
c3871d26 | 389 | %if %{with perl} |
356dfb23 ER |
390 | cd flixperl |
391 | %{__make} pure_install \ | |
392 | DESTDIR=$RPM_BUILD_ROOT | |
3d68873f | 393 | rm -f $RPM_BUILD_ROOT%{perl_vendorarch}/auto/On2/flixengine2/.packlist |
356dfb23 | 394 | cd .. |
00cd1c2c ER |
395 | # per package dirs |
396 | mv $RPM_BUILD_ROOT%{_examplesdir}/{%{name}-%{version}/perl,perl-%{name}-%{version}} | |
c3871d26 | 397 | %endif |
356dfb23 | 398 | |
a5747b91 | 399 | %if %{with python} |
356dfb23 | 400 | cd flixpython |
d01e7dbc | 401 | %py_install |
3d68873f | 402 | %py_postclean |
356dfb23 | 403 | cd .. |
00cd1c2c ER |
404 | # per package dirs |
405 | mv $RPM_BUILD_ROOT%{_examplesdir}/{%{name}-%{version}/python,python-%{name}-%{version}} | |
a5747b91 | 406 | %endif |
356dfb23 | 407 | |
a5747b91 | 408 | %if %{with java} |
356dfb23 | 409 | %{__make} -C flixjava \ |
00cd1c2c | 410 | SOINST=$RPM_BUILD_ROOT%{_jvmlibdir} \ |
356dfb23 ER |
411 | JARINST=$RPM_BUILD_ROOT%{_javadir} \ |
412 | install \ | |
413 | -f target.mk | |
27c0e367 | 414 | |
00cd1c2c ER |
415 | # per package dirs |
416 | mv $RPM_BUILD_ROOT%{_examplesdir}/{%{name}-%{version}/java,java-%{name}-%{version}} | |
a5747b91 ER |
417 | %endif |
418 | ||
00cd1c2c ER |
419 | mv $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}{/c/*,} |
420 | rm -f $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}/README-cli.html | |
421 | mv $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}/{build/linux/,}Makefile | |
422 | rmdir $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}/c | |
423 | ||
c3871d26 ER |
424 | %if %{without apidocs} |
425 | rm -rf $RPM_BUILD_ROOT%{_docdir}/on2 | |
426 | %endif | |
427 | ||
a5747b91 ER |
428 | %ifarch %{x8664} |
429 | cp -a testing/lib64/libflixengine2.so* $RPM_BUILD_ROOT%{_libdir} | |
9d124465 ER |
430 | # flixd linked statically and other libs are 64 bit |
431 | rm -f $RPM_BUILD_ROOT%{_prefix}/lib/libflixengine2*.so* | |
a5747b91 | 432 | %endif |
2cc44e6c | 433 | |
6c2e0931 | 434 | # we have already newer soname for libavformat.so in ffmpeg-libs |
3f54f297 | 435 | # copy from bundled ones to private directory |
00cd1c2c ER |
436 | install -d $RPM_BUILD_ROOT%{_libexecdir} |
437 | install supportlibs/libavformat.so.* $RPM_BUILD_ROOT%{_libexecdir} | |
438 | install supportlibs/libavcodec.so.* $RPM_BUILD_ROOT%{_libexecdir} | |
439 | install supportlibs/libavutil.so.* $RPM_BUILD_ROOT%{_libexecdir} | |
440 | ldconfig -n $RPM_BUILD_ROOT%{_libexecdir} | |
9d124465 | 441 | |
c3871d26 | 442 | # avoid collision from mencoder package |
977f216d ER |
443 | mv $RPM_BUILD_ROOT%{_bindir}/mencoder{,-flixengine} |
444 | ||
2cc44e6c | 445 | # do not put hardware fingerprint to rpm package |
593b9d17 ER |
446 | > $RPM_BUILD_ROOT%{_sysconfdir}/hostinfo |
447 | touch $RPM_BUILD_ROOT%{_sysconfdir}/flixengine.lic | |
825446df ER |
448 | install -d $RPM_BUILD_ROOT/var/run/flixd |
449 | install -d $RPM_BUILD_ROOT/var/log | |
450 | touch $RPM_BUILD_ROOT/var/log/flixd.log | |
27c0e367 ER |
451 | |
452 | # use poldek -e | |
453 | rm -f $RPM_BUILD_ROOT%{_sbindir}/flix-engine-uninstall.sh | |
454 | ||
e6f8792c ER |
455 | # make it somewhat easier to acquire license registration |
456 | install -d $RPM_BUILD_ROOT%{_sysconfdir} | |
457 | cat > $RPM_BUILD_ROOT%{_sysconfdir}/flixd-license.conf <<'EOF' | |
c3871d26 | 458 | # vim:encoding=latin1 |
e6f8792c ER |
459 | FLIX_USERNAME='<username>' |
460 | FLIX_SERIAL='<serial>' | |
461 | EOF | |
462 | ||
463 | install -d $RPM_BUILD_ROOT%{_sbindir} | |
464 | cat > $RPM_BUILD_ROOT%{_sbindir}/flixd-license-get <<'EOF' | |
465 | #!/bin/sh | |
29ef4ca7 ER |
466 | set -e |
467 | ||
e6f8792c | 468 | . %{_sysconfdir}/flixd-license.conf |
29ef4ca7 | 469 | if [ -z "$FLIX_USERNAME" -o -z "$FLIX_SERIAL" ]; then |
c3871d26 | 470 | echo >&2 "$0: Please fill FLIX_USERNAME and FLIX_SERIAL!" |
29ef4ca7 ER |
471 | exit 1 |
472 | fi | |
e6f8792c | 473 | |
c9b33d7a | 474 | %{_sbindir}/lget -u "$FLIX_USERNAME" -s "$FLIX_SERIAL" -i %{_sysconfdir}/hostinfo -o %{_sysconfdir}/flixengine.lic -a 'On2FlixEngine/%{full_version} (%(uname -o))' |
3f54f297 | 475 | if [ $? = 0 ]; then |
3f54f297 ER |
476 | echo >&2 "Serial registered and saved into %{_sysconfdir}/flixengine.lic" |
477 | echo >&2 "" | |
478 | echo >&2 "Run \"/sbin/service flixd start\" to start flixd" | |
7bda642d | 479 | echo >&2 "" |
3f54f297 ER |
480 | else |
481 | echo >&2 "" | |
482 | echo >&2 "There was error registering your license key." | |
483 | exit 1 | |
484 | fi | |
e6f8792c ER |
485 | EOF |
486 | ||
27c0e367 ER |
487 | %clean |
488 | rm -rf $RPM_BUILD_ROOT | |
489 | ||
825446df ER |
490 | %pre |
491 | %groupadd -g 179 flixd | |
492 | %useradd -u 179 -g flixd -c "On2 Flixd" flixd | |
27c0e367 | 493 | |
2cc44e6c | 494 | %post |
4e158386 | 495 | /sbin/chkconfig --add flixd |
825446df ER |
496 | if [ ! -f /var/log/flixd.log ]; then |
497 | touch /var/log/flixd.log | |
498 | chown root:flixd /var/log/flixd.log | |
499 | chmod 660 /var/log/flixd.log | |
500 | fi | |
593b9d17 ER |
501 | if [ ! -s %{_sysconfdir}/hostinfo ]; then |
502 | %{_sbindir}/on2_host_info > %{_sysconfdir}/hostinfo | |
d3d7034a | 503 | %banner -e %{name} <<EOF |
b88a126a ER |
504 | Put your username and serial key to %{_sysconfdir}/flixd-license.conf and invoke: |
505 | # %{_sbindir}/flixd-license-get | |
c91cf73e ER |
506 | |
507 | You can register evaluation demo at <http://flix.on2.com/demos/>. | |
d3d7034a | 508 | EOF |
2cc44e6c | 509 | fi |
4e158386 | 510 | %service flixd restart |
44a0377b ER |
511 | |
512 | %preun | |
513 | if [ "$1" = "0" ]; then | |
4e158386 ER |
514 | %service -q flixd stop |
515 | /sbin/chkconfig --del flixd | |
44a0377b | 516 | fi |
2cc44e6c | 517 | |
825446df ER |
518 | %postun |
519 | if [ "$1" = "0" ]; then | |
520 | %userremove flixd | |
521 | %groupremove flixd | |
522 | fi | |
523 | ||
524 | %post libs -p /sbin/ldconfig | |
525 | %postun libs -p /sbin/ldconfig | |
526 | ||
00cd1c2c | 527 | %post -n perl-%{name} |
9d8f979c | 528 | %php_webserver_restart |
3522469a | 529 | |
00cd1c2c | 530 | %postun -n perl-%{name} |
3522469a | 531 | if [ "$1" = 0 ]; then |
9d8f979c | 532 | %php_webserver_restart |
3522469a ER |
533 | fi |
534 | ||
27c0e367 ER |
535 | %files |
536 | %defattr(644,root,root,755) | |
a5747b91 | 537 | %doc doc/* |
593b9d17 | 538 | %dir %{_sysconfdir} |
e6f8792c | 539 | %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/flixd-license.conf |
593b9d17 ER |
540 | %attr(640,root,flixd) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/hostinfo |
541 | %attr(640,root,flixd) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/flixengine.lic | |
00cd1c2c ER |
542 | %dir %{_libexecdir} |
543 | %attr(755,root,root) %{_libexecdir}/libavcodec.so.*.*.* | |
544 | %attr(755,root,root) %{_libexecdir}/libavcodec.so.51 | |
545 | %attr(755,root,root) %{_libexecdir}/libavformat.so.*.*.* | |
546 | %attr(755,root,root) %{_libexecdir}/libavformat.so.52 | |
547 | %attr(755,root,root) %{_libexecdir}/libavutil.so.*.*.* | |
548 | %attr(755,root,root) %{_libexecdir}/libavutil.so.49 | |
27c0e367 | 549 | %attr(755,root,root) %{_sbindir}/flixd |
e6f8792c | 550 | %attr(755,root,root) %{_sbindir}/flixd-license-get |
27c0e367 ER |
551 | %attr(755,root,root) %{_sbindir}/lget |
552 | %attr(755,root,root) %{_sbindir}/on2_host_info | |
4e158386 | 553 | %attr(754,root,root) /etc/rc.d/init.d/flixd |
e9f4366e | 554 | %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/flixd |
02d12547 | 555 | %{_prefix}/lib/win32 |
e6f8792c | 556 | |
27c0e367 | 557 | %{_mandir}/man8/flixd.8* |
825446df | 558 | %dir %attr(771,root,flixd) /var/run/flixd |
1925016b | 559 | %attr(660,root,flixd) %ghost /var/log/flixd.log |
977f216d | 560 | %attr(755,root,root) %{_bindir}/mencoder-flixengine |
27c0e367 ER |
561 | |
562 | %files libs | |
563 | %defattr(644,root,root,755) | |
a5747b91 | 564 | %ifarch %{x8664} |
2cc44e6c | 565 | %attr(755,root,root) %{_libdir}/libflixengine2.so.*.* |
983f6841 | 566 | %attr(755,root,root) %ghost %{_libdir}/libflixengine2.so.0 |
9d124465 ER |
567 | %else |
568 | %attr(755,root,root) %{_libdir}/libflixengine2.so.*.* | |
569 | %attr(755,root,root) %{_libdir}/libflixengine2_core.so.*.* | |
bccbb380 ER |
570 | %attr(755,root,root) %ghost %{_libdir}/libflixengine2.so.0 |
571 | %attr(755,root,root) %ghost %{_libdir}/libflixengine2_core.so.0 | |
a5747b91 | 572 | %endif |
27c0e367 ER |
573 | |
574 | %files devel | |
575 | %defattr(644,root,root,755) | |
a5747b91 | 576 | %ifarch %{x8664} |
356dfb23 | 577 | %attr(755,root,root) %{_libdir}/libflixengine2.so |
9d124465 ER |
578 | %else |
579 | %attr(755,root,root) %{_libdir}/libflixengine2.so | |
580 | %attr(755,root,root) %{_libdir}/libflixengine2_core.so | |
a5747b91 | 581 | %endif |
27c0e367 | 582 | %{_includedir}/flixengine2 |
00cd1c2c | 583 | %{_examplesdir}/%{name}-%{version} |
3d68873f | 584 | |
a5747b91 | 585 | %if %{with java} |
00cd1c2c | 586 | %files -n java-%{name} |
3d68873f | 587 | %defattr(644,root,root,755) |
00cd1c2c | 588 | %attr(755,root,root) %{_jvmlibdir}/libflixengine2_jni.so |
3d68873f | 589 | %{_javadir}/flixengine2.jar |
00cd1c2c | 590 | %{_examplesdir}/java-%{name}-%{version} |
a5747b91 | 591 | %endif |
3d68873f | 592 | |
c3871d26 | 593 | %if %{with perl} |
00cd1c2c | 594 | %files -n perl-%{name} |
3d68873f ER |
595 | %defattr(644,root,root,755) |
596 | %dir %{perl_vendorarch}/On2 | |
597 | %{perl_vendorarch}/On2/flixengine2.pm | |
598 | %dir %{perl_vendorarch}/auto/On2 | |
599 | %dir %{perl_vendorarch}/auto/On2/flixengine2 | |
600 | %{perl_vendorarch}/auto/On2/flixengine2/flixengine2.bs | |
601 | %attr(755,root,root) %{perl_vendorarch}/auto/On2/flixengine2/flixengine2.so | |
00cd1c2c | 602 | %{_examplesdir}/perl-%{name}-%{version} |
c3871d26 | 603 | %endif |
3d68873f | 604 | |
c3871d26 | 605 | %if %{with php} |
00cd1c2c | 606 | %files -n php-%{name} |
3d68873f | 607 | %defattr(644,root,root,755) |
9d8f979c ER |
608 | %config(noreplace) %verify(not md5 mtime size) %{php_sysconfdir}/conf.d/flixengine.ini |
609 | %attr(755,root,root) %{php_extensiondir}/flixengine2.so | |
00cd1c2c ER |
610 | %{php_data_dir}/flixengine2.php |
611 | %{_examplesdir}/php-%{name}-%{version} | |
c3871d26 | 612 | %endif |
3d68873f | 613 | |
a5747b91 | 614 | %if %{with python} |
00cd1c2c | 615 | %files -n python-%{name} |
3d68873f | 616 | %defattr(644,root,root,755) |
3522469a | 617 | %attr(755,root,root) %{py_sitedir}/_flixengine2.so |
00cd1c2c | 618 | %{py_sitedir}/flixengine2.py[co] |
a8e655c0 ER |
619 | %if "%{py_ver}" > "2.4" |
620 | %{py_sitedir}/flixengine2-*.egg-info | |
621 | %endif | |
00cd1c2c | 622 | %{_examplesdir}/python-%{name}-%{version} |
a5747b91 | 623 | %endif |
fd1d00dc | 624 | |
c3871d26 | 625 | %if %{with apidocs} |
593b9d17 | 626 | %files apidocs |
fd1d00dc | 627 | %defattr(644,root,root,755) |
593b9d17 | 628 | %{_docdir}/on2 |
c3871d26 | 629 | %endif |