Compare commits
No commits in common. "c8" and "c10s" have entirely different histories.
1
.fmf/version
Normal file
1
.fmf/version
Normal file
@ -0,0 +1 @@
|
||||
1
|
2
.gitignore
vendored
2
.gitignore
vendored
@ -1 +1 @@
|
||||
SOURCES/v1.6.2.tar.gz
|
||||
/hunspell-1.7.2.tar.gz
|
||||
|
@ -1 +0,0 @@
|
||||
6572d1459deafd358b886d4482c179b715bc92e8 SOURCES/v1.6.2.tar.gz
|
@ -0,0 +1,77 @@
|
||||
From e2fe9f86e1769b440972971240e9b8fb1cd53b97 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
|
||||
Date: Fri, 6 Jan 2023 16:20:45 +0000
|
||||
Subject: [PATCH] Resolves: rhbz#2158548 allow longer words for hunspell-ko
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
https://github.com/hunspell/hunspell/issues/903
|
||||
|
||||
A problem since the sanity check added in:
|
||||
|
||||
commit 05e44e069e4cfaa9ce1264bf13f23fc9abd7ed05
|
||||
Author: Caolán McNamara <caolanm@redhat.com>
|
||||
Date: Thu Sep 1 13:46:40 2022 +0100
|
||||
|
||||
Check word limit (#813)
|
||||
|
||||
* check against hentry blen max
|
||||
---
|
||||
src/hunspell/hashmgr.cxx | 6 +++---
|
||||
src/hunspell/htypes.hxx | 4 ++--
|
||||
tests/korean.dic | 3 ++-
|
||||
3 files changed, 7 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/src/hunspell/hashmgr.cxx b/src/hunspell/hashmgr.cxx
|
||||
index 100916d..14201e9 100644
|
||||
--- a/src/hunspell/hashmgr.cxx
|
||||
+++ b/src/hunspell/hashmgr.cxx
|
||||
@@ -209,7 +209,7 @@ int HashMgr::add_word(const std::string& in_word,
|
||||
}
|
||||
|
||||
// limit of hp->blen
|
||||
- if (word->size() > std::numeric_limits<unsigned char>::max()) {
|
||||
+ if (word->size() > std::numeric_limits<unsigned short>::max()) {
|
||||
HUNSPELL_WARNING(stderr, "error: word len %ld is over max limit\n", word->size());
|
||||
delete desc_copy;
|
||||
delete word_copy;
|
||||
@@ -235,8 +235,8 @@ int HashMgr::add_word(const std::string& in_word,
|
||||
|
||||
int i = hash(hpw, word->size());
|
||||
|
||||
- hp->blen = (unsigned char)word->size();
|
||||
- hp->clen = (unsigned char)wcl;
|
||||
+ hp->blen = (unsigned short)word->size();
|
||||
+ hp->clen = (unsigned short)wcl;
|
||||
hp->alen = (short)al;
|
||||
hp->astr = aff;
|
||||
hp->next = NULL;
|
||||
diff --git a/src/hunspell/htypes.hxx b/src/hunspell/htypes.hxx
|
||||
index 44366b1..2b896fb 100644
|
||||
--- a/src/hunspell/htypes.hxx
|
||||
+++ b/src/hunspell/htypes.hxx
|
||||
@@ -62,8 +62,8 @@
|
||||
#endif
|
||||
|
||||
struct hentry {
|
||||
- unsigned char blen; // word length in bytes
|
||||
- unsigned char clen; // word length in characters (different for UTF-8 enc.)
|
||||
+ unsigned short blen; // word length in bytes
|
||||
+ unsigned short clen; // word length in characters (different for UTF-8 enc.)
|
||||
short alen; // length of affix flag vector
|
||||
unsigned short* astr; // affix flag vector
|
||||
struct hentry* next; // next word with same hash code
|
||||
diff --git a/tests/korean.dic b/tests/korean.dic
|
||||
index 95cb450..d76ea05 100644
|
||||
--- a/tests/korean.dic
|
||||
+++ b/tests/korean.dic
|
||||
@@ -1,3 +1,4 @@
|
||||
-2
|
||||
+3
|
||||
들어오세요
|
||||
안녕하세요
|
||||
+김수한무거북이와두루미삼천갑자동방삭치치카포사리사리세ᅡ워리워리세브리캉무드셀ᅡ구름위허ᅵ케ᅵᆫᅦ담벼락서생원에ᄀ양
|
||||
--
|
||||
2.38.1
|
||||
|
6
gating.yaml
Normal file
6
gating.yaml
Normal file
@ -0,0 +1,6 @@
|
||||
--- !Policy
|
||||
product_versions:
|
||||
- rhel-10
|
||||
decision_context: osci_compose_gate
|
||||
rules:
|
||||
- !PassingTestCaseRule {test_case_name: osci.brew-build.tier0.functional}
|
@ -2,36 +2,49 @@
|
||||
|
||||
Name: hunspell
|
||||
Summary: A spell checker and morphological analyzer library
|
||||
Version: 1.6.2
|
||||
Release: 1%{?dist}
|
||||
Source: https://github.com/hunspell/hunspell/archive/v%{version}.tar.gz
|
||||
Group: System Environment/Libraries
|
||||
Version: 1.7.2
|
||||
Release: 9%{?dist}
|
||||
Source: https://github.com/hunspell/hunspell/releases/download/v%{version}/hunspell-%{version}.tar.gz
|
||||
URL: https://github.com/hunspell/hunspell
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
|
||||
License: LGPLv2+ or GPLv2+ or MPLv1.1
|
||||
BuildRequires: autoconf, automake, libtool, ncurses-devel, gettext
|
||||
License: LGPL-2.1-or-later OR GPL-2.0-or-later OR MPL-1.1
|
||||
BuildRequires: gcc-c++
|
||||
BuildRequires: autoconf, automake, libtool, ncurses-devel, gettext-devel
|
||||
BuildRequires: perl-generators
|
||||
%ifarch %{ix86} x86_64
|
||||
BuildRequires: valgrind
|
||||
%endif
|
||||
%if %{double_profiling_build}
|
||||
BuildRequires: words
|
||||
%endif
|
||||
BuildRequires: make
|
||||
Requires: hunspell-en-US
|
||||
Requires: hunspell-filesystem = %{version}-%{release}
|
||||
|
||||
Patch0: 0001-Resolves-rhbz-2158548-allow-longer-words-for-hunspel.patch
|
||||
|
||||
%description
|
||||
Hunspell is a spell checker and morphological analyzer library and program
|
||||
designed for languages with rich morphology and complex word compounding or
|
||||
character encoding. Hunspell interfaces: Ispell-like terminal interface using
|
||||
Hunspell is a spell checker and morphological analyzer library and program
|
||||
designed for languages with rich morphology and complex word compounding or
|
||||
character encoding. Hunspell interfaces: Ispell-like terminal interface using
|
||||
Curses library, Ispell pipe interface, LibreOffice UNO module.
|
||||
|
||||
%package devel
|
||||
Requires: hunspell = %{version}-%{release}, pkgconfig
|
||||
Summary: Files for developing with hunspell
|
||||
Group: Development/Libraries
|
||||
|
||||
%description devel
|
||||
Includes and definitions for developing with hunspell
|
||||
|
||||
%package filesystem
|
||||
Summary: Hunspell filesystem layout
|
||||
|
||||
%description filesystem
|
||||
Provides a directory in which to store dictionaries provided by other
|
||||
packages.
|
||||
|
||||
%prep
|
||||
%setup -q
|
||||
%patch0 -p1 -b .rhbz2158548
|
||||
|
||||
%build
|
||||
autoreconf -vfi
|
||||
@ -46,7 +59,7 @@ configureflags="--disable-rpath --disable-static --with-ui --with-readline"
|
||||
|
||||
%if !%{double_profiling_build}
|
||||
%configure $configureflags
|
||||
make %{?_smp_mflags}
|
||||
%make_build
|
||||
%else
|
||||
#Generate a word list to use for profiling, take half of it to ensure
|
||||
#that the original word list is then considered to contain correctly
|
||||
@ -56,7 +69,7 @@ head -n $((`cat /usr/share/dict/words | wc -l`/2)) /usr/share/dict/words |\
|
||||
|
||||
#generate profiling
|
||||
%{profilegenerate} %configure $configureflags
|
||||
make %{?_smp_mflags}
|
||||
%make_build
|
||||
./src/tools/affixcompress words > /dev/null 2>&1
|
||||
./src/tools/hunspell -d words -l /usr/share/dict/words > /dev/null
|
||||
make check
|
||||
@ -64,39 +77,34 @@ make distclean
|
||||
|
||||
#use profiling
|
||||
%{profileuse} %configure $configureflags
|
||||
make %{?_smp_mflags}
|
||||
%make_build
|
||||
%endif
|
||||
cd po && make %{?_smp_mflags} update-gmo && cd ..
|
||||
|
||||
%check
|
||||
%ifarch %{ix86} x86_64
|
||||
VALGRIND=memcheck make check
|
||||
make check
|
||||
%endif
|
||||
|
||||
%install
|
||||
rm -rf $RPM_BUILD_ROOT
|
||||
make DESTDIR=$RPM_BUILD_ROOT install
|
||||
%make_install
|
||||
rm -f $RPM_BUILD_ROOT/%{_libdir}/*.a
|
||||
rm -f $RPM_BUILD_ROOT/%{_libdir}/*.la
|
||||
mkdir $RPM_BUILD_ROOT/%{_datadir}/hunspell
|
||||
mkdir $RPM_BUILD_ROOT/%{_datadir}/myspell
|
||||
%find_lang %{name}
|
||||
|
||||
%clean
|
||||
rm -rf $RPM_BUILD_ROOT
|
||||
|
||||
%post -p /sbin/ldconfig
|
||||
|
||||
%postun -p /sbin/ldconfig
|
||||
%ldconfig_scriptlets
|
||||
|
||||
%files -f %{name}.lang
|
||||
%defattr(-,root,root,-)
|
||||
%doc README README.myspell COPYING COPYING.LESSER COPYING.MPL AUTHORS AUTHORS.myspell license.hunspell license.myspell THANKS
|
||||
%doc README COPYING COPYING.LESSER COPYING.MPL AUTHORS license.hunspell license.myspell THANKS
|
||||
%{_libdir}/*.so.*
|
||||
%{_datadir}/myspell
|
||||
%{_bindir}/hunspell
|
||||
%{_mandir}/man1/hunspell.1.gz
|
||||
%lang(hu) %{_mandir}/hu/man1/hunspell.1.gz
|
||||
|
||||
%files devel
|
||||
%defattr(-,root,root,-)
|
||||
%{_includedir}/%{name}
|
||||
%{_libdir}/*.so
|
||||
%{_bindir}/affixcompress
|
||||
@ -116,7 +124,120 @@ rm -rf $RPM_BUILD_ROOT
|
||||
%{_mandir}/man3/hunspell.3.gz
|
||||
%{_mandir}/man5/hunspell.5.gz
|
||||
|
||||
%files filesystem
|
||||
%{_datadir}/hunspell
|
||||
%{_datadir}/myspell
|
||||
|
||||
%changelog
|
||||
* Tue Oct 29 2024 Troy Dawson <tdawson@redhat.com> - 1.7.2-9
|
||||
- Bump release for October 2024 mass rebuild:
|
||||
Resolves: RHEL-64018
|
||||
|
||||
* Mon Jun 24 2024 Troy Dawson <tdawson@redhat.com> - 1.7.2-8
|
||||
- Bump release for June 2024 mass rebuild
|
||||
|
||||
* Wed Jan 24 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1.7.2-7
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
|
||||
|
||||
* Sat Jan 20 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1.7.2-6
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
|
||||
|
||||
* Thu Jul 20 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1.7.2-5
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
|
||||
|
||||
* Wed Feb 22 2023 Caolán McNamara <caolanm@redhat.com> - 1.7.2-4
|
||||
- migrated to SPDX license
|
||||
|
||||
* Thu Jan 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1.7.2-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
|
||||
|
||||
* Fri Jan 06 2023 Caolán McNamara <caolanm@redhat.com> - 1.7.2-2
|
||||
- Resolves: rhbz#2158548 get hunspell-ko working again
|
||||
|
||||
* Fri Dec 30 2022 Caolán McNamara <caolanm@redhat.com> - 1.7.2-1
|
||||
- Resolves: rhbz#2157049 latest release
|
||||
|
||||
* Mon Aug 22 2022 Caolán McNamara <caolanm@redhat.com> - 1.7.1-1
|
||||
- latest release
|
||||
|
||||
* Tue Aug 02 2022 Caolán McNamara <caolanm@redhat.com> - 1.7.0-21
|
||||
- Resolves: rhbz#2113444 FTBFS
|
||||
|
||||
* Thu Jul 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1.7.0-20
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
|
||||
|
||||
* Wed Mar 16 2022 Jens Petersen <petersen@redhat.com> - 1.7.0-19
|
||||
- rework the new hunspell dictionary directory (#2064189)
|
||||
- drop the myspell/ compatibility symlink
|
||||
- keep myspell/ as directory and also the new hunspell/ dir
|
||||
- because of this drop the duplicate directory patch for #2060751
|
||||
- filesystem scriptlets are no more
|
||||
|
||||
* Mon Mar 07 2022 Caolán McNamara <caolanm@redhat.com> - 1.7.0-18
|
||||
- Resolves: rhbz#2060751 - “hunspell -D” lists dictionaries twice
|
||||
|
||||
* Thu Feb 10 2022 Jens Petersen <petersen@redhat.com> - 1.7.0-17
|
||||
- revert post script from lua back to shell to unbreak rpm-ostree compose
|
||||
|
||||
* Mon Feb 7 2022 Jens Petersen <petersen@redhat.com> - 1.7.0-16
|
||||
- pretrans and post scriptlets should be for filesystem!
|
||||
(fixes #2051360 regression reported by Mike Fabian)
|
||||
|
||||
* Wed Jan 26 2022 Jens Petersen <petersen@redhat.com> - 1.7.0-15
|
||||
- improve the filesystem pretrans and post scripts:
|
||||
- pretrans now checks if /usr/share/hunspell exists first
|
||||
- post checks that /usr/share/myspell does not exist
|
||||
|
||||
* Wed Jan 26 2022 Jens Petersen <petersen@redhat.com> - 1.7.0-14
|
||||
- requires coreutils for post script (#2045568)
|
||||
|
||||
* Fri Jan 21 2022 Vishal Vijayraghavan <vishalvvr@fedoraproject.org> - 1.7.0-13
|
||||
- Rename install dir from myspell to hunspell & create symlink myspell
|
||||
- https://fedoraproject.org/wiki/Changes/Hunspell_dictionary_dir_change
|
||||
|
||||
* Thu Jan 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1.7.0-12
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
|
||||
|
||||
* Thu Jul 22 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1.7.0-11
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
|
||||
|
||||
* Thu Mar 25 2021 Caolán McNamara <caolanm@redhat.com> - 1.7.0-10
|
||||
- Resolves: rhbz#1943087 require gettext-devel for autopoint
|
||||
|
||||
* Wed Feb 03 2021 Peter Oliver <rpm@mavit.org.uk> - 1.7.0-9
|
||||
- Accomodate Nuspell by putting the dictionary dir in its own subpackage.
|
||||
|
||||
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1.7.0-8
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
|
||||
|
||||
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.7.0-7
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
|
||||
|
||||
* Tue Jul 14 2020 Tom Stellard <tstellar@redhat.com> - 1.7.0-6
|
||||
- Use make macros
|
||||
- https://fedoraproject.org/wiki/Changes/UseMakeBuildInstallMacro
|
||||
|
||||
* Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.7.0-5
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
|
||||
|
||||
* Tue Nov 12 2019 Caolán McNamara <caolanm@redhat.com> - 1.7.0-4
|
||||
- Resolves: rhbz#1771027 CVE-2019-16707
|
||||
|
||||
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.7.0-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
|
||||
|
||||
* Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.7.0-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
|
||||
|
||||
* Tue Nov 13 2018 Caolán McNamara <caolanm@redhat.com> - 1.7.0-1
|
||||
- latest release
|
||||
|
||||
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.6.2-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
|
||||
|
||||
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.6.2-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
|
||||
|
||||
* Fri Nov 24 2017 Caolán McNamara <caolanm@redhat.com> - 1.6.2-1
|
||||
- latest release
|
||||
|
||||
@ -314,7 +435,7 @@ rm -rf $RPM_BUILD_ROOT
|
||||
- sort as per "C" locale
|
||||
|
||||
* Fri Oct 17 2008 Caolán McNamara <caolanm@redhat.com> - 1.2.7-4
|
||||
- make wordlist2hunspell remove blank lines
|
||||
- make wordlist2hunspell remove blank lines
|
||||
|
||||
* Mon Sep 15 2008 Caolán McNamara <caolanm@redhat.com> - 1.2.7-3
|
||||
- Workaround rhbz#462184 uniq/sort problems with viramas
|
5
plans/hunspell.fmf
Normal file
5
plans/hunspell.fmf
Normal file
@ -0,0 +1,5 @@
|
||||
summary: Basic smoke test
|
||||
discover:
|
||||
how: fmf
|
||||
execute:
|
||||
how: tmt
|
1
sources
Normal file
1
sources
Normal file
@ -0,0 +1 @@
|
||||
SHA512 (hunspell-1.7.2.tar.gz) = 49b3619bff12e111b6cc3f3d9463612b116f9b2a976896718e65f5bc4a83ece11100aaf56a4d18127ea39107446c495e12affe5ff3c9159ae8aba70e512f44ac
|
4
tests/data.txt
Normal file
4
tests/data.txt
Normal file
@ -0,0 +1,4 @@
|
||||
Cloud
|
||||
Linux
|
||||
Fedora
|
||||
Fedoraaa
|
5
tests/main.fmf
Normal file
5
tests/main.fmf
Normal file
@ -0,0 +1,5 @@
|
||||
require:
|
||||
- hunspell
|
||||
- hunspell-de
|
||||
test: bash ./run_tests.sh
|
||||
framework: shell
|
58
tests/run_tests.sh
Normal file
58
tests/run_tests.sh
Normal file
@ -0,0 +1,58 @@
|
||||
#!/bin/bash
|
||||
|
||||
check_pkg() {
|
||||
local pkg=$1
|
||||
if rpm -q $pkg
|
||||
then
|
||||
echo "PASS"
|
||||
else
|
||||
echo "FAIL"
|
||||
fi
|
||||
}
|
||||
|
||||
check_dict() {
|
||||
if [ -f "/usr/share/hunspell/de_DE.dic" ]
|
||||
then
|
||||
echo "PASS"
|
||||
else
|
||||
echo "FAIL"
|
||||
fi
|
||||
}
|
||||
|
||||
check_misspelled_word() {
|
||||
VAR1="Fedoraaa"
|
||||
VAR2=$(hunspell -l data.txt)
|
||||
if [ "$VAR1" = "$VAR2" ]; then
|
||||
echo "PASS"
|
||||
else
|
||||
echo "FAIL"
|
||||
fi
|
||||
}
|
||||
|
||||
check_misspelled_line() {
|
||||
VAR1="Fedoraaa"
|
||||
VAR2=$(hunspell -L data.txt)
|
||||
if [ "$VAR1" = "$VAR2" ]; then
|
||||
echo "PASS"
|
||||
else
|
||||
echo "FAIL"
|
||||
fi
|
||||
}
|
||||
|
||||
check_correct_word() {
|
||||
VAR1="Cloud\nLinux\nFedora"
|
||||
VAR1=$(echo -e "$VAR1")
|
||||
VAR2=$(hunspell -G data.txt)
|
||||
if [ "$VAR1" = "$VAR2" ]; then
|
||||
echo "PASS"
|
||||
else
|
||||
echo "FAIL"
|
||||
fi
|
||||
}
|
||||
|
||||
check_pkg "hunspell"
|
||||
check_pkg "hunspell-de"
|
||||
check_dict
|
||||
check_misspelled_word
|
||||
check_misspelled_line
|
||||
check_correct_word
|
Loading…
Reference in New Issue
Block a user