]>
Commit | Line | Data |
---|---|---|
1 | # TODO: | |
2 | # - what is that huge %post script? | |
3 | # | |
4 | # Conditional build: | |
5 | %bcond_without apidocs # documentation generated with doxygen | |
6 | %bcond_without java # Java bindings | |
7 | %bcond_without ocaml # OCaml bindings | |
8 | %bcond_without python # Python bindings | |
9 | %bcond_without tcl # Tcl bindings | |
10 | %bcond_without x # X11-based utilities | |
11 | %bcond_without gpm # mouse tracking via GPM | |
12 | %bcond_without libbraille # libbraille Braille driver | |
13 | %bcond_without espeak # eSpeak synthesizer driver | |
14 | %bcond_without flite # Flite synthesizer driver | |
15 | %bcond_with mikropuhe # Mikropuhe synthesizer driver [commercial, Finnish] | |
16 | %bcond_without speech_dispatcher # Speech Dispatcher synthesizer driver | |
17 | %bcond_with swift # Swift synthesizer driver [commercial, from Cepstral] | |
18 | %bcond_with theta # Theta synthesizer driver [commercial, from Cepstral] | |
19 | %bcond_with viavoice # IBM ViaVoice synthesizer driver [commercial] | |
20 | %bcond_without at_spi # AtSpi screen driver | |
21 | %bcond_without at_spi2 # AtSpi2 screen driver | |
22 | # | |
23 | %define brlapi_ver 0.5.7 | |
24 | # | |
25 | %include /usr/lib/rpm/macros.java | |
26 | Summary: Braille display driver for Linux/Unix | |
27 | Summary(pl.UTF-8): Sterownik do wyświetlaczy Braille'a | |
28 | Name: brltty | |
29 | Version: 4.4 | |
30 | Release: 3 | |
31 | Group: Daemons | |
32 | License: GPL v2+ (brltty and drivers), LGPL v2.1+ (APIs) | |
33 | Source0: http://mielke.cc/brltty/releases/%{name}-%{version}.tar.gz | |
34 | # Source0-md5: 8ebe96efe679f5f6ccff08928fec5b26 | |
35 | Patch0: %{name}-stat.patch | |
36 | URL: http://mielke.cc/brltty/ | |
37 | BuildRequires: alsa-lib-devel | |
38 | %{?with_at_spi:BuildRequires: at-spi-devel} | |
39 | BuildRequires: autoconf >= 2.62 | |
40 | BuildRequires: automake | |
41 | BuildRequires: bison | |
42 | # just headers | |
43 | BuildRequires: bluez-libs-devel | |
44 | %{?with_at_spi2:BuildRequires: dbus-devel >= 1.0} | |
45 | %{?with_apidocs:BuildRequires: doxygen} | |
46 | %{?with_espeak:BuildRequires: espeak-devel} | |
47 | %{?with_flite:BuildRequires: flite-devel} | |
48 | %{?with_gpm:BuildRequires: gpm-devel} | |
49 | %{?with_java:BuildRequires: jdk} | |
50 | %{?with_libbraille:BuildRequires: libbraille-devel} | |
51 | BuildRequires: libicu-devel | |
52 | BuildRequires: ncurses-devel | |
53 | %{?with_ocaml:BuildRequires: ocaml} | |
54 | BuildRequires: pkgconfig | |
55 | %{?with_python:BuildRequires: python-Pyrex} | |
56 | %{?with_java:BuildRequires: rpm-javaprov} | |
57 | %{?with_python:BuildRequires: rpm-pythonprov} | |
58 | %{?with_speech_dispatcher:BuildRequires: speech-dispatcher-devel} | |
59 | %{?with_tcl:BuildRequires: tcl-devel} | |
60 | %if %{with x} | |
61 | BuildRequires: xorg-lib-libX11-devel | |
62 | BuildRequires: xorg-lib-libXaw-devel | |
63 | BuildRequires: xorg-lib-libXext-devel | |
64 | BuildRequires: xorg-lib-libXt-devel | |
65 | BuildRequires: xorg-lib-libXtst-devel | |
66 | %endif | |
67 | #%{?with_mikropuhe:BuildRequires: Mikropuhe-devel (-lmikropuhe <mpwrfile.h>)} | |
68 | #%{?with_swift:BuildRequires: Swift-devel (-lswift <swift.h>)} | |
69 | #%{?with_theta:BuildRequires: Theta-devel (-ltheta <theta.h>)} | |
70 | #%{?with_viavoice:BuildRequires: ViaVoice-devel (-libmeci50 <eci.h>)} | |
71 | BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) | |
72 | ||
73 | %description | |
74 | BRLTTY is a background process (daemon) which provides access to the | |
75 | Linux/Unix console (when in text mode) for a blind person using a | |
76 | refreshable Braille display. It drives the Braille display, and | |
77 | provides complete screen review functionality. Some speech capability | |
78 | has also been incorporated. | |
79 | ||
80 | %description -l pl.UTF-8 | |
81 | BRLTTY jest demonem, który udostępnia dostęp do linuksowej konsoli (w | |
82 | trybie tekstowym) dla niewidomych używających wyświetlaczy Braille'a z | |
83 | odświeżaniem (refreshable Braille display). BRLTTY steruje | |
84 | wyświetlaczem Braille'a i dostarcza funkcjonalność całkowitego | |
85 | przeglądu ekranu. Do tego pakietu została włączona możliwość syntezy | |
86 | mowy. | |
87 | ||
88 | %package -n brlapi | |
89 | Summary: Application Programming Interface for BRLTTY | |
90 | Summary(pl.UTF-8): API do BRLTTY | |
91 | License: LGPL v2.1+ | |
92 | Group: Libraries | |
93 | ||
94 | %description -n brlapi | |
95 | This package provides the run-time support for the Application | |
96 | Programming Interface to BRLTTY. | |
97 | ||
98 | Install this package if you have an application which directly | |
99 | accesses a refreshable Braille display. | |
100 | ||
101 | %description -n brlapi -l pl.UTF-8 | |
102 | Ten pakiet zawiera środowisko uruchomieniowe dla programów | |
103 | korzystających z API BRLTTY. | |
104 | ||
105 | Zainstaluj ten pakiet jeśli masz aplikację, która bezpośrednio używa | |
106 | wyświetlacza Braille'a z odświeżaniem. | |
107 | ||
108 | %package -n brlapi-devel | |
109 | Summary: Headers and documentation for BrlAPI | |
110 | Summary(pl.UTF-8): Pliki nagłówkowe i dokumentacja do BrlAPI | |
111 | License: LGPL v2.1+ | |
112 | Group: Development/Libraries | |
113 | Requires: brlapi = %{version}-%{release} | |
114 | ||
115 | %description -n brlapi-devel | |
116 | This package provides the header files, shared object linker | |
117 | reference, and reference documentation for BrlAPI (the Application | |
118 | Programming Interface to BRLTTY). It enables the implementation of | |
119 | applications which take direct advantage of a refreshable Braille | |
120 | display in order to present information in ways which are more | |
121 | appropriate for blind users and/or to provide user interfaces which | |
122 | are more specifically atuned to their needs. | |
123 | ||
124 | Install this package if you're developing or maintaining an | |
125 | application which directly accesses a refreshable Braille display. | |
126 | ||
127 | %description -n brlapi-devel -l pl.UTF-8 | |
128 | Ten pakiet zawiera pliki nagłówkowe oraz dokumentację do BrlAPI (API | |
129 | do BRLTTY). BrlAPI pozwala implementować aplikacje, które bezpośrednio | |
130 | korzystają z wyświetlaczy Braille'a dostarczając interfejs użytkownika | |
131 | bardziej przystosowany dla osób niewidomych. | |
132 | ||
133 | Zainstaluj ten pakiet, jeśli tworzysz lub nadzorujesz aplikację | |
134 | korzystającą bezpośrednio z odświeżalnych wyświetlaczy Braille'a. | |
135 | ||
136 | %package -n brlapi-static | |
137 | Summary: Static BrlAPI library | |
138 | Summary(pl.UTF-8): Statyczna biblioteka BrlAPI | |
139 | License: LGPL v2.1+ | |
140 | Group: Development/Libraries | |
141 | Requires: brlapi-devel = %{version}-%{release} | |
142 | ||
143 | %description -n brlapi-static | |
144 | This is package with static BrlAPI library. | |
145 | ||
146 | %description -n brlapi-static -l pl.UTF-8 | |
147 | Ten pakiet zawiera statyczną wersję biblioteki BrlAPI. | |
148 | ||
149 | %package -n brlapi-apidocs | |
150 | Summary: BrlAPI documentation | |
151 | Summary(pl.UTF-8): Documentacja BrlAPI | |
152 | Group: Documentation | |
153 | ||
154 | %description -n brlapi-apidocs | |
155 | Documentation for BrlAPI in HTML format generated from brltty | |
156 | sources by doxygen. | |
157 | ||
158 | %description -n brlapi-apidocs -l pl.UTF-8 | |
159 | Dokumentacja BrlAPI w formacie HTML generowane ze | |
160 | źrodeł brltty przez doxygen. | |
161 | ||
162 | %package -n java-brlapi | |
163 | Summary: BrlAPI library for Java | |
164 | Summary(pl.UTF-8): Biblioteka BrlAPI dla Javy | |
165 | License: LGPL v2.1+ | |
166 | Group: Libraries | |
167 | Requires: brlapi = %{version}-%{release} | |
168 | ||
169 | %description -n java-brlapi | |
170 | BrlAPI library for Java. | |
171 | ||
172 | %description -n java-brlapi -l pl.UTF-8 | |
173 | Biblioteka BrlAPI dla Javy. | |
174 | ||
175 | %package -n ocaml-brlapi | |
176 | Summary: OCaml binding for BrlAPI | |
177 | Summary(pl.UTF-8): Wiązania OCamla do BrlAPI | |
178 | License: LGPL v2.1+ | |
179 | Group: Libraries | |
180 | Requires: brlapi = %{version}-%{release} | |
181 | %requires_eq ocaml-runtime | |
182 | ||
183 | %description -n ocaml-brlapi | |
184 | OCaml binding for BrlAPI. | |
185 | ||
186 | %description -n ocaml-brlapi -l pl.UTF-8 | |
187 | Wiązania OCamla do BrlAPI. | |
188 | ||
189 | %package -n ocaml-brlapi-devel | |
190 | Summary: OCaml binding for BrlAPI - development files | |
191 | Summary(pl.UTF-8): Wiązania OCamla do BrlAPI - pliki programistyczne | |
192 | License: LGPL v2.1+ | |
193 | Group: Libraries | |
194 | Requires: ocaml-brlapi = %{version}-%{release} | |
195 | %requires_eq ocaml | |
196 | ||
197 | %description -n ocaml-brlapi-devel | |
198 | OCaml binding for BrlAPI - development files. | |
199 | ||
200 | %description -n ocaml-brlapi-devel -l pl.UTF-8 | |
201 | Wiązania OCamla do BrlAPI - pliki programistyczne. | |
202 | ||
203 | %package -n python-brlapi | |
204 | Summary: Python interface to BrlAPI | |
205 | Summary(pl.UTF-8): Pythonowy interfejs do BrlAPI | |
206 | License: LGPL v2.1+ | |
207 | Group: Libraries | |
208 | Requires: brlapi = %{version}-%{release} | |
209 | ||
210 | %description -n python-brlapi | |
211 | Python interface to BrlAPI. | |
212 | ||
213 | %description -n python-brlapi -l pl.UTF-8 | |
214 | Pythonowy interfejs do BrlAPI. | |
215 | ||
216 | %package -n brlapi-tcl | |
217 | Summary: BrlAPI library for Tcl | |
218 | Summary(pl.UTF-8): Biblioteka BrlAPI dla Tcl | |
219 | License: LGPL v2.1+ | |
220 | Group: Libraries | |
221 | Requires: brlapi = %{version}-%{release} | |
222 | ||
223 | %description -n brlapi-tcl | |
224 | BrlAPI library for Tcl. | |
225 | ||
226 | %description -n brlapi-tcl -l pl.UTF-8 | |
227 | Biblioteka BrlAPI dla Tcl. | |
228 | ||
229 | %prep | |
230 | %setup -q | |
231 | %patch0 -p1 | |
232 | ||
233 | %build | |
234 | CFLAGS="%{rpmcflags} -I/usr/include/ncurses" | |
235 | %configure \ | |
236 | --with-install-root="$RPM_BUILD_ROOT" \ | |
237 | %{!?with_libbraille:--without-libbraille} \ | |
238 | %{!?with_espeak:--without-espeak} \ | |
239 | %{!?with_flite:--without-flite} \ | |
240 | %{!?with_speech_dispatcher:--without-speechd} \ | |
241 | %{!?with_ocaml:--disable-caml-bindings} \ | |
242 | %{!?with_gpm:--disable-gpm} \ | |
243 | %{!?with_java:--disable-java-bindings} \ | |
244 | %{!?with_python:--disable-python-bindings} \ | |
245 | %{!?with_tcl:--disable-tcl-bindings} \ | |
246 | %{!?with_x:--disable-x} \ | |
247 | --enable-api | |
248 | ||
249 | %{__make} -j1 | |
250 | ||
251 | directory="doc" | |
252 | mkdir -p "$directory" | |
253 | for file in `find . \( -path "./$directory" -o -path ./Documents \) -prune -o \( -name 'README*' -o -name '*.txt' -o -name '*.html' -o -name '*.sgml' -o \( -path "./Bootdisks/*" -type f -perm +ugo=x \) \) -print` | |
254 | do | |
255 | mkdir -p "$directory/${file%/*}" | |
256 | cp -rp "$file" "$directory/$file" | |
257 | done | |
258 | ||
259 | %install | |
260 | rm -rf $RPM_BUILD_ROOT | |
261 | ||
262 | %{__make} -j1 install \ | |
263 | OCAML_INSTALL_TARGET=install-without-findlib | |
264 | ||
265 | %if %{_lib} != "lib" | |
266 | # Fix java plugin install path on 64-bit archs | |
267 | install -d $RPM_BUILD_ROOT%{_libdir}/java | |
268 | %{__mv} $RPM_BUILD_ROOT%{_prefix}/{lib,%{_lib}}/java/libbrlapi_java.so | |
269 | %endif | |
270 | ||
271 | install Documents/brltty.conf $RPM_BUILD_ROOT%{_sysconfdir} | |
272 | ||
273 | install -d $RPM_BUILD_ROOT/usr/lib/tmpfiles.d | |
274 | cat >$RPM_BUILD_ROOT/usr/lib/tmpfiles.d/brltty.conf <<EOF | |
275 | d /var/run/brltty 0755 root root - | |
276 | EOF | |
277 | ||
278 | %clean | |
279 | rm -rf $RPM_BUILD_ROOT | |
280 | ||
281 | %pre | |
282 | # The pre-install scriptlet. | |
283 | ||
284 | # If a configuration file already exists then rpm installs the new one as | |
285 | # <path>.rpmnew. If this is done then the .rpmnew file is overwritten if it | |
286 | # already exists. | |
287 | ||
288 | # There's no explicit way to tell if a configuration file has been installed | |
289 | # as itself or as a .rpmnew file. The way we'll figure it out, therefore, is by | |
290 | # erasing the .rpmnew file now so that we can see if it gets created later. | |
291 | rm -f "%{_sysconfdir}/brltty.conf.rpmnew" | |
292 | ||
293 | %post | |
294 | # The post-install scriptlet. | |
295 | ||
296 | # If BRLTTY's boot parameter has been specified then update the just installed | |
297 | # configuration file template to reflect the options supplied thereby. | |
298 | ||
299 | # First, we need to determine which file to update. If there's a .rpmnew file | |
300 | # then update it since a previous configuration file must already have existed. | |
301 | file="%{_sysconfdir}/brltty.conf" | |
302 | new="${file}.rpmnew" | |
303 | [ -f "${new}" ] && file="${new}" | |
304 | ||
305 | # Update the configuration file template via the Bootdisks/bp2cf script. | |
306 | # Include it right within this scriptlet so that it needn't be installed. | |
307 | # Imbed it within a subshell to ensure that it won't impact this scriptlet. | |
308 | ( | |
309 | # First, set bp2cf's command line arguments. | |
310 | set -- -u -f "${file}" | |
311 | ||
312 | #!/bin/sh | |
313 | ############################################################################### | |
314 | # BRLTTY - A background process providing access to the Linux console (when in | |
315 | # text mode) for a blind person using a refreshable Braille display. | |
316 | # | |
317 | # Copyright (C) 1995-2003 by The BRLTTY Team. All rights reserved. | |
318 | # | |
319 | # BRLTTY comes with ABSOLUTELY NO WARRANTY. | |
320 | # | |
321 | # This is free software, placed under the terms of the | |
322 | # GNU General Public License, as published by the Free Software | |
323 | # Foundation. Please see the file COPYING for details. | |
324 | # | |
325 | # Web Page: http://mielke.cc/brltty/ | |
326 | # | |
327 | # This software is maintained by Dave Mielke <dave@mielke.cc>. | |
328 | ############################################################################### | |
329 | ||
330 | # Convert the boot parameter to configuration file directives. | |
331 | # If /proc is mounted then use the brltty= boot parameter in /proc/cmdline. | |
332 | # If /proc is not mounted then use the brltty environment variable. | |
333 | # Invoke with -h for usage information. | |
334 | ||
335 | programName="${0##*/}" | |
336 | programMessage() | |
337 | { | |
338 | echo 2>&1 "${programName}: ${1}" | |
339 | } | |
340 | syntaxError() | |
341 | { | |
342 | programMessage "${1}" | |
343 | exit 2 | |
344 | } | |
345 | internalError() | |
346 | { | |
347 | programMessage "${1}" | |
348 | exit 3 | |
349 | } | |
350 | ||
351 | configurationFile="" | |
352 | requestedAction=create | |
353 | deviceTranslation=none | |
354 | requestedParameter="" | |
355 | OPTIND=1 | |
356 | while getopts ":f:cundop:h" option | |
357 | do | |
358 | case "${option}" in | |
359 | f) configurationFile="${OPTARG}";; | |
360 | c) requestedAction=create;; | |
361 | u) requestedAction=update;; | |
362 | n) deviceTranslation=none;; | |
363 | d) deviceTranslation=devfs;; | |
364 | o) deviceTranslation=old;; | |
365 | p) requestedParameter="${OPTARG}";; | |
366 | h) | |
367 | cat <<EOF | |
368 | Usage: ${programName} [option ...] | |
369 | -f file The configuration file to create/update. | |
370 | -c Create the configuration file (write to stdout if no -f). | |
371 | -u Update the configuration file (copying from stdin to stdout if no -f). | |
372 | -n Do not translate device paths. | |
373 | -d Do old-style to devfs device path translation. | |
374 | -o Do devfs to old-style device path translation. | |
375 | -p [driver][,[device][,[table]]] | |
376 | Explicitly specify the boot parameter. | |
377 | -h Display this usage summary. | |
378 | EOF | |
379 | exit 0 | |
380 | ;; | |
381 | \?) syntaxError "unknown option: -${OPTARG}";; | |
382 | :) syntaxError "missing value: -${OPTARG}";; | |
383 | *) internalError "unimplemented option: -${option}";; | |
384 | esac | |
385 | done | |
386 | shift "`expr $OPTIND - 1`" | |
387 | [ "${#}" -eq 0 ] || syntaxError "too many parameters." | |
388 | ||
389 | case "${requestedAction}" in | |
390 | create) | |
391 | putConfigurationLine() | |
392 | { | |
393 | echo "${1}" || exit 4 | |
394 | } | |
395 | startConfigurationFile() | |
396 | { | |
397 | [ -n "${configurationFile}" ] && exec >"${configurationFile}" | |
398 | putConfigurationLine "`makeHeaderLine Created`" | |
399 | putConfigurationLine "`makeParameterLine`" | |
400 | putConfigurationLine "" | |
401 | } | |
402 | putConfigurationDirective() | |
403 | { | |
404 | putConfigurationLine "${1} ${2}" | |
405 | } | |
406 | finalizeConfigurationFile() | |
407 | { | |
408 | : | |
409 | } | |
410 | ;; | |
411 | update) | |
412 | putSedCommand() | |
413 | { | |
414 | sedScript="${sedScript} | |
415 | ${1}" | |
416 | } | |
417 | startConfigurationFile() | |
418 | { | |
419 | if [ -n "${configurationFile}" ]; then | |
420 | [ -e "${configurationFile}" ] || syntaxError "file not found: ${configurationFile}" | |
421 | [ -f "${configurationFile}" ] || syntaxError "not a file: ${configurationFile}" | |
422 | [ -r "${configurationFile}" ] || syntaxError "file not readable: ${configurationFile}" | |
423 | [ -w "${configurationFile}" ] || syntaxError "file not writable: ${configurationFile}" | |
424 | outputFile="${configurationFile}.new" | |
425 | exec <"${configurationFile}" >"${outputFile}" | |
426 | fi | |
427 | sedScript="" | |
428 | putSedCommand "1i\\ | |
429 | `makeHeaderLine Updated`\\ | |
430 | `makeParameterLine`\\ | |
431 | " | |
432 | } | |
433 | putConfigurationDirective() | |
434 | { | |
435 | value="`echo "${2}" | sed -e 's%\\([/\\]\\)%\\\\\\1%g'`" | |
436 | putSedCommand "/^ *#\\(${1} .*\\)/s//\\1/" | |
437 | putSedCommand "/^ *\\(${1}\\) .*/s//\\1 ${value}/" | |
438 | } | |
439 | finalizeConfigurationFile() | |
440 | { | |
441 | sed -e "${sedScript}" | |
442 | [ -n "${outputFile}" ] && mv -f "${outputFile}" "${configurationFile}" | |
443 | } | |
444 | ;; | |
445 | *) internalError "unimplemented action: ${requestedAction}";; | |
446 | esac | |
447 | ||
448 | translateDevice_none() | |
449 | { | |
450 | : | |
451 | } | |
452 | translateDevice_devfs() | |
453 | { | |
454 | minor="${device#ttyS}" | |
455 | if [ "${minor}" != "${device}" ]; then | |
456 | device="tts/${minor}" | |
457 | return 0 | |
458 | fi | |
459 | minor="${device#lp}" | |
460 | if [ "${minor}" != "${device}" ]; then | |
461 | device="printers/${minor}" | |
462 | return 0 | |
463 | fi | |
464 | programMessage "unsupported old-style device: ${device}" | |
465 | } | |
466 | translateDevice_old() | |
467 | { | |
468 | major="${device%%/*}" | |
469 | if [ "${major}" != "${device}" ]; then | |
470 | minor="${device#*/}" | |
471 | case "${major}" in | |
472 | tts) devfs="ttyS${minor}";; | |
473 | printers) devfs="lp${minor}";; | |
474 | esac | |
475 | fi | |
476 | if [ -n "${devfs}" ]; then | |
477 | device="${devfs}" | |
478 | else | |
479 | programMessage "unsupported devfs device: ${device}" | |
480 | fi | |
481 | } | |
482 | ||
483 | makeHeaderLine() | |
484 | { | |
485 | echo "# ${1} by brltty-bp2cf`date +' on %Y-%m-%d at %H:%M:%S %Z (UTC%z)'`." | |
486 | } | |
487 | makeParameterLine() | |
488 | { | |
489 | echo "# Boot Parameter:${bootParameter}" | |
490 | } | |
491 | putConfigurationFile() | |
492 | { | |
493 | startConfigurationFile | |
494 | [ -n "${brailleDriver}" ] && putConfigurationDirective "braille-driver" "${brailleDriver}" | |
495 | [ -n "${brailleDevice}" ] && { | |
496 | device="`echo "${brailleDevice}" | sed -e 's%//*%/%g' -e 's%^/dev/%%'`" | |
497 | if [ "${device#/}" = "${device}" ]; then | |
498 | translateDevice_${deviceTranslation} | |
499 | fi | |
500 | putConfigurationDirective "braille-device" "${device}" | |
501 | } | |
502 | [ -n "${textTable}" ] && putConfigurationDirective "text-table" "${textTable}" | |
503 | finalizeConfigurationFile | |
504 | } | |
505 | parseBootParameter() | |
506 | { | |
507 | bootParameter="${bootParameter} ${1}" | |
508 | number=1 | |
509 | while [ "${number}" -le 3 ]; do | |
510 | cut="cut -d, -f${number}" | |
511 | [ "${number}" -gt 1 ] && cut="${cut} -s" | |
512 | operand="`echo ${1} | ${cut}`" | |
513 | if [ -n "${operand}" ]; then | |
514 | case "${number}" in | |
515 | 1) brailleDriver="${operand}";; | |
516 | 2) brailleDevice="${operand}";; | |
517 | 3) textTable="${operand}";; | |
518 | esac | |
519 | fi | |
520 | number="`expr ${number} + 1`" | |
521 | done | |
522 | } | |
523 | putBootParameter() | |
524 | { | |
525 | parseBootParameter "${1}" | |
526 | putConfigurationFile | |
527 | } | |
528 | parseBootCommand() | |
529 | { | |
530 | found=false | |
531 | while [ "${#}" -gt 0 ]; do | |
532 | case "${1}" in | |
533 | "brltty="*) | |
534 | found=true | |
535 | parseBootParameter "${1#*=}" | |
536 | ;; | |
537 | esac | |
538 | shift | |
539 | done | |
540 | "${found}" && putConfigurationFile | |
541 | } | |
542 | ||
543 | brailleDriver="" | |
544 | brailleDevice="" | |
545 | textTable="" | |
546 | bootCommandFile="/proc/cmdline" | |
547 | if [ -n "${requestedParameter}" ]; then | |
548 | putBootParameter "${requestedParameter}" | |
549 | elif [ -f "${bootCommandFile}" ]; then | |
550 | parseBootCommand `cat "${bootCommandFile}"` | |
551 | elif [ -n "${brltty}" ]; then | |
552 | putBootParameter "${brltty}" | |
553 | fi | |
554 | exit 0 | |
555 | ) | |
556 | ||
557 | %post -n brlapi -p /sbin/ldconfig | |
558 | %postun -n brlapi -p /sbin/ldconfig | |
559 | ||
560 | %files | |
561 | %defattr(644,root,root,755) | |
562 | %doc Documents/{Manual-BRLTTY/English/BRLTTY*,ChangeLog,HISTORY,TODO} | |
563 | %doc doc/{Bindings,Bootdisks,Drivers,Patches,Tables,README,nsistrings.txt} | |
564 | %attr(755,root,root) %{_bindir}/brltty | |
565 | %attr(755,root,root) %{_bindir}/brltty-config | |
566 | %attr(755,root,root) %{_bindir}/brltty-ctb | |
567 | %attr(755,root,root) %{_bindir}/brltty-install | |
568 | %attr(755,root,root) %{_bindir}/brltty-trtxt | |
569 | %attr(755,root,root) %{_bindir}/brltty-ttb | |
570 | %attr(755,root,root) %{_bindir}/vstp | |
571 | %{?with_x:%attr(755,root,root) %{_bindir}/xbrlapi} | |
572 | %dir %{_libdir}/brltty | |
573 | # Braille drivers | |
574 | %attr(755,root,root) %{_libdir}/brltty/libbrlttybal.so | |
575 | %attr(755,root,root) %{_libdir}/brltty/libbrlttybat.so | |
576 | %attr(755,root,root) %{_libdir}/brltty/libbrlttybba.so | |
577 | %attr(755,root,root) %{_libdir}/brltty/libbrlttybbc.so | |
578 | %attr(755,root,root) %{_libdir}/brltty/libbrlttybbd.so | |
579 | %attr(755,root,root) %{_libdir}/brltty/libbrlttybbl.so | |
580 | %attr(755,root,root) %{_libdir}/brltty/libbrlttybbm.so | |
581 | %attr(755,root,root) %{_libdir}/brltty/libbrlttybbn.so | |
582 | %attr(755,root,root) %{_libdir}/brltty/libbrlttybcb.so | |
583 | %attr(755,root,root) %{_libdir}/brltty/libbrlttybec.so | |
584 | %attr(755,root,root) %{_libdir}/brltty/libbrlttybeu.so | |
585 | %attr(755,root,root) %{_libdir}/brltty/libbrlttybfs.so | |
586 | %attr(755,root,root) %{_libdir}/brltty/libbrlttybhm.so | |
587 | %attr(755,root,root) %{_libdir}/brltty/libbrlttybht.so | |
588 | %attr(755,root,root) %{_libdir}/brltty/libbrlttybhw.so | |
589 | %attr(755,root,root) %{_libdir}/brltty/libbrlttybil.so | |
590 | %attr(755,root,root) %{_libdir}/brltty/libbrlttybir.so | |
591 | %{?with_libbraille:%attr(755,root,root) %{_libdir}/brltty/libbrlttyblb.so} | |
592 | %attr(755,root,root) %{_libdir}/brltty/libbrlttyblt.so | |
593 | %attr(755,root,root) %{_libdir}/brltty/libbrlttybmb.so | |
594 | %attr(755,root,root) %{_libdir}/brltty/libbrlttybmd.so | |
595 | %attr(755,root,root) %{_libdir}/brltty/libbrlttybmn.so | |
596 | %attr(755,root,root) %{_libdir}/brltty/libbrlttybmt.so | |
597 | %attr(755,root,root) %{_libdir}/brltty/libbrlttybnp.so | |
598 | %attr(755,root,root) %{_libdir}/brltty/libbrlttybpg.so | |
599 | %attr(755,root,root) %{_libdir}/brltty/libbrlttybpm.so | |
600 | %attr(755,root,root) %{_libdir}/brltty/libbrlttybsk.so | |
601 | %attr(755,root,root) %{_libdir}/brltty/libbrlttybtn.so | |
602 | %attr(755,root,root) %{_libdir}/brltty/libbrlttybts.so | |
603 | %attr(755,root,root) %{_libdir}/brltty/libbrlttybtt.so | |
604 | %attr(755,root,root) %{_libdir}/brltty/libbrlttybvd.so | |
605 | %attr(755,root,root) %{_libdir}/brltty/libbrlttybvo.so | |
606 | %attr(755,root,root) %{_libdir}/brltty/libbrlttybvr.so | |
607 | %attr(755,root,root) %{_libdir}/brltty/libbrlttybvs.so | |
608 | %{?with_x:%attr(755,root,root) %{_libdir}/brltty/libbrlttybxw.so} | |
609 | # speech synthesizer drivers | |
610 | %attr(755,root,root) %{_libdir}/brltty/libbrlttysal.so | |
611 | %attr(755,root,root) %{_libdir}/brltty/libbrlttysbl.so | |
612 | %attr(755,root,root) %{_libdir}/brltty/libbrlttyscb.so | |
613 | %{?with_espeak:%attr(755,root,root) %{_libdir}/brltty/libbrlttyses.so} | |
614 | %{?with_flite:%attr(755,root,root) %{_libdir}/brltty/libbrlttysfl.so} | |
615 | %attr(755,root,root) %{_libdir}/brltty/libbrlttysfv.so | |
616 | %attr(755,root,root) %{_libdir}/brltty/libbrlttysgs.so | |
617 | %{?with_mikropuhe:%attr(755,root,root) %{_libdir}/brltty/libbrlttysmp.so} | |
618 | %{?with_speech_dispatcher:%attr(755,root,root) %{_libdir}/brltty/libbrlttyssd.so} | |
619 | %{?with_swift:%attr(755,root,root) %{_libdir}/brltty/libbrlttyssw.so} | |
620 | %{?with_theta:%attr(755,root,root) %{_libdir}/brltty/libbrlttysth.so} | |
621 | %{?with_viavoice:%attr(755,root,root) %{_libdir}/brltty/libbrlttysvv.so} | |
622 | %attr(755,root,root) %{_libdir}/brltty/libbrlttysxs.so | |
623 | # screen drivers | |
624 | %{?with_at_spi2:%attr(755,root,root) %{_libdir}/brltty/libbrlttyxa2.so} | |
625 | %{?with_at_spi:%attr(755,root,root) %{_libdir}/brltty/libbrlttyxas.so} | |
626 | %attr(755,root,root) %{_libdir}/brltty/libbrlttyxlx.so | |
627 | %attr(755,root,root) %{_libdir}/brltty/libbrlttyxsc.so | |
628 | %{_sysconfdir}/brltty | |
629 | %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/brltty.conf | |
630 | /usr/lib/tmpfiles.d/brltty.conf | |
631 | %dir /var/lib/BrlAPI | |
632 | %dir /var/run/brltty | |
633 | %{_mandir}/man1/brltty.1* | |
634 | %{_mandir}/man1/vstp.1* | |
635 | %{?with_x:%{_mandir}/man1/xbrlapi.1*} | |
636 | ||
637 | %files -n brlapi | |
638 | %defattr(644,root,root,755) | |
639 | %attr(755,root,root) %{_libdir}/libbrlapi.so.*.*.* | |
640 | %attr(755,root,root) %ghost %{_libdir}/libbrlapi.so.0.5 | |
641 | ||
642 | %files -n brlapi-devel | |
643 | %defattr(644,root,root,755) | |
644 | %doc Documents/Manual-BrlAPI/English/BrlAPI* | |
645 | %attr(755,root,root) %{_libdir}/libbrlapi.so | |
646 | %{_includedir}/brltty | |
647 | %{_includedir}/brlapi*.h | |
648 | %{_mandir}/man3/brlapi_*.3* | |
649 | ||
650 | %files -n brlapi-static | |
651 | %defattr(644,root,root,755) | |
652 | %{_libdir}/libbrlapi.a | |
653 | ||
654 | %if %{with apidocs} | |
655 | %files -n brlapi-apidocs | |
656 | %defattr(644,root,root,755) | |
657 | %doc Documents/BrlAPIref/html/* | |
658 | %endif | |
659 | ||
660 | %if %{with java} | |
661 | %files -n java-brlapi | |
662 | %defattr(644,root,root,755) | |
663 | %attr(755,root,root) %{_libdir}/java/libbrlapi_java.so | |
664 | %{_javadir}/brlapi.jar | |
665 | %endif | |
666 | ||
667 | %if %{with ocaml} | |
668 | %files -n ocaml-brlapi | |
669 | %defattr(644,root,root,755) | |
670 | %attr(755,root,root) %{_libdir}/ocaml/stublibs/dllbrlapi_stubs.so | |
671 | %{_libdir}/ocaml/stublibs/dllbrlapi_stubs.so.owner | |
672 | ||
673 | %files -n ocaml-brlapi-devel | |
674 | %defattr(644,root,root,755) | |
675 | %dir %{_libdir}/ocaml/brlapi | |
676 | %{_libdir}/ocaml/brlapi/META | |
677 | %{_libdir}/ocaml/brlapi/brlapi.cm[aix]* | |
678 | %{_libdir}/ocaml/brlapi/brlapi.mli | |
679 | %{_libdir}/ocaml/brlapi/libbrlapi_stubs.a | |
680 | %endif | |
681 | ||
682 | %if %{with python} | |
683 | %files -n python-brlapi | |
684 | %defattr(644,root,root,755) | |
685 | %attr(755,root,root) %{py_sitedir}/brlapi.so | |
686 | %{py_sitedir}/Brlapi-%{brlapi_ver}-py*.egg-info | |
687 | %endif | |
688 | ||
689 | %if %{with tcl} | |
690 | %files -n brlapi-tcl | |
691 | %defattr(644,root,root,755) | |
692 | %dir %{_libdir}/brlapi-%{brlapi_ver} | |
693 | %attr(755,root,root) %{_libdir}/brlapi-%{brlapi_ver}/libbrlapi_tcl.so | |
694 | %{_libdir}/brlapi-%{brlapi_ver}/pkgIndex.tcl | |
695 | %endif |