summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCoprDistGit <infra@openeuler.org>2024-08-06 02:28:06 +0000
committerCoprDistGit <infra@openeuler.org>2024-08-06 02:28:06 +0000
commitc41b9d5c68deb0cd25e86f8f5e8e58bedd44f9f0 (patch)
treec99afdafefc2044b43d0ab87c7a7600ac5faa60b
parentab98f7ed2e1a4f2647f0e10823389db18e3b2055 (diff)
automatic import of liblouisopeneuler24.03_LTS
-rw-r--r--.gitignore1
-rw-r--r--liblouis-3.16.1-fix-CVE-2023-26767.patch42
-rw-r--r--liblouis-3.16.1-fix-CVE-2023-26768.patch57
-rw-r--r--liblouis-3.16.1-fix-CVE-2023-26769.patch162
-rw-r--r--liblouis.spec379
-rw-r--r--sources1
6 files changed, 642 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index e69de29..82e7928 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/liblouis-3.16.1.tar.gz
diff --git a/liblouis-3.16.1-fix-CVE-2023-26767.patch b/liblouis-3.16.1-fix-CVE-2023-26767.patch
new file mode 100644
index 0000000..8d37bde
--- /dev/null
+++ b/liblouis-3.16.1-fix-CVE-2023-26767.patch
@@ -0,0 +1,42 @@
+From f432de31058b5a94874d47405216d07910c18a9a Mon Sep 17 00:00:00 2001
+From: Christian Egli <christian.egli@sbs.ch>
+Date: Wed, 8 Feb 2023 11:18:27 +0100
+Subject: [PATCH] Check the length of path before copying into dataPath
+
+See https://lwn.net/Articles/507319/ for more background on the
+security problems of strcpy.
+
+Fixes #1292
+---
+ NEWS | 2 ++
+ liblouis/compileTranslationTable.c | 2 +-
+ liblouis/liblouis.h.in | 3 ++-
+ 3 files changed, 5 insertions(+), 2 deletions(-)
+
+diff --git a/liblouis/compileTranslationTable.c b/liblouis/compileTranslationTable.c
+index cbc6ae1614..3c74929bcb 100644
+--- a/liblouis/compileTranslationTable.c
++++ b/liblouis/compileTranslationTable.c
+@@ -58,7 +58,7 @@ char *EXPORT_CALL
+ lou_setDataPath(const char *path) {
+ static char dataPath[MAXSTRING];
+ dataPathPtr = NULL;
+- if (path == NULL) return NULL;
++ if (path == NULL || strlen(path) >= MAXSTRING) return NULL;
+ strcpy(dataPath, path);
+ dataPathPtr = dataPath;
+ return dataPathPtr;
+diff --git a/liblouis/liblouis.h.in b/liblouis/liblouis.h.in
+index 88d7996895..c51305f7ad 100644
+--- a/liblouis/liblouis.h.in
++++ b/liblouis/liblouis.h.in
+@@ -283,7 +283,8 @@ lou_getEmphClasses(const char *tableList);
+ /**
+ * Set the path used for searching for tables and liblouisutdml files.
+ *
+- * Overrides the installation path. */
++ * Overrides the installation path. Returns NULL if `path` is NULL or
++ * if the length of `path` is equal or longer than `MAXSTRING`. */
+ LIBLOUIS_API
+ char *EXPORT_CALL
+ lou_setDataPath(const char *path);
diff --git a/liblouis-3.16.1-fix-CVE-2023-26768.patch b/liblouis-3.16.1-fix-CVE-2023-26768.patch
new file mode 100644
index 0000000..ec6cb9d
--- /dev/null
+++ b/liblouis-3.16.1-fix-CVE-2023-26768.patch
@@ -0,0 +1,57 @@
+From 565ac66ec0c187ffb442226487de3db376702958 Mon Sep 17 00:00:00 2001
+From: Marsman1996 <lqliuyuwei@outlook.com>
+Date: Thu, 9 Feb 2023 18:56:21 +0800
+Subject: [PATCH 1/2] Check filename before coping to initialLogFileName
+
+---
+ liblouis/logging.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/liblouis/logging.c b/liblouis/logging.c
+index 9f470b45e5..7498deb758 100644
+--- a/liblouis/logging.c
++++ b/liblouis/logging.c
+@@ -126,7 +126,7 @@ lou_logFile(const char *fileName) {
+ fclose(logFile);
+ logFile = NULL;
+ }
+- if (fileName == NULL || fileName[0] == 0) return;
++ if (fileName == NULL || fileName[0] == 0 || strlen(fileName) >= 256) return;
+ if (initialLogFileName[0] == 0) strcpy(initialLogFileName, fileName);
+ logFile = fopen(fileName, "a");
+ if (logFile == NULL && initialLogFileName[0] != 0)
+
+From 47822bb418fb77564c159469e3be79989b11aced Mon Sep 17 00:00:00 2001
+From: Marsman1996 <lqliuyuwei@outlook.com>
+Date: Thu, 9 Feb 2023 21:00:36 +0800
+Subject: [PATCH 2/2] replace the magic number with a define
+
+---
+ liblouis/logging.c | 6 ++++--
+ 1 file changed, 4 insertions(+), 2 deletions(-)
+
+diff --git a/liblouis/logging.c b/liblouis/logging.c
+index 7498deb758..2849cf26d4 100644
+--- a/liblouis/logging.c
++++ b/liblouis/logging.c
+@@ -117,8 +117,10 @@ _lou_logMessage(logLevels level, const char *format, ...) {
+ }
+ }
+
++#define FILENAMESIZE 256
++
+ static FILE *logFile = NULL;
+-static char initialLogFileName[256] = "";
++static char initialLogFileName[FILENAMESIZE] = "";
+
+ void EXPORT_CALL
+ lou_logFile(const char *fileName) {
+@@ -126,7 +128,7 @@ lou_logFile(const char *fileName) {
+ fclose(logFile);
+ logFile = NULL;
+ }
+- if (fileName == NULL || fileName[0] == 0 || strlen(fileName) >= 256) return;
++ if (fileName == NULL || fileName[0] == 0 || strlen(fileName) >= FILENAMESIZE) return;
+ if (initialLogFileName[0] == 0) strcpy(initialLogFileName, fileName);
+ logFile = fopen(fileName, "a");
+ if (logFile == NULL && initialLogFileName[0] != 0)
diff --git a/liblouis-3.16.1-fix-CVE-2023-26769.patch b/liblouis-3.16.1-fix-CVE-2023-26769.patch
new file mode 100644
index 0000000..aac94a6
--- /dev/null
+++ b/liblouis-3.16.1-fix-CVE-2023-26769.patch
@@ -0,0 +1,162 @@
+From d45430431f8c75941f863328eb3f7fc09f902b2e Mon Sep 17 00:00:00 2001
+From: Marsman1996 <lqliuyuwei@outlook.com>
+Date: Wed, 8 Feb 2023 22:10:01 +0800
+Subject: [PATCH 1/3] Check the path length before coping into tableFile
+
+---
+ liblouis/compileTranslationTable.c | 16 +++++++++++++++-
+ 1 file changed, 15 insertions(+), 1 deletion(-)
+
+diff --git a/liblouis/compileTranslationTable.c b/liblouis/compileTranslationTable.c
+index 3c74929bcb..2da766e169 100644
+--- a/liblouis/compileTranslationTable.c
++++ b/liblouis/compileTranslationTable.c
+@@ -4539,7 +4539,9 @@ resolveSubtable(const char *table, const char *base, const char *searchPath) {
+ char *tableFile;
+ static struct stat info;
+
+- if (table == NULL || table[0] == '\0') return NULL;
++ if (table == NULL || table[0] == '\0' ||
++ strlen(table) >= MAXSTRING * sizeof(char) * 2)
++ return NULL;
+ tableFile = (char *)malloc(MAXSTRING * sizeof(char) * 2);
+
+ //
+@@ -4547,10 +4549,13 @@ resolveSubtable(const char *table, const char *base, const char *searchPath) {
+ //
+ if (base) {
+ int k;
++ if (strlen(base) >= MAXSTRING * sizeof(char) * 2) goto failure;
+ strcpy(tableFile, base);
+ k = (int)strlen(tableFile);
+ while (k >= 0 && tableFile[k] != '/' && tableFile[k] != '\\') k--;
+ tableFile[++k] = '\0';
++ if (strlen(tableFile) + strlen(table) >= MAXSTRING * sizeof(char) * 2)
++ goto failure;
+ strcat(tableFile, table);
+ if (stat(tableFile, &info) == 0 && !(info.st_mode & S_IFDIR)) {
+ _lou_logMessage(LOU_LOG_DEBUG, "found table %s", tableFile);
+@@ -4582,6 +4587,10 @@ resolveSubtable(const char *table, const char *base, const char *searchPath) {
+ last = (*cp == '\0');
+ *cp = '\0';
+ if (dir == cp) dir = ".";
++ if (strlen(dir) + strlen(table) + 1 >= MAXSTRING * sizeof(char) * 2) {
++ free(searchPath_copy);
++ goto failure;
++ }
+ sprintf(tableFile, "%s%c%s", dir, DIR_SEP, table);
+ if (stat(tableFile, &info) == 0 && !(info.st_mode & S_IFDIR)) {
+ _lou_logMessage(LOU_LOG_DEBUG, "found table %s", tableFile);
+@@ -4589,6 +4598,10 @@ resolveSubtable(const char *table, const char *base, const char *searchPath) {
+ return tableFile;
+ }
+ if (last) break;
++ if (strlen(dir) + strlen(table) + 16 >= MAXSTRING * sizeof(char) * 2) {
++ free(searchPath_copy);
++ goto failure;
++ }
+ sprintf(tableFile, "%s%c%s%c%s%c%s", dir, DIR_SEP, "liblouis", DIR_SEP,
+ "tables", DIR_SEP, table);
+ if (stat(tableFile, &info) == 0 && !(info.st_mode & S_IFDIR)) {
+@@ -4600,6 +4613,7 @@ resolveSubtable(const char *table, const char *base, const char *searchPath) {
+ }
+ free(searchPath_copy);
+ }
++failure:
+ free(tableFile);
+ return NULL;
+ }
+
+From 6f39e88745e8ec602ccc46042c305a6188f28b0a Mon Sep 17 00:00:00 2001
+From: Marsman1996 <lqliuyuwei@outlook.com>
+Date: Wed, 8 Feb 2023 22:40:52 +0800
+Subject: [PATCH 2/3] fix format: 1. define MAX_TABLEFILE_SIZE 2. parse the
+ magic number
+
+---
+ liblouis/compileTranslationTable.c | 18 +++++++++---------
+ 1 file changed, 9 insertions(+), 9 deletions(-)
+
+diff --git a/liblouis/compileTranslationTable.c b/liblouis/compileTranslationTable.c
+index 2da766e169..f334a38371 100644
+--- a/liblouis/compileTranslationTable.c
++++ b/liblouis/compileTranslationTable.c
+@@ -4539,23 +4539,21 @@ resolveSubtable(const char *table, const char *base, const char *searchPath) {
+ char *tableFile;
+ static struct stat info;
+
+- if (table == NULL || table[0] == '\0' ||
+- strlen(table) >= MAXSTRING * sizeof(char) * 2)
+- return NULL;
+- tableFile = (char *)malloc(MAXSTRING * sizeof(char) * 2);
++#define MAX_TABLEFILE_SIZE MAXSTRING * sizeof(char) * 2
++ if (table == NULL || table[0] == '\0') return NULL;
++ tableFile = (char *)malloc(MAX_TABLEFILE_SIZE);
+
+ //
+ // First try to resolve against base
+ //
+ if (base) {
+ int k;
+- if (strlen(base) >= MAXSTRING * sizeof(char) * 2) goto failure;
++ if (strlen(base) >= MAX_TABLEFILE_SIZE) goto failure;
+ strcpy(tableFile, base);
+ k = (int)strlen(tableFile);
+ while (k >= 0 && tableFile[k] != '/' && tableFile[k] != '\\') k--;
+ tableFile[++k] = '\0';
+- if (strlen(tableFile) + strlen(table) >= MAXSTRING * sizeof(char) * 2)
+- goto failure;
++ if (strlen(tableFile) + strlen(table) >= MAX_TABLEFILE_SIZE) goto failure;
+ strcat(tableFile, table);
+ if (stat(tableFile, &info) == 0 && !(info.st_mode & S_IFDIR)) {
+ _lou_logMessage(LOU_LOG_DEBUG, "found table %s", tableFile);
+@@ -4567,6 +4565,7 @@ resolveSubtable(const char *table, const char *base, const char *searchPath) {
+ // It could be an absolute path, or a path relative to the current working
+ // directory
+ //
++ if (strlen(table) >= MAX_TABLEFILE_SIZE) goto failure;
+ strcpy(tableFile, table);
+ if (stat(tableFile, &info) == 0 && !(info.st_mode & S_IFDIR)) {
+ _lou_logMessage(LOU_LOG_DEBUG, "found table %s", tableFile);
+@@ -4587,7 +4586,7 @@ resolveSubtable(const char *table, const char *base, const char *searchPath) {
+ last = (*cp == '\0');
+ *cp = '\0';
+ if (dir == cp) dir = ".";
+- if (strlen(dir) + strlen(table) + 1 >= MAXSTRING * sizeof(char) * 2) {
++ if (strlen(dir) + strlen(table) + 1 >= MAX_TABLEFILE_SIZE) {
+ free(searchPath_copy);
+ goto failure;
+ }
+@@ -4598,7 +4597,8 @@ resolveSubtable(const char *table, const char *base, const char *searchPath) {
+ return tableFile;
+ }
+ if (last) break;
+- if (strlen(dir) + strlen(table) + 16 >= MAXSTRING * sizeof(char) * 2) {
++ if (strlen(dir) + strlen("liblouis") + strlen("tables") + strlen(table) + 3 >=
++ MAX_TABLEFILE_SIZE) {
+ free(searchPath_copy);
+ goto failure;
+ }
+
+From 9f6cec9b63c1d9396fcc32fed77267a2815b648f Mon Sep 17 00:00:00 2001
+From: Marsman1996 <lqliuyuwei@outlook.com>
+Date: Wed, 8 Feb 2023 23:01:56 +0800
+Subject: [PATCH 3/3] add parentheses for define expression
+
+---
+ liblouis/compileTranslationTable.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/liblouis/compileTranslationTable.c b/liblouis/compileTranslationTable.c
+index f334a38371..3575792796 100644
+--- a/liblouis/compileTranslationTable.c
++++ b/liblouis/compileTranslationTable.c
+@@ -4539,7 +4539,7 @@ resolveSubtable(const char *table, const char *base, const char *searchPath) {
+ char *tableFile;
+ static struct stat info;
+
+-#define MAX_TABLEFILE_SIZE MAXSTRING * sizeof(char) * 2
++#define MAX_TABLEFILE_SIZE (MAXSTRING * sizeof(char) * 2)
+ if (table == NULL || table[0] == '\0') return NULL;
+ tableFile = (char *)malloc(MAX_TABLEFILE_SIZE);
+
diff --git a/liblouis.spec b/liblouis.spec
new file mode 100644
index 0000000..80bbb91
--- /dev/null
+++ b/liblouis.spec
@@ -0,0 +1,379 @@
+# Turn off the brp-python-bytecompile script
+%global __os_install_post %(echo '%{__os_install_post}' | sed -e 's!/usr/lib[^[:space:]]*/brp-python-bytecompile[[:space:]].*$!!g')
+
+Name: liblouis
+Version: 3.16.1
+Release: 5%{?dist}
+Summary: Braille translation and back-translation library
+
+License: LGPLv3+
+URL: http://liblouis.org
+Source0: https://github.com/%{name}/%{name}/releases/download/v%{version}/%{name}-%{version}.tar.gz
+# https://bugzilla.redhat.com/show_bug.cgi?id=2181151
+Patch0: liblouis-3.16.1-fix-CVE-2023-26767.patch
+# https://bugzilla.redhat.com/show_bug.cgi?id=2181151
+Patch1: liblouis-3.16.1-fix-CVE-2023-26768.patch
+# https://bugzilla.redhat.com/show_bug.cgi?id=2181149
+Patch2: liblouis-3.16.1-fix-CVE-2023-26769.patch
+
+BuildRequires: chrpath
+BuildRequires: gcc
+BuildRequires: help2man
+BuildRequires: libyaml-devel
+BuildRequires: texinfo
+BuildRequires: texinfo-tex
+BuildRequires: texlive-eurosym
+BuildRequires: texlive-xetex
+BuildRequires: python3-devel
+BuildRequires: make
+
+Provides: bundled(gnulib)
+
+%description
+Liblouis is an open-source braille translator and back-translator named in
+honor of Louis Braille. It features support for computer and literary braille,
+supports contracted and uncontracted translation for many languages and has
+support for hyphenation. New languages can easily be added through tables that
+support a rule- or dictionary based approach. Liblouis also supports math
+braille (Nemeth and Marburg).
+
+Liblouis has features to support screen-reading programs. This has led to its
+use in two open-source screen readers, NVDA and Orca. It is also used in some
+commercial assistive technology applications for example by ViewPlus.
+
+Liblouis is based on the translation routines in the BRLTTY screen reader for
+Linux. It has, however, gone far beyond these routines.
+
+%package devel
+Summary: Development files for %{name}
+Requires: %{name}%{?_isa} = %{version}-%{release}
+Requires: pkgconfig
+
+%description devel
+The %{name}-devel package contains libraries and header files for
+developing applications that use %{name}.
+
+
+%package utils
+Summary: Command-line utilities to test %{name}
+Requires: %{name}%{?_isa} = %{version}-%{release}
+License: GPLv3+
+
+%description utils
+Six test programs are provided as part of the liblouis package. They
+are intended for testing liblouis and for debugging tables. None of
+them is suitable for braille transcription.
+
+
+%package -n python3-louis
+Summary: Python 3 language bindings for %{name}
+BuildArch: noarch
+Requires: %{name} = %{version}-%{release}
+Obsoletes: %{name}-python3 < 2.6.2-3
+Provides: %{name}-python3 = %{version}-%{release}
+%{?python_provide:%python_provide python3-louis}
+
+%description -n python3-louis
+This package provides Python 3 language bindings for %{name}.
+
+
+%package doc
+Summary: Documentation for %{name}
+BuildArch: noarch
+Requires: %{name} = %{version}-%{release}
+
+%description doc
+This package provides the documentation for liblouis.
+
+
+%prep
+%autosetup -p1
+
+
+%build
+%configure --disable-static --enable-ucs4
+# parallel builds fail
+make
+cd doc; xetex %{name}.texi
+
+
+%check
+make check
+
+
+%install
+%make_install
+rm -f %{buildroot}/%{_infodir}/dir
+rm -f %{buildroot}/%{_libdir}/%{name}.la
+rm -rf %{buildroot}/%{_bindir}/lou_maketable*
+rm -rf %{buildroot}/%{_defaultdocdir}/%{name}/
+cd python/louis
+
+install -d %{buildroot}%{python3_sitelib}/louis
+install -pm 0644 __init__.py %{buildroot}%{python3_sitelib}/louis/
+%py_byte_compile %{__python3} %{buildroot}%{python3_sitelib}/louis/
+
+# Remove Rpaths from the executables. We must do that in the %%install section
+# because, otherwise, the test suite wouldn't build.
+for f in %{buildroot}%{_bindir}/lou_* ; do
+ chrpath --delete $f
+done
+
+
+%ldconfig_scriptlets
+
+
+%files
+%doc README AUTHORS NEWS ChangeLog TODO
+%license COPYING.LESSER
+%{_libdir}/%{name}.so.*
+%{_datadir}/%{name}/
+%{_infodir}/%{name}.info*
+
+%files devel
+%doc HACKING
+%{_includedir}/%{name}/
+%{_libdir}/pkgconfig/%{name}.pc
+%{_libdir}/%{name}.so
+
+%files utils
+%license COPYING
+%{_bindir}/lou_*
+%{_mandir}/man1/lou_*.1*
+
+%files -n python3-louis
+%{python3_sitelib}/louis/
+
+%files doc
+%doc doc/%{name}.{html,txt,pdf}
+
+
+%changelog
+* Mon Apr 03 2023 David King <amigadave@amigadave.com> - 3.16.1-5
+- Fix CVE-2023-26767 (#2181147)
+- Fix CVE-2023-26768 (#2181151)
+- Fix CVE-2023-26769 (#2181149)
+
+* Mon Aug 09 2021 Mohan Boddu <mboddu@redhat.com> - 3.16.1-4
+- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags
+ Related: rhbz#1991688
+
+* Fri Apr 16 2021 Mohan Boddu <mboddu@redhat.com> - 3.16.1-3
+- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937
+
+* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 3.16.1-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
+
+* Wed Dec 02 2020 Martin Gieseking <martin.gieseking@uos.de> - 3.16.1-1
+- Update to 3.16.1
+
+* Tue Dec 01 2020 Martin Gieseking <martin.gieseking@uos.de> - 3.16.0-1
+- Update to 3.16.0
+
+* Mon Sep 07 2020 Martin Gieseking <martin.gieseking@uos.de> - 3.15.0-2
+- Use make_install macro.
+
+* Tue Sep 01 2020 Martin Gieseking <martin.gieseking@uos.de> - 3.15.0-1
+- Updated to 3.15.0
+
+* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 3.12.0-4
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
+
+* Tue May 26 2020 Miro Hrončok <mhroncok@redhat.com> - 3.12.0-3
+- Rebuilt for Python 3.9
+
+* Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 3.12.0-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
+
+* Mon Jan 20 2020 Martin Gieseking <martin.gieseking@uos.de> - 3.12.0-1
+- Updated to 3.12.0.
+- Dropped date from Provides(gnulib).
+
+* Thu Oct 03 2019 Miro Hrončok <mhroncok@redhat.com> - 3.10.0-4
+- Rebuilt for Python 3.8.0rc1 (#1748018)
+
+* Mon Aug 19 2019 Miro Hrončok <mhroncok@redhat.com> - 3.10.0-3
+- Rebuilt for Python 3.8
+
+* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 3.10.0-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
+
+* Mon Jun 03 2019 Martin Gieseking <martin.gieseking@uos.de> - 3.10.0-1
+- Updated to 3.10.0.
+- Use %%license tag to add the file containing the license text.
+
+* Mon Mar 04 2019 Martin Gieseking <martin.gieseking@uos.de> - 3.9.0-1
+- Updated to 3.9.0.
+- Dropped GCC 9 related patch since changes have been applied upstream.
+
+* Fri Feb 08 2019 Martin Gieseking <martin.gieseking@uos.de> - 3.8.0-3
+- Fixed memory issue introduced with GCC 9 (changed semantics of block scope compound literals).
+
+* Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org> - 3.8.0-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
+
+* Mon Dec 10 2018 Martin Gieseking <martin.gieseking@uos.de> - 3.8.0-1
+- Updated to 3.8.0
+
+* Sat Oct 13 2018 Martin Gieseking <martin.gieseking@uos.de> - 3.7.0-2
+- Dropped Python 2 language bindings according to
+ https://fedoraproject.org/wiki/Changes/Mass_Python_2_Package_Removal
+- Dropped Python dependency from utils package because it doesn't contain Python scripts any longer
+- Added BR:libyaml-devel to enable YAML support
+
+* Wed Sep 26 2018 Martin Gieseking <martin.gieseking@uos.de> - 3.7.0-1
+- Updated to 3.7.0, fixes CVE-2018-17294 (BZ #1632834).
+
+* Tue Jul 31 2018 Florian Weimer <fweimer@redhat.com> - 3.6.0-4
+- Rebuild with fixed binutils
+
+* Sat Jul 28 2018 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 3.6.0-3
+- Replace obsolete scriptlets
+
+* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 3.6.0-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
+
+* Mon Jul 09 2018 Martin Gieseking <martin.gieseking@uos.de> - 3.6.0-1
+- Updated to 3.6.0.
+- Added patch to fix CVE-2018-12085.
+- Create liblouis.pdf with XeTeX rather than texi2pdf to prevent build errors.
+
+* Tue Jun 19 2018 Miro Hrončok <mhroncok@redhat.com> - 2.6.2-16
+- Rebuilt for Python 3.7
+
+* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 2.6.2-15
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
+
+* Tue Jan 09 2018 Iryna Shcherbina <ishcherb@redhat.com> - 2.6.2-14
+- Update Python 2 dependency declarations to new packaging standards
+ (See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3)
+
+* Sun Dec 17 2017 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 2.6.2-13
+- Python 2 binary package renamed to python2-louis
+ See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3
+
+* Fri Nov 03 2017 Martin Gieseking <martin.gieseking@uos.de> - 2.6.2-12
+- Applied security fixes from EL 7.4 (CVE-2014-8184, CVE-2017-13738, CVE-2017-13740, CVE-2017-13741, CVE-2017-13742, CVE-2017-13743, CVE-2017-13744)
+- Dropped redundant parts of the spec file.
+- Updated URL.
+
+* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.6.2-11
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
+
+* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.6.2-10
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
+
+* Wed Feb 15 2017 Igor Gnatenko <ignatenko@redhat.com> - 2.6.2-9
+- Rebuild for brp-python-bytecompile
+
+* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.6.2-8
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
+
+* Mon Dec 19 2016 Miro Hrončok <mhroncok@redhat.com> - 2.6.2-7
+- Rebuild for Python 3.6
+
+* Tue Jul 19 2016 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.6.2-6
+- https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages
+
+* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 2.6.2-5
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
+
+* Tue Nov 10 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.6.2-4
+- Rebuilt for https://fedoraproject.org/wiki/Changes/python3.5
+
+* Sun Aug 23 2015 Kalev Lember <klember@redhat.com> - 2.6.2-3
+- Rename liblouis-python3 to python3-louis, as per latest packaging guidelines
+- Fix the build with texinfo 6.0
+
+* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.6.2-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
+
+* Wed Apr 08 2015 Martin Gieseking <martin.gieseking@uos.de> 2.6.2-1
+- Updated to new upstream release.
+
+* Tue Sep 16 2014 Martin Gieseking <martin.gieseking@uos.de> 2.6.0-1
+- Updated to new upstream release.
+
+* Mon Aug 18 2014 Martin Gieseking <martin.gieseking@uos.de> 2.5.4-5
+- Fixed check for ELF binaries to prevent chrpath from failing.
+
+* Sun Aug 17 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.5.4-4
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
+
+* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.5.4-3
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
+
+* Tue May 27 2014 Kalev Lember <kalevlember@gmail.com> - 2.5.4-2
+- Rebuilt for https://fedoraproject.org/wiki/Changes/Python_3.4
+
+* Tue May 13 2014 Martin Gieseking <martin.gieseking@uos.de> 2.5.4-1
+- Updated to new upstream release.
+- Activated the bundled test suite which has been adapted to work correctly with the recent release.
+- Remove Rpaths from the utility programs.
+- Updated the description according to the upstream website.
+
+* Sat Aug 03 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.5.3-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
+
+* Mon Jul 22 2013 Martin Gieseking <martin.gieseking@uos.de> - 2.5.3-1
+- Update to new upstream release.
+
+* Thu Jul 18 2013 Matthias Clasen <mclasen@redhat.com> - 2.5.2-7
+- Tighten dependencies between subpackages (pointed out by rpmdiff)
+
+* Tue Apr 16 2013 Martin Gieseking <martin.gieseking@uos.de> 2.5.2-6
+- Restrict exclusion of Python 3 packages to RHEL <= 7.
+
+* Mon Apr 15 2013 Martin Gieseking <martin.gieseking@uos.de> 2.5.2-5
+- Restrict exclusion of Python 3 packages to RHEL < 7.
+
+* Mon Apr 15 2013 Rui Matos <rmatos@redhat.com> - 2.5.2-4
+- Don't depend on python3 in RHEL.
+
+* Tue Feb 26 2013 Martin Gieseking <martin.gieseking@uos.de> 2.5.2-3
+- Added Python 3 language bindings.
+
+* Fri Feb 22 2013 Martin Gieseking <martin.gieseking@uos.de> 2.5.2-2
+- Moved documentation to doc subpackage.
+
+* Wed Feb 06 2013 Martin Gieseking <martin.gieseking@uos.de> 2.5.2-1
+- Updated to new upstream release.
+
+* Thu Jul 19 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.4.1-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
+
+* Sat Mar 10 2012 Martin Gieseking <martin.gieseking@uos.de> 2.4.1-1
+- Updated to upstream release 2.4.1.
+- Made the devel package's dependency on the base package arch specific.
+
+* Fri Jan 13 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.4.0-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
+
+* Mon Dec 12 2011 Martin Gieseking <martin.gieseking@uos.de> 2.4.0-1
+- Updated to upstream release 2.4.0.
+
+* Fri May 20 2011 Martin Gieseking <martin.gieseking@uos.de> 2.3.0-1
+- Updated to upstream release 2.3.0.
+
+* Mon Feb 28 2011 Martin Gieseking <martin.gieseking@uos.de> - 2.2.0-2
+- Added release date of bundled gnulib to Provides.
+- Use %%{name} macro consistently.
+
+* Tue Feb 15 2011 Martin Gieseking <martin.gieseking@uos.de> - 2.2.0-1
+- Updated to upstream release 2.2.0.
+- Added Python bindings.
+
+* Mon Jul 5 2010 Lars Bjørndal <lars.bjorndal@broadpark.no> - 1.9.0-2
+- In advice from Martin Gieseking: Removed some garbage from the file section, and added a PDF version of the liblouis documentation. See <https://bugzilla.redhat.com/show_bug.cgi?id=597597>.
+
+* Wed Jun 30 2010 Lars Bjørndal <lars.bjorndal@broadpark.no> - 1.9.0-1
+- A new version was up to day. At the same time, fixed a minor spec issue according to a comment from Martin Gieseking, see <https://bugzilla.redhat.com/show_bug.cgi?id=597597>.
+
+* Sun Jun 20 2010 Lars Bjørndal <lars.bjorndal@broadpark.no> - 1.8.0-3
+- Fixed some small problems, among them wrong destination directory for documentation. See <https://bugzilla.redhat.com/show_bug.cgi?id=597597> for further details.
+
+* Thu Jun 17 2010 Lars Bjørndal <lars.bjorndal@broadpark.no> 1.8.0-2
+- Created the tools sub package and did a lot of clean ups, see <https://bugzilla.redhat.com/show_bug.cgi?id=597597>.
+
+* Sat May 29 2010 Lars Bjørndal <lars.bjorndal@broadpark.no> 1.8.0-1
+- Create the RPM for Fedora.
diff --git a/sources b/sources
new file mode 100644
index 0000000..6a92d56
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+4fb7a64293d6578d07da4f49135e3a0b liblouis-3.16.1.tar.gz