diff --git a/.fmf/version b/.fmf/version new file mode 100644 index 0000000..d00491f --- /dev/null +++ b/.fmf/version @@ -0,0 +1 @@ +1 diff --git a/.gitignore b/.gitignore index 16e950c..796fed6 100644 --- a/.gitignore +++ b/.gitignore @@ -1,10 +1 @@ -brltty-4.2.tar.gz -/brltty-4.3.tar.gz -/brltty-4.5.tar.gz -/brltty-5.0.tar.xz -/brltty-5.1.tar.xz -/brltty-5.2.tar.xz -/brltty-5.3.tar.xz -/brltty-5.3.1.tar.xz -/brltty-5.4.tar.xz -/brltty-5.5.tar.xz +/brltty-*.tar.xz diff --git a/brlapi-config.h b/brlapi-config.h new file mode 100644 index 0000000..c369b45 --- /dev/null +++ b/brlapi-config.h @@ -0,0 +1,9 @@ +#include + +#if __WORDSIZE == 32 +#include "config-32.h" +#elif __WORDSIZE == 64 +#include "config-64.h" +#else +#error "Unknown word size" +#endif diff --git a/brlapi-forbuild.h b/brlapi-forbuild.h new file mode 100644 index 0000000..4f5093e --- /dev/null +++ b/brlapi-forbuild.h @@ -0,0 +1,9 @@ +#include + +#if __WORDSIZE == 32 +#include "forbuild-32.h" +#elif __WORDSIZE == 64 +#include "forbuild-64.h" +#else +#error "Unknown word size" +#endif diff --git a/brltty-5.0-libspeechd.patch b/brltty-5.0-libspeechd.patch deleted file mode 100644 index 06909e0..0000000 --- a/brltty-5.0-libspeechd.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/Drivers/Speech/SpeechDispatcher/speech.c b/Drivers/Speech/SpeechDispatcher/speech.c -index d73250a..df92708 100644 ---- a/Drivers/Speech/SpeechDispatcher/speech.c -+++ b/Drivers/Speech/SpeechDispatcher/speech.c -@@ -34,7 +34,7 @@ typedef enum { - - #include "spk_driver.h" - --#include -+#include - - static SPDConnection *connectionHandle = NULL; - static const char *moduleName; diff --git a/brltty-loadLibrary.patch b/brltty-6.3-loadLibrary.patch similarity index 52% rename from brltty-loadLibrary.patch rename to brltty-6.3-loadLibrary.patch index 11ac936..8b64481 100644 --- a/brltty-loadLibrary.patch +++ b/brltty-6.3-loadLibrary.patch @@ -1,10 +1,10 @@ -diff --git a/Bindings/Java/Native.java b/Bindings/Java/Native.java -index 8a3b003..c404bf2 100644 ---- a/Bindings/Java/Native.java -+++ b/Bindings/Java/Native.java -@@ -21,7 +21,15 @@ package org.a11y.BrlAPI; +diff --git a/Bindings/Java/NativeComponent.java b/Bindings/Java/NativeComponent.java +index 2e6304a..cf6c9b0 100644 +--- a/Bindings/Java/NativeComponent.java ++++ b/Bindings/Java/NativeComponent.java +@@ -23,7 +23,15 @@ public class NativeComponent extends Component { + private native static void initializeNativeData (); - public class Native { static { - System.loadLibrary("brlapi_java"); + try { @@ -15,7 +15,7 @@ index 8a3b003..c404bf2 100644 + } catch( UnsatisfiedLinkError f ) { + throw new UnsatisfiedLinkError("brlapi_java library load failed"); + } -+ } ++ } + initializeNativeData(); } - protected long handle; diff --git a/brltty-6.8-libspeechd.patch b/brltty-6.8-libspeechd.patch new file mode 100644 index 0000000..2f4a1d8 --- /dev/null +++ b/brltty-6.8-libspeechd.patch @@ -0,0 +1,11 @@ +--- a/Drivers/Speech/SpeechDispatcher/speech.c~ 2025-05-25 03:58:25.000000000 -0500 ++++ b/Drivers/Speech/SpeechDispatcher/speech.c 2025-07-07 08:58:19.519919859 -0500 +@@ -36,7 +36,7 @@ + + #include "spk_driver.h" + +-#include ++#include + + static SPDConnection *connectionHandle = NULL; + static unsigned int autospawn; diff --git a/brltty.service b/brltty.service index 3776b71..259b9ca 100644 --- a/brltty.service +++ b/brltty.service @@ -1,9 +1,10 @@ [Unit] Description=Braille display driver for Linux/Unix +Before=getty.target display-manager.service [Service] Type=forking ExecStart=/usr/bin/brltty [Install] -WantedBy=multi-user.target \ No newline at end of file +WantedBy=default.target emergency.target rescue.target diff --git a/brltty.spec b/brltty.spec index 1c89daf..bbe3610 100644 --- a/brltty.spec +++ b/brltty.spec @@ -1,19 +1,34 @@ -%define pkg_version 5.5 -%define api_version 0.6.6 +%define pkg_version 6.8 +%define api_version 0.8.7 -%global with_python3 1 +# minimal means brltty-minimal subpackage with minimal deps for +# braille support in Anaconda installer +# https://bugzilla.redhat.com/show_bug.cgi?id=1584679 +%bcond minimal 1 -%if 0%{?rhel} -%global with_python3 0 -%endif +# enable python3 by default +%bcond python3 1 + +# disable python2 by default +%bcond python2 0 %{!?tcl_version: %global tcl_version %(echo 'puts $tcl_version' | tclsh)} %{!?tcl_sitearch: %global tcl_sitearch %{_prefix}/%{_lib}/tcl%{tcl_version}} # with speech dispatcher iff on Fedora: -%define with_speech_dispatcher 0%{?fedora} +%bcond speech_dispatcher %{defined fedora} -%global with_ocaml 1 +# with espeak support iff on Fedora: +%bcond espeak %{defined fedora} + +# OCaml packages not built on i686 since OCaml 5 / Fedora 39. +%ifnarch %{ix86} +%bcond ocaml %{defined fedora} +%endif + +%ifarch %{java_arches} +%bcond java %{defined fedora} +%endif # Filter private libraries %global _privatelibs libbrltty.+\.so.* @@ -21,21 +36,50 @@ %global __requires_exclude ^(%{_privatelibs})$ Name: brltty -Version: %{pkg_version} -Release: 5%{?dist} -License: GPLv2+ -Group: System Environment/Daemons -URL: http://mielke.cc/brltty/ -Source0: http://mielke.cc/brltty/archive/%{name}-%{version}.tar.xz +Version: 6.8 +Release: 6%{?dist} +License: LGPL-2.0-or-later AND LGPL-2.1-or-later AND GPL-2.0-or-later +URL: http://brltty.app/ +Source0: http://brltty.app/archive/%{name}-%{version}.tar.xz Source1: brltty.service -Patch1: brltty-loadLibrary.patch +Source2: brlapi-config.h +Source3: brlapi-forbuild.h +Source4: brltty.sysusers +Patch1: brltty-6.3-loadLibrary.patch # libspeechd.h moved in latest speech-dispatch (NOT sent upstream) -Patch2: brltty-5.0-libspeechd.patch +Patch2: brltty-6.8-libspeechd.patch Summary: Braille display driver for Linux/Unix -BuildRequires: byacc, glibc-kernheaders, bluez-libs-devel, systemd -BuildRequires: gettext, at-spi2-core-devel, espeak-devel -BuildRequires: python2-tools -Requires: brlapi%{?_isa} = %{api_version}-%{release} +BuildRequires: byacc +BuildRequires: glibc-kernheaders +BuildRequires: gcc +BuildRequires: bluez-libs-devel +BuildRequires: systemd +BuildRequires: systemd-rpm-macros +BuildRequires: lua-devel +BuildRequires: gettext +BuildRequires: at-spi2-core-devel +BuildRequires: alsa-lib-devel +%if %{with espeak} +BuildRequires: espeak-devel +%endif +BuildRequires: espeak-ng-devel +BuildRequires: autoconf +BuildRequires: automake +BuildRequires: polkit-devel +BuildRequires: libicu-devel +BuildRequires: doxygen +BuildRequires: linuxdoc-tools +BuildRequires: ncurses-devel +%if %{with python2} +BuildRequires: python2-docutils +BuildRequires: python2-setuptools +%endif +%if %{with python3} +BuildRequires: python3-docutils +BuildRequires: python3-setuptools +%endif +Conflicts: brltty-minimal + # work around a bug in the install process: Requires(post): coreutils Requires(post): systemd @@ -48,14 +92,12 @@ access to the Linux/Unix console (when in text mode) for a blind person using a refreshable braille display. It drives the braille display and provides complete screen review functionality. -%if %{with_speech_dispatcher} +%if %{with speech_dispatcher} BRLTTY can also work with speech synthesizers; if you want to use it with Speech Dispatcher, please install also package %{name}-speech-dispatcher. %package speech-dispatcher Summary: Speech Dispatcher driver for BRLTTY -Group: System Environment/Daemons -License: GPLv2+ BuildRequires: speech-dispatcher-devel Requires: %{name}%{?_isa} = %{pkg_version}-%{release} %description speech-dispatcher @@ -64,48 +106,45 @@ This package provides the Speech Dispatcher driver for BRLTTY. %package docs Summary: Documentation for BRLTTY -Group: System Environment/Daemons -License: GPLv2+ -Requires: %{name} = %{pkg_version}-%{release} BuildArch: noarch %description docs This package provides the documentation for BRLTTY. %package xw Summary: XWindow driver for BRLTTY -Group: System Environment/Daemons -License: GPLv2+ BuildRequires: libSM-devel libICE-devel libX11-devel libXaw-devel libXext-devel libXt-devel libXtst-devel Requires: %{name}%{?_isa} = %{pkg_version}-%{release} -Requires: xorg-x11-fonts-misc, ucs-miscfixed-fonts +Requires: xorg-x11-fonts-misc %description xw This package provides the XWindow driver for BRLTTY. %package at-spi2 Summary: AtSpi2 driver for BRLTTY -Group: System Environment/Daemons -# The data files are licensed under LGPLv2+, see the README file. -License: GPLv2+ and LGPLv2+ Requires: %{name}%{?_isa} = %{pkg_version}-%{release} %description at-spi2 This package provides the AtSpi2 driver for BRLTTY. +%if %{with espeak} %package espeak Summary: eSpeak driver for BRLTTY -Group: System Environment/Daemons -# The data files are licensed under LGPLv2+, see the README file. -License: GPLv2+ and LGPLv2+ Requires: %{name}%{?_isa} = %{pkg_version}-%{release} %description espeak This package provides the eSpeak driver for BRLTTY. +%endif + +%package espeak-ng +Summary: eSpeak-NG driver for BRLTTY +Requires: %{name}%{?_isa} = %{pkg_version}-%{release} +%if %{without espeak} +Obsoletes: brltty-espeak <= 5.6-5 +%endif +%description espeak-ng +This package provides the eSpeak-NG driver for BRLTTY. %package -n brlapi Version: %{api_version} -Group: Applications/System -License: LGPLv2+ Summary: Application Programming Interface for BRLTTY -Requires: %{name}%{?_isa} = %{pkg_version}-%{release} -Requires(pre): glibc-common, shadow-utils +Requires(pre): glibc-common Requires(post): coreutils, util-linux %description -n brlapi This package provides the run-time support for the Application @@ -116,8 +155,6 @@ a refreshable braille display. %package -n brlapi-devel Version: %{api_version} -Group: Development/System -License: LGPLv2+ Requires: brlapi%{?_isa} = %{api_version}-%{release} Summary: Headers, static archive, and documentation for BrlAPI @@ -135,191 +172,362 @@ which directly accesses a refreshable braille display. %package -n tcl-brlapi Version: %{api_version} -Group: Development/System -License: LGPLv2+ Requires: brlapi%{?_isa} = %{api_version}-%{release} BuildRequires: tcl-devel Summary: Tcl binding for BrlAPI %description -n tcl-brlapi This package provides the Tcl binding for BrlAPI. -%package -n python-brlapi +%if %{with python2} +%package -n python2-brlapi +%{?python_provide:%python_provide python2-brlapi} Version: %{api_version} -Group: Development/System -License: LGPLv2+ Requires: brlapi%{?_isa} = %{api_version}-%{release} BuildRequires: Cython BuildRequires: python2-devel -BuildRequires: python-setuptools +BuildRequires: python2-setuptools Summary: Python binding for BrlAPI -%description -n python-brlapi -This package provides the Python binding for BrlAPI. +%description -n python2-brlapi +This package provides the Python 2 binding for BrlAPI. +%endif -%if 0%{?with_python3} +%if %{with python3} %package -n python3-brlapi +%{?python_provide:%python_provide python3-brlapi} Version: %{api_version} -Group: Development/System -License: LGPLv2+ Requires: brlapi%{?_isa} = %{api_version}-%{release} -BuildRequires: Cython +BuildRequires: python3-Cython BuildRequires: python3-devel +%if %{without python2} +Obsoletes: python2-brlapi < %{api_version}-%{release} +Obsoletes: python-brlapi < %{api_version}-%{release} +%endif Summary: Python 3 binding for BrlAPI %description -n python3-brlapi This package provides the Python 3 binding for BrlAPI. %endif +%if %{with java} %package -n brlapi-java Version: %{api_version} -Group: Development/System -License: LGPLv2+ Requires: brlapi%{?_isa} = %{api_version}-%{release} BuildRequires: jpackage-utils BuildRequires: java-devel Summary: Java binding for BrlAPI %description -n brlapi-java This package provides the Java binding for BrlAPI. +%endif -%if 0%{?with_ocaml} +%if %{with ocaml} %package -n ocaml-brlapi Version: %{api_version} -Group: Development/System -License: LGPLv2+ Requires: brlapi%{?_isa} = %{api_version}-%{release} BuildRequires: ocaml +BuildRequires: ocaml-findlib +BuildRequires: make Summary: OCaml binding for BrlAPI %description -n ocaml-brlapi This package provides the OCaml binding for BrlAPI. %endif +%package dracut +Summary: brltty module for Dracut +Requires: %{name}%{?_isa} = %{pkg_version}-%{release} +Requires: dracut +%description dracut +This package provides brltty module for Dracut. + +%if %{with minimal} +%package minimal +Summary: Stripped down brltty version for Anaconda installer +Conflicts: brltty +%description minimal +This package provides stripped down brltty version for Anaconda +installer. +%endif %define version %{pkg_version} %prep -%setup -q -%patch1 -p1 -b .loadLibrary -%patch2 -p1 -b .libspeechd +%setup -qc +mv %{name}-%{version} python2 + +pushd python2 +%autopatch -p1 # remove packaged binary file rm -f Programs/brltty-ktb -%if 0%{?with_python3} +# produce debuginfo for the OCaml interface +sed -i 's/@OCAMLC@/& -g/;s/@OCAMLOPT@/& -g/;s/@OCAMLMKLIB@/& -g/' \ + Bindings/OCaml/Makefile.in +popd + # Make a copy of the source tree for building the Python 3 module -rm -rf %{py3dir} -cp -a . %{py3dir} +# Make it all time, we just gonna ignore python2 or python3 when not needed +cp -a python2 python3 + +%if %{with minimal} +cp -a python2 minimal %endif %build # If MAKEFLAGS=-jN is set it would break local builds. unset MAKEFLAGS +%if %{with java} # Add the openjdk include directories to CPPFLAGS for i in -I/usr/lib/jvm/java/include{,/linux}; do java_inc="$java_inc $i" done export CPPFLAGS="$java_inc" +%endif -export CFLAGS="%{optflags} -fno-strict-aliasing" -export CXXFLAGS="%{optflags} -fno-strict-aliasing" +export LDFLAGS="%{?build_ldflags}" +export CFLAGS="%{optflags} -fno-strict-aliasing $LDFLAGS" +export CXXFLAGS="%{optflags} -fno-strict-aliasing $LDFLAGS" # there is no curses packages in BuildRequires, so the package builds # without them in mock; let's express this decision explicitly configure_opts=" \ --disable-stripping \ --without-curses \ -%if %{with_speech_dispatcher} +%if %{with speech_dispatcher} --with-speechd=%{_prefix} \ %endif - --with-install-root=$RPM_BUILD_ROOT +%if %{without espeak} + --without-espeak \ +%endif +%if %{with java} + --with-install-root=%{buildroot} \ JAVA_JAR_DIR=%{_jnidir} \ JAVA_JNI_DIR=%{_libdir}/brltty \ JAVA_JNI=yes" +%else + --with-install-root=%{buildroot}" +%endif + +configure_opts_minimal=" \ + --disable-stripping \ + --without-curses \ + --without-speechd \ + --without-espeak \ + --disable-icu \ + --disable-polkit \ + --disable-java-bindings \ + --disable-ocaml-bindings \ + --disable-python-bindings \ + --disable-tcl-bindings \ + --disable-speech-support \ + --without-pcm-package \ + --without-midi-package \ + --with-install-root=%{buildroot} \ + --with-configuration-file=brltty-minimal.conf \ + --with-drivers-directory=%{_libdir}/brltty-minimal \ + --with-tables-directory=%{_sysconfdir}/brltty-minimal \ + --with-scripts-directory=%{_libexecdir}/brltty-minimal \ + JAVA_JNI=no" export PYTHONCOERCECLOCALE=0 +PYTHONS= + +%if %{with python2} # First build everything with Python 2 support +pushd python2 +./autogen %configure $configure_opts PYTHON=%{__python2} # Parallel build seems broken, thus disabling it make -%if 0%{?with_python3} -# ... and then do it again for the Python 3 module -pushd %{py3dir} -%configure $configure_opts PYTHON=%{__python3} -# Parallel build seems broken, thus disabling it +# documents +pushd Documents make popd + +popd +PYTHONS="$PYTHONS python2" %endif -find . \( -path ./doc -o -path ./Documents \) -prune -o \ - \( -name 'README*' -o -name '*.txt' -o -name '*.html' -o \ - -name '*.sgml' -o -name '*.patch' -o \ - \( -path './Bootdisks/*' -type f -perm /ugo=x \) \) -print | -while read file; do - mkdir -p doc/${file%/*} && cp -rp $file doc/$file || exit 1 -done -find . -name '*.sgml' | -while read file; do - iconv -f iso8859-1 -t utf-8 $file > $file.conv && mv -f $file.conv $file -done -find . -name '*.txt' | -while read file; do - iconv -f iso8859-1 -t utf-8 $file > $file.conv && mv -f $file.conv $file -done -find . -name 'README*' | -while read file; do - iconv -f iso8859-1 -t utf-8 $file > $file.conv && mv -f $file.conv $file -done +%if %{with minimal} +# ... and then do it again for minimal +pushd minimal +./autogen +%configure $configure_opts_minimal +make +popd +%endif + + +%if %{with python3} +# ... and then do it again for the Python 3 module +pushd python3 +./autogen +%configure $configure_opts PYTHON=%{__python3} CYTHON=%{_bindir}/cython +make + +# documents +pushd Documents +make +popd + +popd +PYTHONS="$PYTHONS python3" +%endif + +for python in $PYTHONS + do pushd $python + find . -name '*.sgml' | + while read file; do + iconv -f iso8859-1 -t utf-8 $file > $file.conv && mv -f $file.conv $file + done + find . -name '*.txt' | + while read file; do + iconv -f iso8859-1 -t utf-8 $file > $file.conv && mv -f $file.conv $file + done + find . -name 'README*' | + while read file; do + iconv -f iso8859-1 -t utf-8 $file > $file.conv && mv -f $file.conv $file + done + + find . \( -path ./doc -o -path ./Documents \) -prune -o \ + \( -name 'README*' -o -name '*.txt' -o -name '*.html' -o \ + -name '*.sgml' -o -name '*.patch' -o \ + \( -path './Bootdisks/*' -type f -perm /ugo=x \) \) -print | + while read file; do + mkdir -p ../doc/${file%/*} && cp -rp $file ../doc/$file || exit 1 + done + popd +done %install -%if 0%{?with_ocaml} -mkdir -p $RPM_BUILD_ROOT%{_libdir}/ocaml/stublibs +%if %{with ocaml} +mkdir -p %{buildroot}%{_libdir}/ocaml/stublibs %endif +%if %{with python2} # Python 2 -make install JAVA_JAR_DIR=%{_jnidir} \ - JAVA_JNI_DIR=%{_libdir}/brltty \ - JAVA_JNI=yes - -%if 0%{?with_python3} -# Python 3 -pushd %{py3dir} +pushd python2 make install JAVA_JAR_DIR=%{_jnidir} \ JAVA_JNI_DIR=%{_libdir}/brltty \ JAVA_JNI=yes popd %endif -install -d -m 755 "${RPM_BUILD_ROOT}%{_sysconfdir}" "$RPM_BUILD_ROOT%{_mandir}/man5" -install -m 644 Documents/brltty.conf "${RPM_BUILD_ROOT}%{_sysconfdir}" -echo ".so man1/brltty.1" > $RPM_BUILD_ROOT%{_mandir}/man5/brltty.conf.5 -install -Dpm 644 %{SOURCE1} $RPM_BUILD_ROOT%{_unitdir}/brltty.service +%if %{with minimal} +# minimal +pushd minimal +make install + +# drop extra drivers +pushd %{buildroot}%{_libdir}/brltty-minimal +rm -f libbrlttybba.so libbrlttybxw.so libbrlttyxa2.so libbrlttysen.so \ + libbrlttyses.so libbrlapi_java.so +popd + +# rename brltty to brltty-minimal +mv %{buildroot}%{_bindir}/brltty %{buildroot}%{_bindir}/brltty-minimal + +# install config +install -d -m 755 "%{buildroot}%{_sysconfdir}" +install -p -m 644 Documents/brltty.conf "%{buildroot}%{_sysconfdir}/brltty-minimal.conf" +popd +%endif + + +%if %{with python3} +# Python 3 +pushd python3 +make install JAVA_JAR_DIR=%{_jnidir} \ + JAVA_JNI_DIR=%{_libdir}/brltty \ + JAVA_JNI=yes +popd +%endif + +%if %{with python3} +# just use the higher number here +pushd python3 +%else +pushd python2 +%endif + +# install polkit rules +pushd Authorization/Polkit +make install +popd + +install -d -m 755 "%{buildroot}%{_sysconfdir}" "%{buildroot}%{_mandir}/man5" +install -p -m 644 Documents/brltty.conf "%{buildroot}%{_sysconfdir}" +echo ".so man1/brltty.1" > %{buildroot}%{_mandir}/man5/brltty.conf.5 + +install -Dpm 644 %{SOURCE1} %{buildroot}%{_unitdir}/brltty.service + +cp -p LICENSE* ../ # clean up the manuals: rm Documents/Manual-*/*/{*.mk,*.made,Makefile*} mv Documents/BrlAPIref/{html,BrlAPIref} -# Don't want static lib -rm -rf $RPM_BUILD_ROOT/%{_libdir}/libbrlapi.a +for i in Drivers/Speech/SpeechDispatcher/README \ + Documents/ChangeLog Documents/TODO \ + Documents/Manual-BRLTTY \ + Drivers/Braille/XWindow/README \ + Drivers/Braille/XWindow/README \ + Documents/Manual-BrlAPI \ + Documents/BrlAPIref/BrlAPIref \ +; do + mkdir -p ../${i%/*} && cp -rp $i ../$i || exit 1 +done + +# don't want static lib +rm -rf %{buildroot}/%{_libdir}/libbrlapi.a + +# create /var/lib/brltty directory +mkdir -p %{buildroot}%{_localstatedir}/lib/brltty # ghost brlapi.key -touch ${RPM_BUILD_ROOT}%{_sysconfdir}/brlapi.key +touch %{buildroot}%{_sysconfdir}/brlapi.key +chmod 0640 %{buildroot}%{_sysconfdir}/brlapi.key # disable xbrlapi gdm autostart, there is already orca -rm -f ${RPM_BUILD_ROOT}%{_datadir}/gdm/greeter/autostart/xbrlapi.desktop +rm -f %{buildroot}%{_datadir}/gdm/greeter/autostart/xbrlapi.desktop # make brltty-config executable -chmod 755 ${RPM_BUILD_ROOT}%{_bindir}/brltty-config +chmod 755 %{buildroot}%{_bindir}/brltty-config.sh + +# fix multilib +pushd %{buildroot}%{_includedir}/brltty +for f in config forbuild +do + mv ./$f.h ./$f-$(getconf LONG_BIT).h +done +install -p -m 0644 %{SOURCE2} ./config.h +install -p -m 0644 %{SOURCE3} ./forbuild.h +popd # handle locales %find_lang %{name} +cp -p %{name}.lang ../ -#Use python 3 for latex-access, BZ 1465657. -/usr/bin/2to3 -wn ${RPM_BUILD_ROOT}/etc/brltty/Contraction/latex-access.ctb -sed -i 's|/usr/bin/python|/usr/bin/python3|g' ${RPM_BUILD_ROOT}/etc/brltty/Contraction/latex-access.ctb +# install dracut module +make install-dracut +popd + +# drop documentation already instaled by the dracut subpackage +rm -f doc/Initramfs/Dracut/README* +rmdir doc/Initramfs/Dracut doc/Initramfs + +# Install group creation file +install -p -D -m 0644 %{SOURCE4} %{buildroot}%{_sysusersdir}/brltty.conf + +%if %{without java} +find . -type d -name 'Java' | xargs rm -rf +find %{buildroot}%{_datadir} -type d -name 'Java' | xargs rm -rf +%endif %post %systemd_post brltty.service @@ -330,8 +538,6 @@ sed -i 's|/usr/bin/python|/usr/bin/python3|g' ${RPM_BUILD_ROOT}/etc/brltty/Contr %postun %systemd_postun_with_restart brltty.service -%pre -n brlapi -getent group brlapi >/dev/null || groupadd -r brlapi >/dev/null %post -n brlapi if [ ! -e %{_sysconfdir}/brlapi.key ]; then @@ -339,33 +545,53 @@ if [ ! -e %{_sysconfdir}/brlapi.key ]; then chgrp brlapi %{_sysconfdir}/brlapi.key chmod 0640 %{_sysconfdir}/brlapi.key fi -/sbin/ldconfig +%{?ldconfig} -%postun -n brlapi -p /sbin/ldconfig +%ldconfig_postun -n brlapi %files -f %{name}.lang +%dir %{_localstatedir}/lib/brltty %config(noreplace) %{_sysconfdir}/brltty.conf %{_sysconfdir}/brltty/ +%exclude %{_sysconfdir}/brltty/Initramfs %{_unitdir}/brltty.service %{_bindir}/brltty %{_bindir}/brltty-* +%exclude %{_bindir}/brltty-minimal %{_libdir}/brltty/ -%exclude %{_libdir}/brltty/libbrlttybba.so -%exclude %{_libdir}/brltty/libbrlttybxw.so -%exclude %{_libdir}/brltty/libbrlttyxa2.so -%exclude %{_libdir}/brltty/libbrlttyses.so +%if %{with java} %exclude %{_libdir}/brltty/libbrlapi_java.so -%if %{with_speech_dispatcher} +%endif +# brlapi subpackage +%exclude %{_libdir}/brltty/libbrlttybba.so +# xw subpackage +%exclude %{_libdir}/brltty/libbrlttybxw.so +# at-spi2 subpackage +%exclude %{_libdir}/brltty/libbrlttyxa2.so +# espeak-ng subpackage +%exclude %{_libdir}/brltty/libbrlttysen.so +%if %{with espeak} +%exclude %{_libdir}/brltty/libbrlttyses.so +%endif +%if %{with speech_dispatcher} %exclude %{_libdir}/brltty/libbrlttyssd.so %endif -%doc LICENSE-GPL LICENSE-LGPL +%license LICENSE-LGPL %doc %{_mandir}/man[15]/brltty.* -%{_sysconfdir}/X11/Xsession.d/60xbrlapi -%{_datadir}/metainfo/org.a11y.brltty.metainfo.xml +%{_sysconfdir}/X11/Xsession.d/90xbrlapi %{_datadir}/polkit-1/actions/org.a11y.brlapi.policy +%{_datadir}/polkit-1/rules.d/org.a11y.brlapi.rules +%if %{with minimal} +%files minimal -f %{name}.lang +%config(noreplace) %{_sysconfdir}/brltty-minimal.conf +%{_sysconfdir}/brltty-minimal/ +%{_bindir}/brltty-minimal +%{_libdir}/brltty-minimal/ +%license LICENSE-LGPL +%endif -%if %{with_speech_dispatcher} +%if %{with speech_dispatcher} %files speech-dispatcher %doc Drivers/Speech/SpeechDispatcher/README %{_libdir}/brltty/libbrlttyssd.so @@ -374,7 +600,7 @@ fi %files docs %doc Documents/ChangeLog Documents/TODO %doc Documents/Manual-BRLTTY/ -%doc doc/* +#%doc doc/* %files xw %doc Drivers/Braille/XWindow/README @@ -383,53 +609,514 @@ fi %files at-spi2 %{_libdir}/brltty/libbrlttyxa2.so +%if %{with espeak} %files espeak %{_libdir}/brltty/libbrlttyses.so +%endif + +%files espeak-ng +%{_libdir}/brltty/libbrlttysen.so %files -n brlapi %{_bindir}/vstp %{_bindir}/eutp %{_bindir}/xbrlapi +%dir %{_libdir}/brltty %{_libdir}/brltty/libbrlttybba.so %{_libdir}/libbrlapi.so.* -%ghost %{_sysconfdir}/brlapi.key +%ghost %verify(not group) %{_sysconfdir}/brlapi.key %doc Drivers/Braille/XWindow/README %doc Documents/Manual-BrlAPI/ %doc %{_mandir}/man1/xbrlapi.* %doc %{_mandir}/man1/vstp.* %doc %{_mandir}/man1/eutp.* +%{_sysusersdir}/brltty.conf +%{lua_libdir}/brlapi.so %files -n brlapi-devel %{_libdir}/libbrlapi.so %{_includedir}/brltty %{_includedir}/brlapi*.h +%{_libdir}/pkgconfig/brltty.pc %doc %{_mandir}/man3/brlapi_*.3* %doc Documents/BrlAPIref/BrlAPIref/ %files -n tcl-brlapi %{tcl_sitearch}/brlapi-%{api_version} -%files -n python-brlapi -%{python_sitearch}/brlapi.so -%{python_sitearch}/Brlapi-%{api_version}-*.egg-info +%if %{with python2} +%files -n python2-brlapi +%{python2_sitearch}/brlapi.so +%{python2_sitearch}/Brlapi-%{api_version}-*.egg-info +%endif -%if 0%{?with_python3} +%if %{with python3} %files -n python3-brlapi %{python3_sitearch}/brlapi.cpython-*.so %{python3_sitearch}/Brlapi-%{api_version}-*.egg-info %endif +%if %{with java} %files -n brlapi-java %{_libdir}/brltty/libbrlapi_java.so %{_jnidir}/brlapi.jar +%endif -%if 0%{?with_ocaml} +%if %{with ocaml} %files -n ocaml-brlapi %{_libdir}/ocaml/brlapi/ %{_libdir}/ocaml/stublibs/ %endif +%files dracut +%{_prefix}/lib/dracut/modules.d/99brltty/ +%dir %{_sysconfdir}/brltty/Initramfs +%config(noreplace) %verify(not size md5 mtime) %{_sysconfdir}/brltty/Initramfs/dracut.conf +%config(noreplace) %verify(not size md5 mtime) %{_sysconfdir}/brltty/Initramfs/cmdline + %changelog +* Mon Oct 13 2025 Richard W.M. Jones - 6.8-6 +- OCaml 5.4.0 rebuild + +* Wed Oct 08 2025 Dominik Mierzejewski - 6.8-5 +- own _libdir/brltty directory in brlapi + +* Wed Aug 06 2025 František Zatloukal - 6.8-4 +- Rebuilt for icu 77.1 + +* Wed Jul 23 2025 Fedora Release Engineering - 6.8-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild + +* Fri Jul 11 2025 Jerry James - 6.8-2 +- Rebuild to fix OCaml dependencies + +* Mon Jul 07 2025 Gwyn Ciesla - 6.8-1 +- 6.8 + +* Mon Jun 02 2025 Python Maint - 6.7-11 +- Rebuilt for Python 3.14 + +* Tue Feb 11 2025 Zbigniew Jędrzejewski-Szmek - 6.7-10 +- Drop call to %sysusers_create_compat + +* Tue Feb 11 2025 Jaroslav Škarvada - 6.7-9 +- Built for tcl 9.0 + Related: rhbz#2337691 + +* Mon Feb 3 2025 Jaroslav Škarvada - 6.7-8 +- Rebuilt for tcl/tk change + Related: rhbz#2337691 + +* Fri Jan 31 2025 Yaakov Selkowitz - 6.7-7 +- Fix exclusions from main package + +* Thu Jan 16 2025 Fedora Release Engineering - 6.7-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + +* Tue Jan 14 2025 Gwyn Ciesla - 6.7-5 +- Update to use tcl8 compat. + +* Fri Jan 10 2025 Jerry James - 6.7-4 +- OCaml 5.3.0 rebuild for Fedora 42 + +* Tue Dec 10 2024 Jaroslav Škarvada - 6.7-3 +- Switched to upstream patch + Related: rhbz#2328699 + +* Mon Dec 9 2024 Jaroslav Škarvada - 6.7-2 +- Resolves: rhbz#2328699 + +* Tue Oct 15 2024 Gwyn Ciesla - 6.7-1 +- 6.7 + +* Mon Aug 05 2024 Yaakov Selkowitz - 6.6-20 +- Use bcond consistently +- Disable java and ocaml bindings in RHEL + +* Wed Jul 17 2024 Fedora Release Engineering - 6.6-19 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + +* Thu Jul 4 2024 Jaroslav Škarvada - 6.6-18 +- Dropped ucs-miscfixed-fonts requirement, xorg-x11-fonts-misc is enough + +* Wed Jun 19 2024 Richard W.M. Jones - 6.6-17 +- OCaml 5.2.0 ppc64le fix + +* Tue Jun 18 2024 Paolo Bonzini - 6.6-16 +- Remove unnecessary dependency from brlapi and brltty-docs to brltty + +* Fri Jun 07 2024 Python Maint - 6.6-15 +- Rebuilt for Python 3.13 + +* Wed May 29 2024 Richard W.M. Jones - 6.6-14 +- OCaml 5.2.0 for Fedora 41 + +* Wed Jan 31 2024 Pete Walter - 6.6-13 +- Rebuild for ICU 74 + +* Tue Jan 23 2024 Fedora Release Engineering - 6.6-12 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Fri Jan 19 2024 Fedora Release Engineering - 6.6-11 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Wed Jan 17 2024 Jaroslav Škarvada - 6.6-10 +- Added SPDX licenses found by ScanCode +- Dropped redundant license tags from subpackages + +* Wed Dec 20 2023 Gwyn Ciesla - 6.6-9 +- Migrate group creation to sysusers + +* Mon Dec 18 2023 Richard W.M. Jones - 6.6-8 +- Bump release and rebuild + +* Mon Dec 18 2023 Richard W.M. Jones - 6.6-7 +- OCaml 5.1.1 + s390x code gen fix for Fedora 40 + +* Tue Dec 12 2023 Richard W.M. Jones - 6.6-6 +- OCaml 5.1.1 rebuild for Fedora 40 + +* Thu Oct 05 2023 Richard W.M. Jones - 6.6-5 +- OCaml 5.1 rebuild for Fedora 40 + +* Tue Aug 15 2023 Adam Williamson - 6.6-4 +- Fix the Cython 3 crash and build with Cython 3 again + +* Mon Aug 14 2023 Adam Williamson - 6.6-3 +- Build with Cython 0.29, it crashes when built with Cython 3 (#2231865) + +* Tue Jul 25 2023 Gwyn Ciesla - 6.6-2 +- Correct apiversioning + +* Mon Jul 24 2023 Gwyn Ciesla - 6.6-1 +- 6.6 + +* Wed Jul 19 2023 Fedora Release Engineering - 6.5-20 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Thu Jul 13 2023 František Zatloukal - 6.5-19 +- Rebuilt for ICU 73.2 + +* Wed Jul 12 2023 Richard W.M. Jones - 6.5-18 +- OCaml 5.0 rebuild for Fedora 39 + +* Wed Jul 12 2023 Frantisek Zatloukal - 6.5-17 +- Add BR: gcc (ocaml no longer pulls it indirectly on i686) + +* Tue Jul 11 2023 František Zatloukal - 6.5-15 +- Rebuilt for ICU 73.2 + +* Mon Jul 10 2023 Jerry James - 6.5-14 +- OCaml 5.0.0 rebuild +- Produce debuginfo for the OCaml interface + +* Tue Jun 27 2023 Gwyn Ciesla - 6.5-13 +- Fix build with gettext-0.22 (yselkowitz) + +* Tue Jun 13 2023 Python Maint - 6.5-12 +- Rebuilt for Python 3.12 + +* Wed Mar 08 2023 Gwyn Ciesla - 6.5-11 +- migrated to SPDX license + +* Tue Jan 24 2023 Richard W.M. Jones - 6.5-10 +- Rebuild OCaml packages for F38 + +* Wed Jan 18 2023 Fedora Release Engineering - 6.5-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Sat Dec 31 2022 Pete Walter - 6.5-8 +- Rebuild for ICU 72 + +* Mon Aug 01 2022 Gwyn Ciesla - 6.5-7 +- Build Java only on supported platforms. + +* Mon Aug 01 2022 Frantisek Zatloukal - 6.5-6 +- Rebuilt for ICU 71.1 + +* Wed Jul 20 2022 Fedora Release Engineering - 6.5-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Mon Jun 20 2022 Python Maint - 6.5-4 +- Rebuilt for Python 3.11 + +* Sat Jun 18 2022 Richard W.M. Jones - 6.5-3 +- OCaml 4.14.0 rebuild + +* Thu Jun 16 2022 Python Maint - 6.5-2 +- Rebuilt for Python 3.11 + +* Tue Jun 14 2022 Jaroslav Škarvada - 6.5-1 +- New version + Resolves: rhbz#2095460 + +* Mon Jun 13 2022 Python Maint - 6.4-7 +- Rebuilt for Python 3.11 + +* Sat Feb 05 2022 Jiri Vanek - 6.4-6 +- Rebuilt for java-17-openjdk as system jdk + +* Fri Feb 04 2022 Richard W.M. Jones - 6.4-5 +- OCaml 4.13.1 rebuild to remove package notes + +* Thu Jan 20 2022 Jaroslav Škarvada - 6.4-4 +- Installed /var/lib/brltty directory + Related: rhbz#2042412 + +* Wed Jan 19 2022 Fedora Release Engineering - 6.4-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Mon Oct 04 2021 Richard W.M. Jones - 6.4-2 +- OCaml 4.13.1 build + +* Fri Sep 24 2021 Gwyn Ciesla - 6.4-1 +- 6.4 + +* Wed Jul 21 2021 Fedora Release Engineering - 6.3-10 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Fri Jun 04 2021 Python Maint - 6.3-9 +- Rebuilt for Python 3.10 + +* Tue Jun 1 2021 Jaroslav Škarvada - 6.3-8 +- Fixed requirements for brltty-minimal + Related: rhbz#1584679 + +* Wed May 19 2021 Pete Walter - 6.3-7 +- Rebuild for ICU 69 + +* Wed May 19 2021 Jaroslav Škarvada - 6.3-6 +- Added brltty-minimal subpackage for braille support in Anaconda installer + Related: rhbz#1584679 + +* Thu May 13 2021 Jaroslav Škarvada - 6.3-5 +- Fixed brlapi multilib + +* Fri Apr 16 2021 Gwyn Ciesla - 6.3-4 +- Upstream patch to support Python 3.10. + +* Tue Mar 02 2021 Zbigniew Jędrzejewski-Szmek - 6.3-3 +- Rebuilt for updated systemd-rpm-macros + See https://pagure.io/fesco/issue/2583. + +* Mon Mar 1 13:12:00 GMT 2021 Richard W.M. Jones - 6.3-2 +- OCaml 4.12.0 build + +* Mon Feb 1 2021 Jaroslav Škarvada - 6.3-1 +- New version + Resolves: rhbz#1910328 + +* Tue Jan 26 2021 Fedora Release Engineering - 6.1-13 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Tue Oct 20 2020 Jaroslav Škarvada - 6.1-12 +- Fixed brlapi.key to pass the RPM verification + +* Tue Sep 01 2020 Richard W.M. Jones - 6.1-11 +- OCaml 4.11.1 rebuild + +* Fri Aug 21 2020 Richard W.M. Jones - 6.1-10 +- OCaml 4.11.0 rebuild + +* Mon Jul 27 2020 Fedora Release Engineering - 6.1-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Thu Jul 16 2020 Jaroslav Škarvada - 6.1-8 +- Dropped explicit brlapi dependency (brltty) and relaxed brltty + dependency (brlapi) + Related: rhbz#1765611 + +* Fri Jul 10 2020 Jiri Vanek - 6.1-7 +- Rebuilt for JDK-11, see https://fedoraproject.org/wiki/Changes/Java11 + +* Tue May 26 2020 Miro Hrončok - 6.1-6 +- Rebuilt for Python 3.9 + +* Wed May 20 2020 Jaroslav Škarvada - 6.1-5 +- Added missing missing -o option to the brltty man page + +* Mon May 04 2020 Richard W.M. Jones - 6.1-4 +- OCaml 4.11.0+dev2-2020-04-22 rebuild + +* Tue Apr 21 2020 Richard W.M. Jones - 6.1-3 +- OCaml 4.11.0 pre-release attempt 2 + +* Fri Apr 17 2020 Richard W.M. Jones - 6.1-2 +- OCaml 4.11.0 pre-release + +* Mon Apr 06 2020 Gwyn Ciesla - 6.1-1 +- 6.1 + +* Thu Apr 02 2020 Richard W.M. Jones - 6.0-14 +- Update all OCaml dependencies for RPM 4.16. + +* Wed Feb 26 2020 Richard W.M. Jones - 6.0-13 +- OCaml 4.10.0 final. + +* Tue Jan 28 2020 Fedora Release Engineering - 6.0-12 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Sat Jan 18 2020 Richard W.M. Jones - 6.0-11 +- OCaml 4.10.0+beta1 rebuild. + +* Wed Jan 08 2020 Richard W.M. Jones - 6.0-10 +- OCaml 4.09.0 for riscv64 + +* Fri Dec 06 2019 Richard W.M. Jones - 6.0-9 +- OCaml 4.09.0 (final) rebuild. + +* Mon Aug 19 2019 Miro Hrončok - 6.0-8 +- Rebuilt for Python 3.8 + +* Fri Aug 16 2019 Richard W.M. Jones - 6.0-7 +- OCaml 4.08.1 (final) rebuild. + +* Wed Jul 31 2019 Richard W.M. Jones - 6.0-6 +- OCaml 4.08.1 (rc2) rebuild. + +* Wed Jul 24 2019 Fedora Release Engineering - 6.0-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Thu Jun 27 2019 Richard W.M. Jones - 6.0-4 +- OCaml 4.08.0 (final) rebuild. + +* Fri Jun 7 2019 Jaroslav Škarvada - 6.0-3 +- Fixed build with alsa-1.1.9 + Resolves: rhbz#1716389 + +* Mon Apr 29 2019 Richard W.M. Jones - 6.0-2 +- OCaml 4.08.0 (beta 3) rebuild. + +* Thu Jan 31 2019 Fedora Release Engineering - 5.6-32 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Tue Dec 11 2018 Jaroslav Škarvada - 5.6-31 +- Do not package documentation for dracut module twice + +* Tue Dec 11 2018 Jaroslav Škarvada - 5.6-30 +- Rebased dracut support to upstream version +- Added requires to subpackages + +* Wed Dec 5 2018 Jaroslav Škarvada - 5.6-29 +- Improved CFLAGS handling when building Ocaml bindings + +* Wed Dec 5 2018 Jaroslav Škarvada - 5.6-28 +- Built OCaml bindings with distribution CFLAGS and consolidated patches +- Fixed Cython build requires +- Used macro for python3 path + +* Thu Jul 12 2018 Fedora Release Engineering - 5.6-27 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Wed Jul 11 2018 Richard W.M. Jones - 5.6-26 +- OCaml 4.07.0 (final) rebuild. + +* Mon Jul 02 2018 Miro Hrončok - 5.6-25 +- Rebuilt for Python 3.7 + +* Thu Jun 21 2018 Paolo Bonzini - 5.6-24 +- Remove unnecessary dependency from brlapi and brltty-docs to brltty + +* Wed Jun 20 2018 Richard W.M. Jones - 5.6-23 +- OCaml 4.07.0-rc1 rebuild. + +* Tue Jun 19 2018 Miro Hrončok - 5.6-22 +- Rebuilt for Python 3.7 + +* Mon Jun 11 2018 Jaroslav Škarvada - 5.6-21 +- Improved brltty service to start before display manager and getty + +* Fri Jun 8 2018 Jaroslav Škarvada - 5.6-20 +- Fixed installation of multiple drivers and text tables in Dracut module + if environment variables are used + +* Mon Jun 4 2018 Jaroslav Škarvada - 5.6-19 +- Fixed Dracut module requirements + +* Mon Jun 4 2018 Jaroslav Škarvada - 5.6-18 +- Improved Dracut module to support more boot command line arguments + +* Fri Jun 1 2018 Jaroslav Škarvada - 5.6-17 +- Updated URL and Source + +* Thu May 31 2018 Tomas Korbar - 5.6-16 +- Added Dracut module + +* Tue May 29 2018 Jaroslav Škarvada - 5.6-15 +- Added support for ALSA + +* Thu May 24 2018 Jaroslav Škarvada - 5.6-14 +- Also enabled systemd service in rescue target + +* Thu May 24 2018 Jaroslav Škarvada - 5.6-13 +- Systemd service is now installed to default and emergency targets, + because assistive technology should be available there + +* Tue May 22 2018 Jaroslav Škarvada - 5.6-12 +- Switched to upstream patch adding LDFLAGS to more libraries + Related: rhbz#1543490 + +* Mon May 21 2018 Jaroslav Škarvada - 5.6-11 +- Added LDFLAGS to more libraries + Related: rhbz#1543490 + +* Thu Apr 26 2018 Richard W.M. Jones - 5.6-10 +- OCaml 4.07.0-beta2 rebuild. + +* Wed Apr 25 2018 Jaroslav Škarvada - 5.6-9 +- Switched to upstream patch fixing building with distro's LDFLAGS + Related: rhbz#1543490 + +* Tue Apr 24 2018 Jaroslav Škarvada - 5.6-8 +- Build with distro's LDFLAGS + Related: rhbz#1543490 + +* Fri Mar 16 2018 Miro Hrončok - 5.6-7 +- Don't build Python 2 subpackage on EL > 7 and Fedora > 28 +- Use bconditionals + +* Thu Mar 08 2018 Ondřej Lysoněk - 5.6-6 +- Build with espeak support only on Fedora + +* Tue Mar 06 2018 Ondřej Lysoněk - 5.6-5 +- Add support for eSpeak-NG + +* Tue Mar 06 2018 Ondřej Lysoněk - 5.6-4 +- Fix the License tags. The license of whole brltty is LGPLv2+ since + the 5.6 release. + +* Mon Feb 26 2018 Ondřej Lysoněk - 5.6-3 +- Fix generating the brltty-debugsource package + +* Mon Feb 12 2018 Gwyn Ciesla - 5.6-2 +- Flag fixes. + +* Tue Feb 06 2018 Gwyn Ciesla - 5.6-1 +- 5.6 + +* Fri Dec 15 2017 Iryna Shcherbina - 5.5-12 +- Update Python 2 dependency declarations to new packaging standards + (See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3) + +* Fri Nov 17 2017 Richard W.M. Jones - 5.5-11 +- OCaml 4.06.0 rebuild. + +* Wed Oct 04 2017 Troy Dawson - 5.5-10 +- Cleanup spec file conditionals + +* Sat Aug 19 2017 Zbigniew Jędrzejewski-Szmek - 5.5-9 +- Python 2 binary package renamed to python2-brltty + See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3 + +* Tue Aug 08 2017 Richard W.M. Jones - 5.5-8 +- OCaml 4.05.0 rebuild. + +* Wed Aug 02 2017 Fedora Release Engineering - 5.5-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + +* Wed Jul 26 2017 Fedora Release Engineering - 5.5-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + * Tue Jul 11 2017 Gwyn Ciesla - 5.5-5 - Use python 3 for latex-access, BZ 1465657. diff --git a/brltty.sysusers b/brltty.sysusers new file mode 100644 index 0000000..c0220ca --- /dev/null +++ b/brltty.sysusers @@ -0,0 +1,2 @@ +#Type Name ID GECOS Home directory Shell +g brlapi - diff --git a/plans.fmf b/plans.fmf new file mode 100644 index 0000000..d972d2f --- /dev/null +++ b/plans.fmf @@ -0,0 +1,5 @@ +summary: Run all smoke tests +discover: + how: fmf +execute: + how: tmt diff --git a/sources b/sources index 0c20ea9..c63ce6d 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (brltty-5.5.tar.xz) = fccf28c92254154e76b570044f6b89b92c01ccfdb3afaf093f9e760ca788b0e1d386434e5b7727c6b983e415cc0b2e5c42e50eb3547e7e05c0e3eb2b9e1c50b4 +SHA512 (brltty-6.8.tar.xz) = 08540cdf09eaa1caabd8400cb6e589f99f5f2b8aaaf8c031e5165e9b0605858e90dc9dd72f2095347f4860714214ecf184e3675422df880f1bf06bb4cc6f42ee diff --git a/tests/README.rst b/tests/README.rst new file mode 100644 index 0000000..e69de29 diff --git a/tests/main.fmf b/tests/main.fmf new file mode 100644 index 0000000..6189cf3 --- /dev/null +++ b/tests/main.fmf @@ -0,0 +1,2 @@ +summary: Smoke test +test: ./run_tests.sh diff --git a/tests/run_tests.sh b/tests/run_tests.sh new file mode 100644 index 0000000..9dd745a --- /dev/null +++ b/tests/run_tests.sh @@ -0,0 +1,4 @@ +#!/bin/bash +pushd sanity-test || exit +./runtest.sh +popd || exit diff --git a/tests/sanity-test/Makefile b/tests/sanity-test/Makefile new file mode 100644 index 0000000..49f910c --- /dev/null +++ b/tests/sanity-test/Makefile @@ -0,0 +1,64 @@ +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Makefile of /CoreOS/brltty/Sanity/sanity-test +# Description: it check basic sanity of packahe +# Author: Jan Scotka +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Copyright (c) 2016 Red Hat, Inc. +# +# This copyrighted material is made available to anyone wishing +# to use, modify, copy, or redistribute it subject to the terms +# and conditions of the GNU General Public License version 2. +# +# This program is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied +# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public +# License along with this program; if not, write to the Free +# Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +# Boston, MA 02110-1301, USA. +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +export TEST=/CoreOS/brltty/Sanity/sanity-test +export TESTVERSION=1.0 + +BUILT_FILES= + +FILES=$(METADATA) runtest.sh Makefile PURPOSE + +.PHONY: all install download clean + +run: $(FILES) build + ./runtest.sh + +build: $(BUILT_FILES) + test -x runtest.sh || chmod a+x runtest.sh + +clean: + rm -f *~ $(BUILT_FILES) + + +include /usr/share/rhts/lib/rhts-make.include + +$(METADATA): Makefile + @echo "Owner: Jan Scotka " > $(METADATA) + @echo "Name: $(TEST)" >> $(METADATA) + @echo "TestVersion: $(TESTVERSION)" >> $(METADATA) + @echo "Path: $(TEST_DIR)" >> $(METADATA) + @echo "Description: it check basic sanity of packahe" >> $(METADATA) + @echo "Type: Sanity" >> $(METADATA) + @echo "TestTime: 20m" >> $(METADATA) + @echo "RunFor: brltty" >> $(METADATA) + @echo "Requires: brltty Xvfb ImageMagick psmisc xorg-x11-utils nc orca" >> $(METADATA) + @echo "Priority: Normal" >> $(METADATA) + @echo "License: GPLv2" >> $(METADATA) + @echo "Confidential: no" >> $(METADATA) + @echo "Destructive: no" >> $(METADATA) + @echo "Releases: -RHEL4 -RHELClient5 -RHELServer5" >> $(METADATA) + + rhts-lint $(METADATA) diff --git a/tests/sanity-test/PURPOSE b/tests/sanity-test/PURPOSE new file mode 100644 index 0000000..a0b7600 --- /dev/null +++ b/tests/sanity-test/PURPOSE @@ -0,0 +1,3 @@ +PURPOSE of /CoreOS/brltty/Sanity/sanity-test +Description: it check basic sanity of packahe +Author: Jan Scotka diff --git a/tests/sanity-test/runtest.sh b/tests/sanity-test/runtest.sh new file mode 100755 index 0000000..4a1266e --- /dev/null +++ b/tests/sanity-test/runtest.sh @@ -0,0 +1,74 @@ +#!/bin/bash +# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# runtest.sh of /CoreOS/brltty/Sanity/sanity-test +# Description: it check basic sanity of packahe +# Author: Jan Scotka +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Copyright (c) 2016 Red Hat, Inc. +# +# This copyrighted material is made available to anyone wishing +# to use, modify, copy, or redistribute it subject to the terms +# and conditions of the GNU General Public License version 2. +# +# This program is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied +# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public +# License along with this program; if not, write to the Free +# Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +# Boston, MA 02110-1301, USA. +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +# Include Beaker environment +. /usr/bin/rhts-environment.sh || exit 1 +. /usr/share/beakerlib/beakerlib.sh || exit 1 + +PACKAGE="brltty" +DISPLAY=99 + +rlJournalStart + rlPhaseStartSetup + rlAssertRpm $PACKAGE + rlRun "Xvfb :$DISPLAY -screen 0 1024x768x24&" + rlRun "sleep 5" + rlPhaseEnd + + rlPhaseStartTest + rlRun "DISPLAY=:$DISPLAY orca&" + rlRun "sleep 5" + rlRun "sleep 5" + rlRun "DISPLAY=:$DISPLAY brltty -b xw -x a2 -A auth=none" + rlRun "sleep 5" + rlRun "BRPID=`pidof brltty`" + rlRun "cat /proc/$BRPID/cmdline" + rlRun "DISPLAY=:$DISPLAY import -window root example.png" + rlRun "DISPLAY=:$DISPLAY xwininfo -tree -root" + #rlRun "DISPLAY=:$DISPLAY xwininfo -tree -root| grep -A 2 children |grep brltty" + #rlRun "DISPLAY=:$DISPLAY xwininfo -tree -root|grep +664+36" + rlRun "killall brltty" + rlRun "sleep 5" + rlRun "DISPLAY=:$DISPLAY brltty -b vr -d server:127.0.0.1 -x a2 -A auth=none" + rlRun "sleep 5" + rlRun "echo cells 20 | ncat 127.0.0.1 35752 |grep 'Visual \"BRLTTY'" + rlRun "echo cells 20 | ncat 127.0.0.1 35752 |grep '127.12357.1237.23457.23457.134567'" + rlRun "echo quit | ncat 127.0.0.1 35752" + rlRun "sleep 2" + rlRun "test -x /usr/bin/brltty-config" + rlRun "brltty-config" + rlPhaseEnd + + rlPhaseStartCleanup + rlRun "killall brltty" + rlRun "killall Xvfb" + rlFileSubmit example.png + rlPhaseEnd +rlJournalPrintText +rlJournalEnd +