1 | # |
---|
2 | # Specfile for building MythTV RPMS of SVN repository.. |
---|
3 | # by: David Bussenschutt <buzz@oska.com> |
---|
4 | # Modified/Extended from the great (non-svn based) work of: |
---|
5 | # Chris Petersen <rpm@forevermore.net> |
---|
6 | # Axel Thimm <Axel.Thimm@ATrpms.net> |
---|
7 | # see changelog (at bottom) for details. |
---|
8 | |
---|
9 | # The name of the DVB driver package (used in a couple of places, |
---|
10 | # so it's not hard-coded in the spec itself) |
---|
11 | %define linuxtv_dvb_package linuxtv-dvb-1.1.1cvs20050529 |
---|
12 | |
---|
13 | # Compile type: debug or release |
---|
14 | %define compile_type release |
---|
15 | #%define compile_type debug |
---|
16 | |
---|
17 | # A list of which applications we want to put into the desktop menu system |
---|
18 | %define desktop_applications mythfrontend mythbackend mythtv-setup |
---|
19 | |
---|
20 | # The vendor name we should attribute the aforementioned entries to |
---|
21 | %define desktop_vendor mythtv |
---|
22 | |
---|
23 | # Set "--with proc_opt" to let mythtv autodetect your CPU and run its |
---|
24 | # processor-specific optimizations - enabled by default here!. |
---|
25 | # MythTV now uses a fairly intelligent cpu-detection script, so if you are |
---|
26 | # building an rpm by hand on the machine it will be used on, I encourage you |
---|
27 | # to use "--with proc_opt" to let mythtv decide for you. |
---|
28 | %define with_proc_opt %{?_without_proc_opt: 0} %{!?_without_proc_opt: 1} |
---|
29 | |
---|
30 | # The following options are enabled by default. Use --without to disable them |
---|
31 | %define with_lirc %{?_without_lirc: 0} %{?!_without_lirc: 1} |
---|
32 | %define with_firewire %{?_without_firewire: 0} %{?!_without_firewire: 1} |
---|
33 | %define with_dvb %{?_without_dvb: 0} %{?!_without_dvb: 1} |
---|
34 | %define with_alsa %{?_without_alsa: 0} %{?!_without_alsa: 1} |
---|
35 | %define with_oss %{?_without_oss: 0} %{?!_without_oss: 1} |
---|
36 | %define with_xrandr %{?_without_xrandr: 0} %{?!_without_xrandr: 1} |
---|
37 | %define with_xvmcnvidia %{?_without_xvmcnvidia: 0} %{?!_without_xvmcnvidia: 1} |
---|
38 | %define with_opengl_vsync %{?_without_opengl_vsync: 0} %{!?_without_opengl_vsync: 1} |
---|
39 | |
---|
40 | # The following options are disabled by default. Use --with to enable them |
---|
41 | %define with_arts %{?_with_arts: 1} %{?!_with_arts: 0} |
---|
42 | %define with_jack %{?_with_jack: 1} %{!?_with_jack: 0} |
---|
43 | %define with_xvmcvld %{?_with_xvmcvld: 1} %{!?_with_xvmcvld: 0} |
---|
44 | %define with_directfb %{?_with_directfb: 1} %{!?_with_directfb: 0} |
---|
45 | |
---|
46 | # Define some directory names that aren't present in rpm's own macro library |
---|
47 | %define _varlibdir %{_localstatedir}/lib |
---|
48 | %define _varcachedir %{_localstatedir}/cache |
---|
49 | %define _logdir %{_localstatedir}/log |
---|
50 | %define _rundir %{_localstatedir}/run |
---|
51 | %define _subsysdir %{_localstatedir}/lock/subsys |
---|
52 | %define _sysconfigdir %{_sysconfdir}/sysconfig |
---|
53 | %define _logrotatedir %{_sysconfdir}/logrotate.d |
---|
54 | |
---|
55 | # where is the SVN repository kept? |
---|
56 | %define _mythsvnroot '/root/myth-svn' |
---|
57 | |
---|
58 | # get initial SVN Revision from the repository.... |
---|
59 | %define _svn_rev %(svn info %{_mythsvnroot}/%{name} | grep Revision | cut --delimiter=: -f 2 | tr -d ' ' ) |
---|
60 | |
---|
61 | # |
---|
62 | # Below, you'll find the basic configuration for this package |
---|
63 | # |
---|
64 | Name: mythtv |
---|
65 | Version: 0.19 |
---|
66 | Release: 0.%{_svn_rev}.svn |
---|
67 | Summary: A digital video recorder (DVR) application |
---|
68 | |
---|
69 | URL: http://www.mythtv.org/ |
---|
70 | #License: GPL2 - bad according to rpmlint |
---|
71 | License: GPL |
---|
72 | Group: Applications/Multimedia |
---|
73 | |
---|
74 | Source0: http://www.mythtv.org/mc/%{name}-%{version}.%{_svn_rev}.tar.bz2 |
---|
75 | Source1: mythbackend.sysconfig.in |
---|
76 | Source2: mythbackend.init.in |
---|
77 | Source3: mythbackend.logrotate.in |
---|
78 | Source4: mythtv.png |
---|
79 | Source5: mythtv.desktop |
---|
80 | Source6: mythfrontend.png |
---|
81 | Source7: mythfrontend.desktop |
---|
82 | Source8: mythepg.png |
---|
83 | Source9: mythepg.desktop |
---|
84 | Source10: mythprogfind.png |
---|
85 | Source11: mythprogfind.desktop |
---|
86 | Source12: http://linuxtv.org/download/dvb/%{linuxtv_dvb_package}.tar.bz2 |
---|
87 | Source100: mythtv-doc.configure.ac |
---|
88 | Source101: mythtv-doc.Makefile.am |
---|
89 | |
---|
90 | BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) |
---|
91 | |
---|
92 | # we leave _builddir to default to /usr/src/redhat/BUILD or wherever user wants. |
---|
93 | # %define _builddir /usr/src/redhat/BUILD |
---|
94 | |
---|
95 | # dont change here, we assume /usr, as BUILD_ROOT overrides at 'make install' time |
---|
96 | #%define _prefix /usr |
---|
97 | |
---|
98 | ################################################################################ |
---|
99 | |
---|
100 | BuildRequires: gcc-c++ |
---|
101 | BuildRequires: XFree86-devel |
---|
102 | BuildRequires: freetype-devel >= 2 |
---|
103 | BuildRequires: lame-devel |
---|
104 | BuildRequires: qt-devel >= 3 |
---|
105 | BuildRequires: mysql-devel |
---|
106 | BuildRequires: desktop-file-utils |
---|
107 | |
---|
108 | %if %{with_alsa} |
---|
109 | BuildRequires: alsa-lib-devel |
---|
110 | %endif |
---|
111 | |
---|
112 | %if %{with_arts} |
---|
113 | BuildRequires: arts-devel |
---|
114 | %endif |
---|
115 | |
---|
116 | %if %{with_directfb} |
---|
117 | BuildRequires: directfb-devel |
---|
118 | %endif |
---|
119 | |
---|
120 | #%if %{with_dvb} |
---|
121 | #BuildRequires: linuxtv-dvb-devel |
---|
122 | #%endif |
---|
123 | |
---|
124 | %if %{with_firewire} |
---|
125 | BuildRequires: libiec61883-devel >= 0.1.0svn49 |
---|
126 | BuildRequires: libraw1394-devel >= 1.2 |
---|
127 | BuildRequires: libavc1394-devel |
---|
128 | %endif |
---|
129 | |
---|
130 | %if %{with_lirc} |
---|
131 | BuildRequires: lirc-lib-devel |
---|
132 | %endif |
---|
133 | |
---|
134 | %if %{with_opengl_vsync} |
---|
135 | BuildRequires: nvidia-graphics-devel |
---|
136 | BuildRequires: XFree86-devel |
---|
137 | %endif |
---|
138 | |
---|
139 | %if %{with_xvmcvld} |
---|
140 | BuildRequires: libXvMCW-devel |
---|
141 | %endif |
---|
142 | |
---|
143 | %if %{with_xvmcnvidia} |
---|
144 | BuildRequires: nvidia-graphics-devel |
---|
145 | BuildRequires: libXvMCW-devel |
---|
146 | %endif |
---|
147 | |
---|
148 | %description |
---|
149 | MythTV implements the following DVR features, and more, with a |
---|
150 | unified graphical interface: |
---|
151 | |
---|
152 | - Basic 'live-tv' functionality. Pause/Fast Forward/Rewind "live" TV. |
---|
153 | - Video compression using RTjpeg or MPEG-4 |
---|
154 | - Program listing retrieval using XMLTV |
---|
155 | - Themable, semi-transparent on-screen display |
---|
156 | - Electronic program guide |
---|
157 | - Scheduled recording of TV programs |
---|
158 | - Resolution of conflicts between scheduled recordings |
---|
159 | - Basic video editing |
---|
160 | |
---|
161 | ################################################################################ |
---|
162 | |
---|
163 | %package -n libmyth |
---|
164 | Summary: Library providing mythtv support |
---|
165 | Group: System Environment/Libraries |
---|
166 | |
---|
167 | Requires: freetype >= 2 |
---|
168 | Requires: lame |
---|
169 | Requires: qt >= 3 |
---|
170 | Requires: qt-MySQL |
---|
171 | |
---|
172 | %description -n libmyth |
---|
173 | Common library code for MythTV and add-on modules (development) |
---|
174 | MythTV provides a unified graphical interface for recording and viewing |
---|
175 | television programs. Refer to the mythtv package for more information. |
---|
176 | |
---|
177 | ################################################################################ |
---|
178 | |
---|
179 | %package -n libmyth-devel |
---|
180 | Summary: Development files for libmyth |
---|
181 | Group: Development/Libraries |
---|
182 | |
---|
183 | Requires: libmyth = %{version} |
---|
184 | Requires: freetype-devel >= 2, lame-devel, qt-devel >= 3, |
---|
185 | Requires: mysql-devel |
---|
186 | |
---|
187 | %if %{with_alsa} |
---|
188 | Requires: alsa-lib-devel |
---|
189 | %endif |
---|
190 | |
---|
191 | %if %{with_arts} |
---|
192 | Requires: arts-devel |
---|
193 | %endif |
---|
194 | |
---|
195 | %if %{with_directfb} |
---|
196 | Requires: directfb-devel |
---|
197 | %endif |
---|
198 | |
---|
199 | #%if %{with_dvb} |
---|
200 | #Requires: linuxtv-dvb-devel |
---|
201 | #%endif |
---|
202 | |
---|
203 | %if %{with_firewire} |
---|
204 | Requires: libiec61883-devel >= 0.1.0svn49 |
---|
205 | %endif |
---|
206 | |
---|
207 | %if %{with_lirc} |
---|
208 | Requires: lirc-lib-devel |
---|
209 | %endif |
---|
210 | |
---|
211 | %if %{with_xvmcvld} |
---|
212 | Requires: libXvMCW |
---|
213 | %endif |
---|
214 | |
---|
215 | %if %{with_xvmcnvidia} |
---|
216 | Requires: nvidia-graphics-devel |
---|
217 | Requires: libXvMCW |
---|
218 | %endif |
---|
219 | |
---|
220 | %description -n libmyth-devel |
---|
221 | This package contains the header files and libraries for developing |
---|
222 | add-ons for mythtv. |
---|
223 | |
---|
224 | ################################################################################ |
---|
225 | |
---|
226 | %package -n mythtv-themes |
---|
227 | Summary: Base themes for mythtv's frontend |
---|
228 | Group: Applications/Multimedia |
---|
229 | Provides: mythtv-theme-gant |
---|
230 | Obsoletes: mythtv-theme-gant |
---|
231 | |
---|
232 | %description -n mythtv-themes |
---|
233 | MythTV provides a unified graphical interface for recording and viewing |
---|
234 | television programs. Refer to the mythtv package for more information. |
---|
235 | |
---|
236 | This package contains only the base themes used by the frontend and |
---|
237 | mythtvsetup. |
---|
238 | |
---|
239 | ################################################################################ |
---|
240 | |
---|
241 | %package -n mythtv-frontend |
---|
242 | Summary: Client component of mythtv (a DVR) |
---|
243 | Group: Applications/Multimedia |
---|
244 | |
---|
245 | Requires: mythtv = %{version} |
---|
246 | Requires: mythtv-themes = %{version} |
---|
247 | Provides: mythtv-frontend-api = %(echo %{version} | awk -F. '{print $1 "." $2}') |
---|
248 | |
---|
249 | %description -n mythtv-frontend |
---|
250 | MythTV provides a unified graphical interface for recording and viewing |
---|
251 | television programs. Refer to the mythtv package for more information. |
---|
252 | |
---|
253 | This package contains only the client software, which provides a |
---|
254 | front-end for playback and configuration. It requires access to a |
---|
255 | mythtv-backend installation, either on the same system or one |
---|
256 | reachable via the network. |
---|
257 | |
---|
258 | ################################################################################ |
---|
259 | |
---|
260 | %package -n mythtv-backend |
---|
261 | Summary: Server component of mythtv (a DVR) |
---|
262 | Group: Applications/Multimedia |
---|
263 | |
---|
264 | Conflicts: xmltv-grabbers < 0.5.34 |
---|
265 | Requires: mythtv = %{version} |
---|
266 | |
---|
267 | %description -n mythtv-backend |
---|
268 | MythTV provides a unified graphical interface for recording and viewing |
---|
269 | television programs. Refer to the mythtv package for more information. |
---|
270 | |
---|
271 | This package contains only the server software, which provides video |
---|
272 | and audio capture and encoding services. In order to be useful, it |
---|
273 | requires a mythtv-frontend installation, either on the same system or |
---|
274 | one reachable via the network. |
---|
275 | |
---|
276 | ################################################################################ |
---|
277 | |
---|
278 | %package -n mythtv-setup |
---|
279 | Summary: Setup the mythtv backend |
---|
280 | Group: Applications/Multimedia |
---|
281 | Provides: mythtvsetup = %{version} |
---|
282 | Obsoletes: mythtvsetup <= %{version} |
---|
283 | |
---|
284 | Requires: mythtv-backend = %{version} |
---|
285 | Requires: mythtv-themes = %{version} |
---|
286 | |
---|
287 | %description -n mythtv-setup |
---|
288 | MythTV provides a unified graphical interface for recording and viewing |
---|
289 | television programs. Refer to the mythtv package for more information. |
---|
290 | |
---|
291 | This package contains only the setup software for configuring the |
---|
292 | mythtv backend. |
---|
293 | |
---|
294 | ################################################################################ |
---|
295 | |
---|
296 | %prep |
---|
297 | echo SVN REVISION: %{_svn_rev} in folder: %{_mythsvnroot}/%{name} |
---|
298 | if [ ! -f '%{_mythsvnroot}/%{name}/README' ] ; then |
---|
299 | # dont have SVN yet? get it! |
---|
300 | cd %{_mythsvnroot} |
---|
301 | svn co http://cvs.mythtv.org/svn/trunk/%{name} |
---|
302 | else |
---|
303 | # got SVN already? update it! |
---|
304 | cd %{_mythsvnroot}/%{name} |
---|
305 | svn update . |
---|
306 | fi |
---|
307 | |
---|
308 | # re-determine SVN version, and see if it's changed since we started.. |
---|
309 | # changed slightly, so that rpmbuild doesn't cache the old _svn_rev |
---|
310 | SVNNEW=`svn info %{_mythsvnroot}/%{name} | grep Revision | cut --delimiter=: -f 2 | tr -d ' '` |
---|
311 | echo NEW SVN REVISION: $SVNNEW |
---|
312 | |
---|
313 | # abort if SVN revision has changed since we started this specfile... |
---|
314 | if [ %{_svn_rev} != $SVNNEW ] ; then |
---|
315 | echo SVN revision changed from %{_svn_rev} to $SVNNEW. Please re-run rpmbuild now... |
---|
316 | false |
---|
317 | fi |
---|
318 | |
---|
319 | cd - |
---|
320 | |
---|
321 | # finally, sync SVN to the rpm build directory... |
---|
322 | rsync --cvs-exclude -rav %{_mythsvnroot}/%{name}/* %{_builddir}/%{name}-%{version}/ |
---|
323 | touch %{_sourcedir}/%{name}-%{version}.%{_svn_rev}.tar.bz2 |
---|
324 | |
---|
325 | echo Release is: %{release} |
---|
326 | |
---|
327 | # '-n mythtv' would mean source goes to 'mythtv' not %{name}-%{version} (ie mythtv-0.19) |
---|
328 | %setup -q -n %{name}-%{version} -D -T |
---|
329 | |
---|
330 | %if %{with_dvb} |
---|
331 | %setup -q -n %{name}-%{version} -T -D -a 12 |
---|
332 | %endif |
---|
333 | |
---|
334 | # where are we? we be here: |
---|
335 | cd %{_builddir}/%{name}-%{version} |
---|
336 | |
---|
337 | # Replace static lib paths with %{_lib} so we build properly on x86_64 |
---|
338 | # systems, where the libs are actually in lib64. |
---|
339 | if [ "%{_lib}" != "lib" ]; then |
---|
340 | grep -rl /lib/ . | xargs perl -pi -e's,/lib/,/%{_lib}/,g' |
---|
341 | grep -rl /lib$ . | xargs perl -pi -e's,/lib$,/%{_lib},' |
---|
342 | grep -rl '/lib ' . | xargs perl -pi -e's,/lib ,/%{_lib} ,g' |
---|
343 | fi |
---|
344 | |
---|
345 | # test for X not with xinit, but instead with libX11.so |
---|
346 | perl -pi -e's,test -f /usr/X11R6/bin/xinit,test -f /usr/X11R6/%{_lib}/libX11.so,' configure |
---|
347 | |
---|
348 | # We also need Xv libs to build XvMCNVIDIA |
---|
349 | perl -pi -e's,VENDOR_XVMC_LIBS="-lXvMCNVIDIA",VENDOR_XVMC_LIBS="-lXvMCNVIDIA -lXv",' configure |
---|
350 | |
---|
351 | # Fix path to artsc.h on Fedora |
---|
352 | #find . -type f | xargs grep -l artsc/artsc.h | xargs sed -i -e 's#artsc/artsc.h#artsc.h#g' |
---|
353 | |
---|
354 | # we also don't want .cvs stuff in contrib - rpmlint complains! |
---|
355 | find . -name \.cvsignore | xargs rm -rf |
---|
356 | |
---|
357 | # Prevent all of those nasty installs to ../../../../../bin/whatever |
---|
358 | echo "QMAKE_PROJECT_DEPTH = 0" >> mythtv.pro |
---|
359 | echo "QMAKE_PROJECT_DEPTH = 0" >> settings.pro |
---|
360 | chmod 644 settings.pro |
---|
361 | |
---|
362 | # Install these files that MythTV doesn't include, |
---|
363 | # and update them with the paths set by rpmbuild. |
---|
364 | cp -a %{SOURCE1} %{SOURCE2} %{SOURCE3} . |
---|
365 | for file in mythbackend.init \ |
---|
366 | mythbackend.sysconfig \ |
---|
367 | mythbackend.logrotate; do |
---|
368 | sed -e 's#@logdir@#%{_logdir}#g' \ |
---|
369 | -e 's#@rundir@#%{_rundir}#g' \ |
---|
370 | -e 's#@sysconfigdir@#%{_sysconfigdir}#g' \ |
---|
371 | -e 's#@initdir@#%{_initrddir}#g' \ |
---|
372 | -e 's#@bindir@#%{_bindir}#g' \ |
---|
373 | -e 's#@sbindir@#%{_sbindir}#g' \ |
---|
374 | -e 's#@subsysdir@#%{_subsysdir}#g' \ |
---|
375 | -e 's#@varlibdir@#%{_varlibdir}#g' \ |
---|
376 | -e 's#@varcachedir@#%{_varcachedir}#g' \ |
---|
377 | -e 's#@logrotatedir@#%{_logrotatedir}#g' \ |
---|
378 | < $file.in > $file |
---|
379 | done |
---|
380 | # get perms right for rpmlint/etc. |
---|
381 | |
---|
382 | |
---|
383 | # dummy docs that we can install for rpmlint's sake. |
---|
384 | rm -rf docs/dummy |
---|
385 | mkdir docs/dummy |
---|
386 | echo "nothing here - dummy file" > docs/dummy/mythtv-backend |
---|
387 | echo "nothing here - dummy file" > docs/dummy/mythtv-setup |
---|
388 | echo "nothing here - dummy file" > docs/dummy/mythtv-frontend |
---|
389 | echo "nothing here - dummy file" > docs/dummy/mythtv-themes |
---|
390 | |
---|
391 | ################################################################################ |
---|
392 | |
---|
393 | %build |
---|
394 | |
---|
395 | # Need to set $QTDIR? |
---|
396 | [ -n "$QTDIR" ] || . %{_sysconfdir}/profile.d/qt.sh |
---|
397 | |
---|
398 | # Initialize the options string |
---|
399 | OPTS="" |
---|
400 | |
---|
401 | # Tune for the various processor types? |
---|
402 | # we need to do something specific here re cpu detecting |
---|
403 | %if %{with_proc_opt} |
---|
404 | OPTS="$OPTS --enable-proc-opt" |
---|
405 | %endif |
---|
406 | |
---|
407 | # Go through each of the config options and make sure they are |
---|
408 | # enabled (or disabled) as requested. |
---|
409 | |
---|
410 | %if %{with_arts} |
---|
411 | OPTS="$OPTS --enable-audio-arts" |
---|
412 | %else |
---|
413 | OPTS="$OPTS --disable-audio-arts" |
---|
414 | %endif |
---|
415 | |
---|
416 | %if %{with_alsa} |
---|
417 | OPTS="$OPTS --enable-audio-alsa" |
---|
418 | %else |
---|
419 | OPTS="$OPTS --disable-audio-alsa" |
---|
420 | %endif |
---|
421 | |
---|
422 | %if %{with_oss} |
---|
423 | OPTS="$OPTS --enable-audio-oss" |
---|
424 | %else |
---|
425 | OPTS="$OPTS --disable-audio-oss" |
---|
426 | %endif |
---|
427 | |
---|
428 | %if %{with_xvmcnvidia} |
---|
429 | OPTS="$OPTS --enable-xvmc" |
---|
430 | %else |
---|
431 | OPTS="$OPTS --disable-xvmc" |
---|
432 | %endif |
---|
433 | |
---|
434 | %if %{with_xvmcvld} |
---|
435 | OPTS="$OPTS --enable-xvmc-vld" |
---|
436 | %else |
---|
437 | OPTS="$OPTS --disable-xvmc-vld" |
---|
438 | %endif |
---|
439 | |
---|
440 | %if %{with_opengl_vsync} |
---|
441 | OPTS="$OPTS --enable-opengl-vsync" |
---|
442 | %else |
---|
443 | OPTS="$OPTS --disable-opengl-vsync" |
---|
444 | %endif |
---|
445 | |
---|
446 | %if %{with_lirc} |
---|
447 | OPTS="$OPTS --enable-lirc" |
---|
448 | %else |
---|
449 | OPTS="$OPTS --disable-lirc" |
---|
450 | %endif |
---|
451 | |
---|
452 | %if %{with_firewire} |
---|
453 | OPTS="$OPTS --enable-firewire" |
---|
454 | %else |
---|
455 | OPTS="$OPTS --disable-firewire" |
---|
456 | %endif |
---|
457 | |
---|
458 | %if %{with_jack} |
---|
459 | OPTS="$OPTS --enable-audio-jack" |
---|
460 | %else |
---|
461 | OPTS="$OPTS --disable-audio-jack" |
---|
462 | %endif |
---|
463 | |
---|
464 | %if %{with_xrandr} |
---|
465 | OPTS="$OPTS --enable-xrandr" |
---|
466 | %else |
---|
467 | OPTS="$OPTS --disable-xrandr" |
---|
468 | %endif |
---|
469 | |
---|
470 | %if %{with_directfb} |
---|
471 | OPTS="$OPTS --enable-directfb" |
---|
472 | %else |
---|
473 | OPTS="$OPTS --disable-directfb" |
---|
474 | %endif |
---|
475 | |
---|
476 | %if %{with_dvb} |
---|
477 | OPTS="$OPTS --enable-dvb" |
---|
478 | OPTS="$OPTS --enable-dvb-eit" |
---|
479 | OPTS="$OPTS --dvb-path=%{_builddir}/%{name}-%{version}/%{linuxtv_dvb_package}/linux/include/" |
---|
480 | %else |
---|
481 | OPTS="$OPTS --disable-dvb" |
---|
482 | %endif |
---|
483 | |
---|
484 | # similar to 'percent' configure, but without {_target_platform} and {_exec_prefix} etc... |
---|
485 | ./configure \ |
---|
486 | --prefix=%{_prefix} \ |
---|
487 | --compile-type=%{compile_type} \ |
---|
488 | --enable-joystick-menu \ |
---|
489 | --enable-ivtv \ |
---|
490 | --enable-x11 \ |
---|
491 | --enable-xv \ |
---|
492 | $OPTS |
---|
493 | |
---|
494 | # Make |
---|
495 | make |
---|
496 | |
---|
497 | # We don't want rpm to add perl requirements to anything in contrib |
---|
498 | find contrib -type f | xargs -r chmod a-x |
---|
499 | |
---|
500 | ################################################################################ |
---|
501 | |
---|
502 | %install |
---|
503 | |
---|
504 | rm -rf %{buildroot} |
---|
505 | make install INSTALL_ROOT=%{buildroot} |
---|
506 | |
---|
507 | ln -s mythtv-setup %{buildroot}%{_bindir}/mythtvsetup |
---|
508 | mkdir -p %{buildroot}%{_varlibdir}/mythtv |
---|
509 | mkdir -p %{buildroot}%{_varcachedir}/mythtv |
---|
510 | mkdir -p %{buildroot}%{_logdir}/mythtv |
---|
511 | mkdir -p %{buildroot}%{_logrotatedir} |
---|
512 | mkdir -p %{buildroot}%{_initrddir} |
---|
513 | mkdir -p %{buildroot}%{_sysconfigdir} |
---|
514 | |
---|
515 | # get perms right for rpmlint. |
---|
516 | install -p -m 755 mythbackend.init %{buildroot}%{_initrddir}/mythbackend |
---|
517 | install -p -m 644 mythbackend.sysconfig %{buildroot}%{_sysconfigdir}/mythbackend |
---|
518 | install -p -m 644 mythbackend.logrotate %{buildroot}%{_logrotatedir}/mythbackend |
---|
519 | |
---|
520 | # Desktop entries |
---|
521 | mkdir -p %{buildroot}%{_datadir}/pixmaps |
---|
522 | mkdir -p %{buildroot}%{_datadir}/applications |
---|
523 | for file in %{desktop_applications}; do |
---|
524 | if [ ! -f %{_sourcedir}/$file.png ] ; then |
---|
525 | cp %{_sourcedir}/mythfrontend.png %{_sourcedir}/$file.png |
---|
526 | cp %{_sourcedir}/mythfrontend.desktop %{_sourcedir}/$file.desktop |
---|
527 | fi |
---|
528 | install -p %{_sourcedir}/$file.png %{buildroot}%{_datadir}/pixmaps/$file.png |
---|
529 | desktop-file-install --vendor %{desktop_vendor} \ |
---|
530 | --dir %{buildroot}%{_datadir}/applications \ |
---|
531 | --add-category X-Red-Hat-Extra \ |
---|
532 | --add-category Application \ |
---|
533 | --add-category AudioVideo \ |
---|
534 | %{_sourcedir}/$file.desktop |
---|
535 | done |
---|
536 | |
---|
537 | mkdir -p %{buildroot}%{_libdir}/mythtv/plugins |
---|
538 | |
---|
539 | mkdir -p %{buildroot}%{_datadir}/mythtv/build/ |
---|
540 | install -p -m 644 settings.pro %{buildroot}%{_datadir}/mythtv/build/ |
---|
541 | |
---|
542 | ################################################################################ |
---|
543 | |
---|
544 | %clean |
---|
545 | rm -rf %{buildroot} |
---|
546 | |
---|
547 | |
---|
548 | %pre |
---|
549 | # Add the "mythtv" user |
---|
550 | /usr/sbin/useradd -c "mythtvbackend User" \ |
---|
551 | -s /sbin/nologin -r -d %{_varlibdir}/mythtv mythtv 2> /dev/null || : |
---|
552 | |
---|
553 | |
---|
554 | %post -n libmyth -p /sbin/ldconfig |
---|
555 | %postun -n libmyth -p /sbin/ldconfig |
---|
556 | |
---|
557 | |
---|
558 | %post -n mythtv-backend |
---|
559 | /sbin/chkconfig --add mythbackend |
---|
560 | %preun -n mythtv-backend |
---|
561 | if [ $1 = 0 ]; then |
---|
562 | /sbin/service mythbackend stop > /dev/null 2>&1 |
---|
563 | /sbin/chkconfig --del mythbackend |
---|
564 | fi |
---|
565 | |
---|
566 | ################################################################################ |
---|
567 | |
---|
568 | %files |
---|
569 | %defattr(-,root,root,-) |
---|
570 | %doc README* UPGRADING AUTHORS COPYING FAQ |
---|
571 | %doc database keys.txt |
---|
572 | %doc docs/*.html docs/*.png docs/*.txt contrib configfiles |
---|
573 | |
---|
574 | %define ghostattr %attr(0644,root,root) %verify(not md5 size mtime) %ghost %config(missingok,noreplace) |
---|
575 | |
---|
576 | %files -n mythtv-backend |
---|
577 | %defattr(-,root,root,-) |
---|
578 | #config(noreplace) %{_datadir}/mythtv/mysql.txt |
---|
579 | %{_bindir}/mythbackend |
---|
580 | %{_bindir}/mythfilldatabase |
---|
581 | %{_bindir}/mythjobqueue |
---|
582 | %attr(-,mythtv,mythtv) %dir %{_varlibdir}/mythtv |
---|
583 | %attr(-,mythtv,mythtv) %dir %{_varcachedir}/mythtv |
---|
584 | %{_initrddir}/mythbackend |
---|
585 | %config(noreplace) %{_sysconfigdir}/mythbackend |
---|
586 | %config(noreplace) %{_logrotatedir}/mythbackend |
---|
587 | %attr(-,mythtv,mythtv) %dir %{_logdir}/mythtv |
---|
588 | # Hm, somehow this doesn't work yet ... :( |
---|
589 | #%ghostattr %{_logdir}/mythtv/mythbackend.log* |
---|
590 | #%ghostattr %{_rundir}/mythbackend.pid |
---|
591 | #%ghostattr %{_subsysdir}/mythbackend |
---|
592 | %doc docs/dummy/mythtv-backend |
---|
593 | |
---|
594 | %files -n mythtv-setup |
---|
595 | %defattr(-,root,root,-) |
---|
596 | %{_bindir}/mythtv-setup |
---|
597 | %{_bindir}/mythtvsetup |
---|
598 | %doc docs/dummy/mythtv-setup |
---|
599 | |
---|
600 | %files -n mythtv-frontend |
---|
601 | %defattr(-,root,root,-) |
---|
602 | #config(noreplace) %{_datadir}/mythtv/mysql.txt |
---|
603 | %{_datadir}/mythtv/*.xml |
---|
604 | %{_bindir}/mythfrontend |
---|
605 | %{_bindir}/mythtv |
---|
606 | #%{_bindir}/mythepg |
---|
607 | #%{_bindir}/mythprogfind |
---|
608 | %{_bindir}/mythlcdserver |
---|
609 | %{_bindir}/mythshutdown |
---|
610 | %{_bindir}/mythwelcome |
---|
611 | %{_bindir}/mythcommflag |
---|
612 | %{_bindir}/mythtranscode |
---|
613 | %{_bindir}/mythtvosd |
---|
614 | %{_libdir}/mythtv/filters |
---|
615 | %{_libdir}/mythtv/plugins |
---|
616 | %{_datadir}/mythtv/*.ttf |
---|
617 | %{_datadir}/mythtv/i18n |
---|
618 | %{_datadir}/applications/*myth*.desktop |
---|
619 | %{_datadir}/pixmaps/myth*.png |
---|
620 | %doc docs/dummy/mythtv-frontend |
---|
621 | |
---|
622 | %files -n mythtv-themes |
---|
623 | %defattr(-,root,root,-) |
---|
624 | %{_datadir}/mythtv/themes |
---|
625 | %doc docs/dummy/mythtv-themes |
---|
626 | |
---|
627 | %files -n libmyth |
---|
628 | %defattr(-,root,root,-) |
---|
629 | %{_libdir}/*.so.* |
---|
630 | |
---|
631 | %files -n libmyth-devel |
---|
632 | %defattr(-,root,root,-) |
---|
633 | %{_includedir}/* |
---|
634 | %{_libdir}/*.so |
---|
635 | %{_libdir}/*.a |
---|
636 | %{_datadir}/mythtv/build/settings.pro |
---|
637 | |
---|
638 | ################################################################################ |
---|
639 | |
---|
640 | %changelog |
---|
641 | * Tue Jan 03 2006 David Bussenschutt <buzz@oska.com> %{version}-%{release} |
---|
642 | - Converted/Modified Chris' July 19 2005 spec to fully automate build of SVN for nightly snapshots. |
---|
643 | - reenabled opengl-vsync by default since atrpms has it enabled now! |
---|
644 | - enabled --with-proc-opt by default, as most SVN users will want this. |
---|
645 | - enabled 'debug' as SVN users will probably want this, gdb friendly. |
---|
646 | - pulled axel's %%{_lib} fixes from June 4 2005 into this file |
---|
647 | - resolved svn chicken-and-egg 'what version is this specfile?' question, by aborting on svn revision change |
---|
648 | - ran results through rpmlint and fixed other minor errors (minor install perms) |
---|
649 | - made all package,description,files keywords use -n syntax for clarity |
---|
650 | |
---|
651 | * Tue Jul 19 2005 Chris Petersen <rpm@forevermore.net> |
---|
652 | - Remove atrpms patches |
---|
653 | - Change desktop vendor from atrpms to mythtv |
---|
654 | - Change summary from PVR to DVR |
---|
655 | |
---|
656 | * Mon Apr 18 2005 Chris Petersen <rpm@forevermore.net> |
---|
657 | - Clean up spec, add documentation |
---|
658 | - Rework --with and --without options |
---|
659 | - Disable opengl-vsync by default (it's unstable for too many people) |
---|
660 | |
---|
661 | * Fri Apr 15 2005 Axel Thimm <Axel.Thimm@ATrpms.net> |
---|
662 | - Update to 0.18. |
---|
663 | |
---|
664 | * Thu Apr 14 2005 Axel Thimm <Axel.Thimm@ATrpms.net> |
---|
665 | - Split off some themes into the myththemes package. |
---|
666 | |
---|
667 | * Mon Apr 04 2005 Jarod Wilson <jarod@wilsonet.com> |
---|
668 | - Rebuilt against nVidia 7174 XvMC |
---|
669 | - Includes Qt 3.3.4 time change patch |
---|
670 | |
---|
671 | * Thu Mar 03 2005 Jarod Wilson <jarod@wilsonet.com> |
---|
672 | - Rebuilt against 20050228 DVB |
---|
673 | - Add patch to include nVidia XvMC support again, |
---|
674 | but have it turned off by default |
---|
675 | |
---|
676 | * Wed Feb 23 2005 Jarod Wilson <jarod@wilsonet.com> |
---|
677 | - Added FireWire support |
---|
678 | |
---|
679 | * Fri Feb 11 2005 Axel Thimm <Axel.Thimm@ATrpms.net> |
---|
680 | - Update to 0.17. |
---|
681 | |
---|
682 | * Sat Nov 27 2004 Axel Thimm <Axel.Thimm@ATrpms.net> |
---|
683 | - Now that it works, disable XvMC in default build ... |
---|
684 | |
---|
685 | * Wed Nov 24 2004 Jarod Wilson <jcw@wilsonet.com> |
---|
686 | - Fix xvmcnvidia build. |
---|
687 | |
---|
688 | * Fri Sep 17 2004 Axel Thimm <Axel.Thimm@ATrpms.net> |
---|
689 | - Remove dependencies on xmltv-grabbers and mysql (Edward Rudd |
---|
690 | <eddie@omegaware.com>). |
---|
691 | - Include math.h in dvbdiseqc.cpp (Edward Rudd <eddie@omegaware.com>). |
---|
692 | - Enable opengl_vsync and xrandr for some distributions. |
---|
693 | |
---|
694 | * Fri Sep 10 2004 Axel Thimm <Axel.Thimm@ATrpms.net> |
---|
695 | - Update to 0.16. |
---|
696 | |
---|
697 | * Tue Aug 21 2004 Ben Stanley <bds02@uow.edu.au> |
---|
698 | - Sub-release 75. |
---|
699 | - Included dvb support in the build. |
---|
700 | - Included .png files for html help |
---|
701 | |
---|
702 | * Tue Jun 1 2004 Axel Thimm <Axel.Thimm@ATrpms.net> |
---|
703 | - Add patch for gcc < 3 (Edward Rudd <eddie@omegaware.com>). |
---|
704 | - Update to 0.15.1. |
---|
705 | - Remove patch, has already been applied. |
---|
706 | - New patch from Edward. |
---|
707 | |
---|
708 | * Thu May 27 2004 Axel Thimm <Axel.Thimm@ATrpms.net> |
---|
709 | - Updated to 0.15. |
---|
710 | |
---|
711 | * Wed May 5 2004 Axel Thimm <Axel.Thimm@ATrpms.net> |
---|
712 | - Use workaround for qmake project depth bug |
---|
713 | (by Robert Hardy <rhardy@webcon.ca>). |
---|
714 | |
---|
715 | * Tue Feb 17 2004 Axel Thimm <Axel.Thimm@ATrpms.net> |
---|
716 | - Split off mythtvsetup and the base themes into their own sub packages. |
---|
717 | - Make mysql.txt part of both frontend and backend. |
---|
718 | - Added support for arts and dvb. arts has been enabled by default. |
---|
719 | |
---|
720 | * Sun Feb 1 2004 Axel Thimm <Axel.Thimm@ATrpms.net> |
---|
721 | - Update to 0.14. |
---|
722 | - Disable directfb in default build. |
---|
723 | |
---|
724 | * Sun Jan 4 2004 Axel Thimm <Axel.Thimm@ATrpms.net> |
---|
725 | - Enable directfb. |
---|
726 | |
---|
727 | * Sat Dec 20 2003 Axel Thimm <Axel.Thimm@ATrpms.net> |
---|
728 | - Patch for missing tvformat default (bttv always did PAL). |
---|
729 | |
---|
730 | * Thu Dec 11 2003 Axel Thimm <Axel.Thimm@ATrpms.net> |
---|
731 | - Update to 0.13. |
---|
732 | - Remove ringbuffer patch (applied in 0.13). |
---|
733 | |
---|
734 | * Tue Oct 21 2003 Axel Thimm <Axel.Thimm@ATrpms.net> |
---|
735 | - Add cvs patch fixing ringbuffer races. |
---|
736 | - Remove settings patch for alsa/lirc and make it configurable |
---|
737 | from the rpmbuild invocation instead with --with/--without switches |
---|
738 | - New qmake invocation. |
---|
739 | |
---|
740 | * Sun Oct 19 2003 Axel Thimm <Axel.Thimm@ATrpms.net> |
---|
741 | - Update to 0.12. |
---|
742 | - Move path macros out of specfile. |
---|
743 | - Remove imdb patch. |
---|
744 | - Silence install/upgrade output. |
---|
745 | |
---|
746 | * Mon Oct 13 2003 Axel Thimm <Axel.Thimm@ATrpms.net> |
---|
747 | - Activate native alsa and lirc modes. |
---|
748 | |
---|
749 | * Sat Sep 20 2003 "Jarod C. Wilson" <jcw@wilsonet.com> |
---|
750 | - Added patch for imdb changes. |
---|
751 | |
---|
752 | * Sat Aug 16 2003 Axel Thimm <Axel.Thimm@ATrpms.net> |
---|
753 | - Update to 0.11. |
---|
754 | |
---|
755 | * Wed Jul 2 2003 Axel Thimm <Axel.Thimm@ATrpms.net> |
---|
756 | - Update to 0.10. |
---|
757 | |
---|
758 | * Tue Jun 24 2003 Axel Thimm <Axel.Thimm@ATrpms.net> |
---|
759 | - Make logrotate script accept non-existing logfiles. |
---|
760 | |
---|
761 | * Sat Jun 21 2003 Axel Thimm <Axel.Thimm@ATrpms.net> |
---|
762 | - Split off mythtv-suite. |
---|
763 | |
---|
764 | * Thu Jun 12 2003 Axel Thimm <Axel.Thimm@ATrpms.net> |
---|
765 | - Update to 0.9.1 release. |
---|
766 | - Split /var/spool/mythtv to /var/lib/mythtv and /var/cache/mythtv. |
---|
767 | (as Debian does). |
---|
768 | |
---|
769 | * Tue Jun 10 2003 Axel Thimm <Axel.Thimm@ATrpms.net> |
---|
770 | - Update to 0.9 release. |
---|
771 | |
---|
772 | * Wed May 14 2003 Axel Thimm <Axel.Thimm@ATrpms.net> |
---|
773 | - Fixed packaging bug in libmyth-devel. |
---|
774 | |
---|
775 | * Tue Apr 8 2003 Axel Thimm <Axel.Thimm@ATrpms.net> |
---|
776 | - Rebuilt for Red Hat 9. |
---|
777 | |
---|
778 | * Sun Mar 23 2003 Axel Thimm <Axel.Thimm@ATrpms.net> |
---|
779 | - Fixed desktop entries. |
---|
780 | |
---|
781 | * Sat Mar 22 2003 Axel Thimm <Axel.Thimm@ATrpms.net> |
---|
782 | - Add g flag to sed. |
---|
783 | - Don't use mythtv user yet. |
---|
784 | |
---|
785 | * Fri Mar 21 2003 Axel Thimm <Axel.Thimm@ATrpms.net> |
---|
786 | - Add mythtv user. |
---|
787 | - Add desktop entries. |
---|
788 | |
---|
789 | * Wed Mar 19 2003 Axel Thimm <Axel.Thimm@ATrpms.net> |
---|
790 | - Added start/stop scripts for mythbackend. |
---|
791 | |
---|
792 | * Tue Mar 18 2003 Axel Thimm <Axel.Thimm@ATrpms.net> |
---|
793 | - Removed unneeded 0.7 patches. |
---|
794 | |
---|
795 | * Mon Mar 17 2003 Axel Thimm <Axel.Thimm@ATrpms.net> |
---|
796 | - Update to 0.8. |
---|
797 | - Synced with Matt Zimmerman's debian package (package splitting). |
---|
798 | - Split off lib, devel, frontend, backend packages. |
---|
799 | |
---|
800 | * Thu Feb 13 2003 Paul Jara <pjara@rogers.com> |
---|
801 | - Added a patch that prevents a segmentation fault in mythfilldatabase. |
---|
802 | |
---|
803 | * Thu Jan 16 2003 Axel Thimm <Axel.Thimm@ATrpms.net> |
---|
804 | - Added dependency to qt-MySQL (Roy Stogner <roystgnr@ticam.utexas.edu>). |
---|
805 | |
---|
806 | * Thu Dec 5 2002 Axel Thimm <Axel.Thimm@ATrpms.net> |
---|
807 | - fixed installation paths. |
---|
808 | |
---|
809 | * Wed Nov 13 2002 Axel Thimm <Axel.Thimm@ATrpms.net> |
---|
810 | - Initial build. |
---|
811 | |
---|
812 | |
---|