/[packages]/cauldron/xbmc/current/SPECS/xbmc.spec
ViewVC logotype

Contents of /cauldron/xbmc/current/SPECS/xbmc.spec

Parent Directory Parent Directory | Revision Log Revision Log


Revision 89302 - (show annotations) (download)
Wed Apr 20 20:43:37 2011 UTC (12 years, 11 months ago) by anssi
File size: 18436 byte(s)
- new bugfix release 10.1
- drop allow-ppp.patch, fixed upstream
- rediff pvr patch

1
2 %define name xbmc
3 %define branch_release dharma
4 %define extra_feature pvr
5 %define version 10.1
6 # the svn revision of the end-result:
7 %define svnsnap 0
8 # the svn revision of the tarball:
9 # (for stable releases, set basesnap to %version-tar (it will be shown in gui
10 # when svnsnap is set to 0)
11 %define basesnap %version-tar
12 %define rel 1
13
14 %if %svnsnap
15 %define branch %branch_release.%extra_feature
16 %else
17 %define branch %extra_feature
18 %endif
19
20 %define branchr %([ "%branch" ] && echo .%branch | tr - _)
21
22 # There are some compatibility issues with the various python addons which
23 # are mostly tested against bundled python only, and there are too many of
24 # them to be checked out and fixed by us for system python compatibility.
25 # Additional issues are caused by the bundled python having several system
26 # calls redirected through xbmc VFS layer, which doesn't currently work when
27 # using the system python. Usage of system python can probably be safely
28 # re-enabled when XBMC upstream migrates away from python 2.4 and fixes the
29 # issues regarding external python (this is planned). -Anssi 11/2010
30 %define system_python 0
31
32 # using system python2.7+ reportedly causes problems with
33 # getcwd() and chdir() calls from python
34 # http://trac.xbmc.org/ticket/8658
35 %define system_python 0
36
37 Summary: XBMC Media Center - media player and home entertainment system
38 Name: %{name}
39 Version: %{version}
40 %if %svnsnap
41 Release: %mkrel 0.svn%svnsnap%branchr.%rel
42 # REV=$(git log -1 origin/Dharma | grep git-svn-id | sed -ne 's,^.*@\([^ ]\+\).*$,\1,p')
43 # git archive --prefix=xbmc-dharma-$REV/ origin/Dharma | xz > xbmc-dharma-$REV.tar.xz
44 Source: %{name}-%branch_release-%basesnap.tar.xz
45 %else
46 Release: %mkrel 1.%branch.%rel
47 Source: %{name}-%{version}.tar.gz
48 %endif
49 URL: http://xbmc.org/
50
51 # needed modules when using bundled python (versions are those expected by the Makefiles):
52 Source11: http://www.effbot.org/downloads/Imaging-1.1.7.tar.gz
53 Source12: http://pysqlite.googlecode.com/files/pysqlite-2.5.6.tar.gz
54
55 # bring snapshot up-to-date with pvr branch
56 # https://github.com/opdenkamp/xbmc/tree/Dharma-pvr
57 Patch0: xbmc-10.0-opdenkamp-pvr-fdb057b7754.patch
58
59 # bring snapshot up-to-date with main branch (patches rediffed for pvr):
60 # already up-to-date
61 #Patch18: xbmc-dharma-r35305-r%svnsnap.patch
62
63 # VDPAU backports from upstream master
64 Patch31: 0001-changed-split-CDVDVideoCodecFFmpeg-GetPicture.patch
65 Patch32: 0002-fixed-VDPAU-temporal-deinterlacer-was-not-provided-e.patch
66 Patch33: 0003-changed-allow-VDPAU-reverse-telecine-when-deinterlac.patch
67 Patch34: 0004-fixed-VDPAU-reverse-telecine.patch
68 Patch35: 0005-changed-enable-VDPAU-temporal-deinterlacer-when-temp.patch
69 Patch36: 0006-fixed-flush-VDPAU-video-surfaces-and-picture-queue-w.patch
70 Patch37: 0007-fixed-picture.iDuration-0-comparison.patch
71 Patch38: 0008-fixed-vdpau-needs-to-memset-its-DVDVideoPicture-stru.patch
72
73 # backports from upstream master
74 Patch40: 0001-added-note-in-linux-crashlog-if-gdb-is-not-installed.patch
75 Patch41: 0001-Added-9763-Fix-64-bit-WiiRemote-connection-issues-Th.patch
76
77 # Disable updates of the default skin. Our one is the PVR version, while the
78 # one in the XBMC.org addon repository would be the vanilla one (Confluence
79 # is currently not in the addon repository, though, as of 2010-10).
80 Patch60: xbmc-disable-confluence-update.patch
81
82 # Workaround http://www.nvnews.net/vbulletin/showthread.php?t=156665
83 # by forcing SDL to use alsa when pulse is disabled and nvidia proprietary
84 # driver version 260.x.y older than 260.19.21 is active.
85 Patch61: 0001-added-workaround-for-crash-with-nonpulse-nvidia260.patch
86
87 # forkpty and openpty are in -lutil
88 Patch62: 0001-fixed-undefined-symbols-in-internal-python.patch
89
90 # Ensure backward-compatibility with pvr-testing2 and prevent future compatibility
91 # issues with trunk Addons database format
92 Patch63: 0001-changed-use-the-legacy-pvr-testing2-addon-database.patch
93
94 # Do not use avg_frame_rate for mkv files on 2010.1 and older, instead
95 # use time_base if needed (fixes MicroDVD subtitles with 23.976 H.264 mkv)
96 Patch65: xbmc-old-libavformat-mkv-subs.patch
97
98 # build faad support with internal headers, but do not build the
99 # internal library; use system lib with dlopen instead;
100 # this allows keeping it as an optional external library
101 Patch70: xbmc-hack-ext-faad-with-int-headers.patch
102
103 # CVE fixes for the internal python
104 Patch81: 0001-fixed-CVE-2007-2052-in-internal-python-Mandriva.patch
105 Patch82: 0002-fixed-CVE-2007-4965-in-internal-python-upstream.patch
106 Patch83: 0003-fixed-CVE-2008-1679-in-internal-python-upstream.patch
107 Patch84: 0004-fixed-CVE-2008-1887-in-internal-python-upstream.patch
108 Patch85: 0005-fixed-CVE-2008-1721-in-internal-python-upstream.patch
109 Patch86: 0006-fixed-CVE-2008-2315-in-internal-python-Gentoo.patch
110 Patch87: 0007-fixed-CVE-2008-3142-in-internal-python-Gentoo.patch
111 Patch88: 0008-fixed-CVE-2008-3144-in-internal-python-Gentoo.patch
112 Patch89: 0009-fixed-CVE-2008-4864-in-internal-python-Mandriva.patch
113 Patch90: 0010-fixed-CVE-2008-5031-in-internal-python-upstream.patch
114 Patch91: 0011-fixed-CVE-2010-1634-in-internal-python-Mandriva.patch
115 Patch92: 0012-fixed-CVE-2010-2089-in-internal-python-Mandriva.patch
116 Patch93: 0013-fixed-CVE-2009-2625-in-internal-python-Mandriva.patch
117 Patch94: 0014-fixed-CVE-2010-3492-in-internal-python-Mandriva.patch
118 Patch95: 0015-fixed-CVE-2010-3493-in-internal-python-Mandriva.patch
119
120 # nosefart audio plugin and RSXS-0.9 based screensavers are GPLv2 only
121 # libhts, libhdhomerun and several eventclients are GPLv3+
122 # the rest is GPLv2+
123 License: GPLv3+ and GPLv2+ and GPLv2
124 Group: Video
125 BuildRoot: %{_tmppath}/%{name}-root
126 BuildRequires: boost-devel
127 BuildRequires: ffmpeg-devel
128 BuildRequires: libmpeg2dec-devel
129 BuildRequires: libogg-devel
130 BuildRequires: libwavpack-devel
131 BuildRequires: python-devel
132 BuildRequires: glew-devel
133 BuildRequires: mesagl-devel
134 BuildRequires: mesaglu-devel
135 BuildRequires: libmad-devel
136 BuildRequires: libjpeg-devel
137 BuildRequires: libsamplerate-devel
138 BuildRequires: libvorbis-devel
139 BuildRequires: bzip2-devel
140 BuildRequires: mysql-devel
141 BuildRequires: liblzo2-devel
142 BuildRequires: zlib-devel
143 BuildRequires: openssl-devel
144 BuildRequires: fontconfig-devel
145 BuildRequires: fribidi-devel
146 BuildRequires: sqlite3-devel
147 BuildRequires: libpng-devel
148 BuildRequires: libpcre-devel
149 BuildRequires: libcdio-devel
150 BuildRequires: libmms-devel
151 BuildRequires: freetype2-devel
152 BuildRequires: libflac-devel
153 BuildRequires: libsmbclient-devel
154 BuildRequires: SDL_mixer-devel
155 BuildRequires: libjasper-devel
156 BuildRequires: libtiff-devel
157 BuildRequires: SDL_image-devel
158 BuildRequires: libalsa-devel
159 BuildRequires: enca-devel
160 BuildRequires: libxt-devel
161 BuildRequires: libxtst-devel
162 BuildRequires: libxmu-devel
163 BuildRequires: libxinerama-devel
164 BuildRequires: libcurl-devel
165 BuildRequires: dbus-devel
166 BuildRequires: hal-devel
167 BuildRequires: SDL-devel
168 BuildRequires: pulseaudio-devel
169 BuildRequires: avahi-common-devel
170 BuildRequires: avahi-client-devel
171 BuildRequires: libxrandr-devel
172 BuildRequires: vdpau-devel
173 BuildRequires: cwiid-devel
174 BuildRequires: libice-devel
175 BuildRequires: libx11-devel
176 BuildRequires: crystalhd-devel
177 BuildRequires: libmicrohttpd-devel
178 BuildRequires: libmodplug-devel
179 BuildRequires: ssh-devel
180 BuildRequires: libva-devel
181 BuildRequires: gettext-devel
182 BuildRequires: expat-devel
183 BuildRequires: libass-devel
184 BuildRequires: rtmp-devel
185 BuildRequires: bluray-devel
186 BuildRequires: bluez-devel
187 BuildRequires: cmake
188 BuildRequires: gperf
189 BuildRequires: zip
190 %ifarch %ix86
191 BuildRequires: nasm
192 %endif
193 %if !%system_python
194 # python-imaging
195 BuildRequires: lcms-devel
196 %endif
197 Requires: lsb-release
198 # dlopened (existence check required by rpm5 as it doesn't use stderr):
199 %define dlopenreq() %([ -e %{_libdir}/lib%{1}.so ] && rpm -qf --qf '%%{name}' $(readlink -f %{_libdir}/lib%{1}.so) 2>/dev/null || echo %{name})
200 Requires: %dlopenreq curl
201 Requires: %dlopenreq FLAC
202 Requires: %dlopenreq mad
203 Requires: %dlopenreq ogg
204 Requires: %dlopenreq vorbis
205 Requires: %dlopenreq vorbisenc
206 Requires: %dlopenreq vorbisfile
207 Requires: %dlopenreq modplug
208 Requires: %dlopenreq rtmp
209 # not nearly as common as the above, so just suggest instead for now:
210 Suggests: %dlopenreq bluray
211 Suggests: %dlopenreq crystalhd
212 # for FEH.py, to check current configuration is ok for xbmc:
213 Requires: xdpyinfo
214 Requires: glxinfo
215 # for FEH.py to allow it to give an error message (should be available already
216 # on most systems):
217 Requires: pygtk2
218 %if %system_python
219 # for xbmc python scripts:
220 Requires: python-imaging
221 Requires: python-sqlite2
222 %endif
223 # Packages not shipped by Mandriva:
224 Suggests: %{_lib}faad2_2
225 Suggests: %{_lib}lame0
226 Suggests: %{_lib}dca0
227 Suggests: %{_lib}dvdcss2
228
229 # Packages have been merged
230 Obsoletes: xbmc-core < 9.11-1.svn29468
231 Obsoletes: xbmc-skin-confluence < 9.11-1.svn29468
232 Obsoletes: xbmc-skin-pm3-hd < 9.11-1.svn29468
233 Obsoletes: xbmc-nosefart < 9.11-1.svn29468
234 Obsoletes: xbmc-screensavers-default < 9.11-1.svn29468
235 Obsoletes: xbmc-script-examples < 9.11-1.svn27796
236 Obsoletes: xbmc-web-pm3 < 9.11-1.svn27796
237
238 %description
239 XBMC is an award-winning free and open source software media player
240 and entertainment hub for digital media.
241
242 While XBMC functions very well as a standard media player application
243 for your computer, it has been designed to be the perfect companion
244 for your HTPC. Supporting an almost endless range of remote controls,
245 and combined with its beautiful interface and powerful skinning
246 engine, XBMC feels very natural to use from the couch and is the
247 ideal solution for your home theater.
248
249 This is the stable version of XBMC from the dharma release branch,
250 with PVR support added from opdenkamp Dharma-pvr branch. Support for
251 RAR files and XBMS protocol is not included due to license issues.
252
253 %package eventclients-common
254 Summary: Common files for XBMC eventclients
255 Group: Video
256 %py_requires
257
258 %description eventclients-common
259 XBMC is an award-winning free and open source software media player
260 and entertainment hub for digital media.
261
262 This package contains common files for eventclients.
263
264 %package eventclients-devel
265 Summary: Development files for XBMC eventclients
266 Group: Development/C
267
268 %description eventclients-devel
269 XBMC is an award-winning free and open source software media player
270 and entertainment hub for digital media.
271
272 This package contains files needed to build eventclients.
273
274 %package eventclient-wiiremote
275 Summary: Wii Remote eventclient for XBMC
276 Group: Video
277 Requires: %{name}-eventclients-common = %{version}-%{release}
278
279 %description eventclient-wiiremote
280 XBMC is an award-winning free and open source software media player
281 and entertainment hub for digital media.
282
283 This package contains the Wii Remote eventclient.
284
285 %package eventclient-j2me
286 Summary: J2ME eventclient for XBMC
287 Group: Video
288 Requires: python-pybluez
289 Requires: %{name}-eventclients-common = %{version}-%{release}
290
291 %description eventclient-j2me
292 XBMC is an award-winning free and open source software media player
293 and entertainment hub for digital media.
294
295 This package contains the J2ME eventclient, providing a bluetooth
296 server that can communicate with a mobile tool supporting J2ME.
297
298 %package eventclient-ps3
299 Summary: PS3 eventclients for XBMC
300 Group: Video
301 Requires: python-pybluez
302 Requires: %{name}-eventclients-common = %{version}-%{release}
303 # requires via zeroconf.py, only used by xbmc-ps3d:
304 Requires: python-gobject avahi-python python-dbus
305 # TODO merge all these?, and TODO zeroconf.py to a correct package? :)
306 Obsoletes: eventclient-ps3remote < 9.11-1.svn31936
307
308 %description eventclient-ps3
309 XBMC is an award-winning free and open source software media player
310 and entertainment hub for digital media.
311
312 This package contains the PS3 remote and sixaxis eventclients.
313
314 %package eventclient-xbmc-send
315 Summary: PS3 eventclient for XBMC
316 Group: Video
317 Requires: %{name}-eventclients-common = %{version}-%{release}
318
319 %description eventclient-xbmc-send
320 XBMC is an award-winning free and open source software media player
321 and entertainment hub for digital media.
322
323 This package contains the xbmc-send eventclient.
324
325 %prep
326 %if %svnsnap
327 %setup -q -n %name-%branch_release-%basesnap
328 %else
329 %setup -q
330 %endif
331 %apply_patches
332 # otherwise backups end up in binary rpms
333 find -type f \( -name '*.00??' -o -name '*.00??~' \) -print -delete
334
335 # remove prebuilt libraries
336 find -type f \( -iname '*.so' -o -iname '*.dll' -o -iname '*.exe' \) -delete
337
338 # GPLv2 only
339 rm -r xbmc/lib/cmyth/Win32/include/mysql
340 # BSD 4-clause
341 rm -r xbmc/cores/DllLoader/exports/emu_socket
342
343 # rm disabled stuff to detect possible bugs
344 rm -rf xbmc/cores/dvdplayer/Codecs/{libdts,liba52} xbmc/cores/paplayer/AC3Codec/liba52
345
346 # win32 only
347 rm -rf system/players/dvdplayer/etc/fonts
348
349 %if !%system_python
350 cp %{SOURCE11} lib/addons/script.module.pil
351 cp %{SOURCE12} lib/addons/script.module.pysqlite
352
353 # we need to fix the lookup directories (otherwise setup.py queries
354 # incorrect information from the bundled python)
355 tar -xzf %{SOURCE11} -C lib/addons/script.module.pil
356 sed -ri 's|^([A-Z0-9]+_ROOT =) None|\1 "%{_libdir}", "%{_includedir}"|' lib/addons/script.module.pil/Imaging-*/setup.py
357 %endif
358
359 %build
360 %if %svnsnap
361 export SVN_REV=%svnsnap
362 %else
363 export SVN_REV=%basesnap
364 %endif
365 ./bootstrap
366
367 # due to xbmc modules that use symbols from xbmc binary
368 # and are not using libtool
369 %define _disable_ld_no_undefined 1
370
371 %configure2_5x \
372 --disable-debug \
373 --disable-ccache \
374 --enable-external-libraries \
375 %if !%system_python
376 --disable-external-python \
377 %endif
378 --disable-non-free \
379 --disable-dvdcss \
380 --disable-faac \
381 --enable-goom \
382 --with-lirc-device=/var/run/lirc/lircd
383
384 # non-free = unrar + xbms
385 # dvdcss is handled via dlopen when disabled
386 # faac is always handled via libavcodec
387
388 %make
389 %make -C tools/EventClients wiimote
390
391 %if !%system_python
392 for dir in lib/addons/script.module.*; do
393 %make -C $dir
394 done
395 %endif
396
397 %install
398 rm -rf %{buildroot}
399 %makeinstall_std
400 %makeinstall_std -C tools/EventClients
401
402 # unused
403 rm %{buildroot}%{_datadir}/xsessions/XBMC.desktop
404 # our version of the above:
405 install -d -m755 %{buildroot}%{_sysconfdir}/X11/wmsession.d
406 cat > %{buildroot}%{_sysconfdir}/X11/wmsession.d/15XBMC <<EOF
407 NAME=XBMC
408 ICON=xbmc.png
409 DESC=XBMC Media Center
410 EXEC=%{_bindir}/xbmc-standalone
411 SCRIPT:
412 exec %{_bindir}/xbmc-standalone
413 EOF
414
415 # unused files, TODO fix this upstream:
416 find %{buildroot}%{_datadir}/xbmc/addons/skin.*/media -name '*.png' -delete
417
418 ( # for IFS and +x
419 # Check for issues in ELF binaries
420 undefined=
421 fhserr=
422 echo Silencing output of checking symbols and FHS conformance
423 set +x
424 IFS=$'\n'
425 for file in $(find %{buildroot} -type f); do
426 type="$(file "$file")"
427 echo "$type" | grep -q "ELF" || continue
428
429 # Check that a binary file is not in datadir:
430 echo "$file" | grep -q "%{_datadir}" && fhserr="${fhserr}$file\n"
431
432 # check for undefined symbols in XBMC modules
433 echo "$type" | grep -q "shared object" || continue
434 for symbol in $(LD_LIBRARY_PATH=$LD_LIBRARY_PATH:%{buildroot}%{_libdir} ldd -r "$file" 2>&1 | grep undefined | awk '{ print $3 }'); do
435 # undefined symbols may also be provided by XBMC:
436 nm -f posix -D --no-demangle --defined-only %{buildroot}%{_libdir}/xbmc/xbmc.bin | grep -q "^$symbol " && continue
437 # The symbol was not provided by XBMC.
438 # Check if it is available through its dependencies:
439 for filename in $(objdump -p %{buildroot}%{_libdir}/xbmc/xbmc.bin | grep NEEDED | awk '{ print $2 }'); do
440 depfile="/%{_lib}/$filename"
441 [ -e "$depfile" ] || depfile="%{_libdir}/$filename"
442 nm -f posix -D --no-demangle --defined-only $depfile | grep -q "^$symbol " && continue 2
443 done
444 # Euphoria references rsxs PNG class, but it is never used at runtime,
445 # so it results in no errors due to RTLD_LAZY being used by xbmc module loader.
446 # _imaging*.so and _sqlite.so are python modules that exist when using bundled python
447 case $file:$symbol in */Euphoria.xbs:_ZN3PNG*|*/_imaging*.so:*|*/_sqlite.so:*) continue; esac
448 # the symbol was not found
449 undefined="${undefined}$file: $symbol\n"
450 done
451 done
452 ok=1
453 [ -n "$undefined" ] && echo -e "$undefined" && echo "Undefined symbols!" && ok=
454 [ -n "$fhserr" ] && echo -e "$fhserr" && echo "Binaries in datadir!" && ok=
455 [ -n "$ok" ]
456 )
457
458 %clean
459 rm -rf %{buildroot}
460
461 %files
462 %defattr(-,root,root)
463 %doc %{_docdir}/xbmc
464 %{_sysconfdir}/X11/wmsession.d/15XBMC
465 %{_bindir}/xbmc
466 %{_bindir}/xbmc-standalone
467 %dir %{_libdir}/xbmc
468 %dir %{_libdir}/xbmc/addons
469 %dir %{_libdir}/xbmc/system
470 %dir %{_libdir}/xbmc/system/players
471 %dir %{_libdir}/xbmc/system/players/dvdplayer
472 %dir %{_libdir}/xbmc/system/players/paplayer
473 %dir %{_libdir}/xbmc/system/python
474 %{_libdir}/xbmc/xbmc.bin
475 %{_libdir}/xbmc/xbmc-xrandr
476 %dir %{_libdir}/xbmc/addons/*
477 %{_libdir}/xbmc/addons/*/*.so
478 %{_libdir}/xbmc/addons/*/*.pvr
479 %{_libdir}/xbmc/addons/*/*.vis
480 %{_libdir}/xbmc/addons/*/*.xbs
481 %{_libdir}/xbmc/addons/script.module.*/*.xml
482 %{_libdir}/xbmc/system/ImageLib-*-linux.so
483 %{_libdir}/xbmc/system/hdhomerun-*-linux.so
484 %{_libdir}/xbmc/system/libcpluff-*-linux.so
485 %{_libdir}/xbmc/system/libexif-*-linux.so
486 %{_libdir}/xbmc/system/libid3tag-*-linux.so
487 %{_libdir}/xbmc/system/players/dvdplayer/libdvdnav-*-linux.so
488 %{_libdir}/xbmc/system/players/paplayer/adpcm-*-linux.so
489 %{_libdir}/xbmc/system/players/paplayer/libsidplay2-*-linux.so
490 %{_libdir}/xbmc/system/players/paplayer/nosefart-*-linux.so
491 %{_libdir}/xbmc/system/players/paplayer/stsoundlibrary-*-linux.so
492 %{_libdir}/xbmc/system/players/paplayer/timidity-*-linux.so
493 %{_libdir}/xbmc/system/players/paplayer/vgmstream-*-linux.so
494 %ifarch %ix86
495 %{_libdir}/xbmc/system/players/paplayer/SNESAPU-*-linux.so
496 %endif
497 %{_libdir}/xbmc/system/python/python*-*-linux.so
498 %if !%system_python
499 %{_libdir}/xbmc/addons/script.module.pil/*
500 %{_libdir}/xbmc/addons/script.module.pysqlite/*
501 %{_libdir}/xbmc/system/python/python*.zip
502 %endif
503 %dir %{_datadir}/xbmc
504 %{_datadir}/xbmc/addons
505 %{_datadir}/xbmc/FEH.py
506 %{_datadir}/xbmc/language
507 %{_datadir}/xbmc/media
508 %{_datadir}/xbmc/sounds
509 %{_datadir}/xbmc/system
510 %{_datadir}/xbmc/userdata
511 %{_datadir}/applications/xbmc.desktop
512 %{_iconsdir}/hicolor/*/apps/xbmc.png
513
514 %files eventclients-common
515 %defattr(-,root,root)
516 %python_sitelib/xbmc
517 %dir %{_datadir}/pixmaps/xbmc
518 %{_datadir}/pixmaps/xbmc/*.png
519
520 %files eventclients-devel
521 %defattr(-,root,root)
522 %dir %{_includedir}/xbmc
523 %{_includedir}/xbmc/xbmcclient.h
524
525 %files eventclient-j2me
526 %defattr(-,root,root)
527 %{_bindir}/xbmc-j2meremote
528
529 %files eventclient-ps3
530 %defattr(-,root,root)
531 %{_bindir}/xbmc-ps3d
532 %{_bindir}/xbmc-ps3remote
533
534 %files eventclient-xbmc-send
535 %defattr(-,root,root)
536 %{_bindir}/xbmc-send
537
538 %files eventclient-wiiremote
539 %defattr(-,root,root)
540 %{_bindir}/xbmc-wiiremote
541
542

  ViewVC Help
Powered by ViewVC 1.1.30