Handle missing language error during spellcheck

Previously, PyEnchant raised a DictNotFoundError from the SpellChecker
constructor in case it didn't find the given language.  This was
recently[1] changed/fixed upstream to actually handle that error in the
constructor and then raise a DefaultLanguageNotFoundError instead.
Adapt our code to it but also keep handling the previous error, just in
case.

Note that this was never fixed in rpmlint upstream since that has moved
on and rewritten quite a bit of the codebase, fixing this traceback in
the process, hence a downstream-only patch here.

[1] commit 5fc8ecc458b7b84d88ce629f74905549790141ee at:
    https://github.com/pyenchant/pyenchant/

Resolves: #1929210
This commit is contained in:
Michal Domonkos 2022-01-10 16:45:32 +01:00
parent 2d27f76ec0
commit 466781fc37
2 changed files with 18 additions and 0 deletions

View File

@ -0,0 +1,13 @@
diff -up rpmlint-rpmlint-1.11/TagsCheck.py.orig rpmlint-rpmlint-1.11/TagsCheck.py
--- rpmlint-rpmlint-1.11/TagsCheck.py.orig 2022-01-11 16:49:18.424026182 +0100
+++ rpmlint-rpmlint-1.11/TagsCheck.py 2022-01-11 16:50:05.774665734 +0100
@@ -463,7 +463,8 @@ def spell_check(pkg, str, fmt, lang, ign
lang, filters=[enchant.tokenize.EmailFilter,
enchant.tokenize.URLFilter,
enchant.tokenize.WikiWordFilter])
- except enchant.DictNotFoundError:
+ except (enchant.errors.DefaultLanguageNotFoundError,
+ enchant.DictNotFoundError):
printInfo(pkg, 'enchant-dictionary-not-found', lang)
pass
_enchant_checkers[lang] = checker

View File

@ -40,6 +40,9 @@ Patch213: rpmlint-1.11-libc-warnings.patch
# See https://fedoraproject.org/wiki/Changes/PythonMacroError
Patch214: rpmlint-1.11-no-python-macro.patch
# Downstream-only patches
Patch215: rpmlint-1.11-spellcheck-handle-missing-language-error.patch
BuildArch: noarch
BuildRequires: make
%if %{with python3}
@ -103,6 +106,7 @@ and source packages as well as spec files can be checked.
%patch212 -p1
%patch213 -p1
%patch214 -p1
%patch215 -p1
sed -i 's|1.10|%{version}|g' Makefile
@ -156,6 +160,7 @@ make check PYTHON=%{python} PYTEST=%{pytest} FLAKE8=%{flake8}
%changelog
* Mon Jan 10 2022 Michal Domonkos <mdomonko@redhat.com> - 1.11-18
- Enable bash-completion (#1999654)
- Handle missing language error during spellcheck (#1929210)
* Tue Aug 10 2021 Mohan Boddu <mboddu@redhat.com> - 1.11-17
- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags