diff --git a/.fmf/version b/.fmf/version deleted file mode 100644 index d00491f..0000000 --- a/.fmf/version +++ /dev/null @@ -1 +0,0 @@ -1 diff --git a/.gitignore b/.gitignore index 088efb4..3b30494 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -/hunspell-1.7.2.tar.gz +/v1.4.1.tar.gz diff --git a/0001-Fix-possible-division-with-zero-in-hashmgr-issue-154.patch b/0001-Fix-possible-division-with-zero-in-hashmgr-issue-154.patch new file mode 100644 index 0000000..fb620b5 --- /dev/null +++ b/0001-Fix-possible-division-with-zero-in-hashmgr-issue-154.patch @@ -0,0 +1,35 @@ +From d1c7de132e45a57dbc45818935bd29792fd4772b Mon Sep 17 00:00:00 2001 +From: Dimitrij Mijoski +Date: Wed, 16 Nov 2016 02:29:35 +0100 +Subject: [PATCH] Fix possible division with zero in hashmgr, issue #154 and + #245 + +--- + src/hunspell/hashmgr.cxx | 10 ++++++---- + 1 file changed, 6 insertions(+), 4 deletions(-) + +diff --git a/src/hunspell/hashmgr.cxx b/src/hunspell/hashmgr.cxx +index 072bc1a..19d33c8 100644 +--- a/src/hunspell/hashmgr.cxx ++++ b/src/hunspell/hashmgr.cxx +@@ -104,11 +104,13 @@ HashMgr::HashMgr(const char* tpath, const char* apath, const char* key) + if (ec) { + /* error condition - what should we do here */ + HUNSPELL_WARNING(stderr, "Hash Manager Error : %d\n", ec); +- if (tableptr) { +- free(tableptr); +- tableptr = NULL; ++ free(tableptr); ++ //keep tablesize to 1 to fix possible division with zero ++ tablesize = 1; ++ tableptr = (struct hentry**)calloc(tablesize, sizeof(struct hentry*)); ++ if (!tableptr) { ++ tablesize = 0; + } +- tablesize = 0; + } + } + +-- +2.9.3 + diff --git a/0001-Resolves-rhbz-1261421-crash-on-mashing-hangul-korean.patch b/0001-Resolves-rhbz-1261421-crash-on-mashing-hangul-korean.patch new file mode 100644 index 0000000..e695fe9 --- /dev/null +++ b/0001-Resolves-rhbz-1261421-crash-on-mashing-hangul-korean.patch @@ -0,0 +1,191 @@ +From 97e079a23d459aeb6e64435350d7710c90dbca85 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= +Date: Fri, 11 Sep 2015 13:28:52 +0100 +Subject: [PATCH] Resolves: rhbz#1261421 crash on mashing hangul korean + keyboard + +--- + src/hunspell/hunspell.cxx | 69 +++++++++++++++++++++++++++++++++++------------ + src/hunspell/hunspell.hxx | 4 ++- + src/hunspell/replist.cxx | 18 ++++++++++--- + src/hunspell/replist.hxx | 2 ++ + src/tools/hunspell.cxx | 2 +- + 6 files changed, 78 insertions(+), 24 deletions(-) + +diff --git a/src/hunspell/hunspell.cxx b/src/hunspell/hunspell.cxx +index 7fae54b..d8ef357 100644 +--- a/src/hunspell/hunspell.cxx ++++ b/src/hunspell/hunspell.cxx +@@ -12,6 +12,7 @@ + #endif + #include "csutil.hxx" + ++#include + #include + + Hunspell::Hunspell(const char * affpath, const char * dpath, const char * key) +@@ -349,8 +350,13 @@ int Hunspell::spell(const char * word, int * info, char ** root) + + // input conversion + RepList * rl = (pAMgr) ? pAMgr->get_iconvtable() : NULL; +- if (rl && rl->conv(word, wspace)) wl = cleanword2(cw, wspace, unicw, &nc, &captype, &abbv); +- else wl = cleanword2(cw, word, unicw, &nc, &captype, &abbv); ++ int convstatus = rl ? rl->conv(word, wspace, MAXWORDUTF8LEN) : 0; ++ if (convstatus < 0) ++ return 0; ++ else if (convstatus > 0) ++ wl = cleanword2(cw, wspace, unicw, &nc, &captype, &abbv); ++ else ++ wl = cleanword2(cw, word, unicw, &nc, &captype, &abbv); + + if (wl == 0 || maxdic == 0) return 1; + if (root) *root = NULL; +@@ -702,8 +708,13 @@ int Hunspell::suggest(char*** slst, const char * word) + + // input conversion + RepList * rl = (pAMgr) ? pAMgr->get_iconvtable() : NULL; +- if (rl && rl->conv(word, wspace)) wl = cleanword2(cw, wspace, unicw, &nc, &captype, &abbv); +- else wl = cleanword2(cw, word, unicw, &nc, &captype, &abbv); ++ int convstatus = rl ? rl->conv(word, wspace, MAXWORDUTF8LEN) : 0; ++ if (convstatus < 0) ++ return 0; ++ else if (convstatus > 0) ++ wl = cleanword2(cw, wspace, unicw, &nc, &captype, &abbv); ++ else ++ wl = cleanword2(cw, word, unicw, &nc, &captype, &abbv); + + if (wl == 0) return 0; + int ns = 0; +@@ -1020,7 +1031,7 @@ int Hunspell::suggest(char*** slst, const char * word) + // output conversion + rl = (pAMgr) ? pAMgr->get_oconvtable() : NULL; + for (int j = 0; rl && j < ns; j++) { +- if (rl->conv((*slst)[j], wspace)) { ++ if (rl->conv((*slst)[j], wspace, MAXWORDUTF8LEN) > 0) { + free((*slst)[j]); + (*slst)[j] = mystrdup(wspace); + } +@@ -1395,8 +1406,13 @@ int Hunspell::analyze(char*** slst, const char * word) + + // input conversion + RepList * rl = (pAMgr) ? pAMgr->get_iconvtable() : NULL; +- if (rl && rl->conv(word, wspace)) wl = cleanword2(cw, wspace, unicw, &nc, &captype, &abbv); +- else wl = cleanword2(cw, word, unicw, &nc, &captype, &abbv); ++ int convstatus = rl ? rl->conv(word, wspace, MAXWORDUTF8LEN) : 0; ++ if (convstatus < 0) ++ return 0; ++ else if (convstatus > 0) ++ wl = cleanword2(cw, wspace, unicw, &nc, &captype, &abbv); ++ else ++ wl = cleanword2(cw, word, unicw, &nc, &captype, &abbv); + + if (wl == 0) { + if (abbv) { +@@ -1684,12 +1700,16 @@ int Hunspell::get_langnum() const + return langnum; + } + +-int Hunspell::input_conv(const char * word, char * dest) ++int Hunspell::input_conv(const char * word, char * dest, size_t destsize) + { + RepList * rl = (pAMgr) ? pAMgr->get_iconvtable() : NULL; +- return (rl && rl->conv(word, dest)); ++ return (rl && rl->conv(word, dest, destsize) > 0); + } + ++int Hunspell::input_conv(const char * word, char * dest) ++{ ++ return input_conv(word, dest, std::numeric_limits::max()); ++} + + // return the beginning of the element (attr == NULL) or the attribute + const char * Hunspell::get_xml_pos(const char * s, const char * attr) +diff --git a/src/hunspell/hunspell.hxx b/src/hunspell/hunspell.hxx +index e62f0dd..0b5ad2e 100644 +--- a/src/hunspell/hunspell.hxx ++++ b/src/hunspell/hunspell.hxx +@@ -226,7 +226,9 @@ public: + + /* need for putdic */ + int input_conv(const char * word, char * dest); +- ++ // ^^-deprecated, use this-vv" ++ int input_conv(const char * word, char * dest, size_t destsize); ++ + /* experimental and deprecated functions */ + + #ifdef HUNSPELL_EXPERIMENTAL +diff --git a/src/hunspell/replist.cxx b/src/hunspell/replist.cxx +index b9b1255..bac3e06 100644 +--- a/src/hunspell/replist.cxx ++++ b/src/hunspell/replist.cxx +@@ -74,6 +74,7 @@ + #include + #include + #include ++#include + + #include "replist.hxx" + #include "csutil.hxx" +@@ -139,19 +140,30 @@ int RepList::add(char * pat1, char * pat2) { + return 0; + } + +-int RepList::conv(const char * word, char * dest) { ++int RepList::conv(const char * word, char * dest, size_t destsize) { + int stl = 0; + int change = 0; + for (size_t i = 0; i < strlen(word); i++) { + int n = near(word + i); + int l = match(word + i, n); + if (l) { ++ size_t replen = strlen(dat[n]->pattern2); ++ if (stl+replen >= destsize) ++ return -1; + strcpy(dest + stl, dat[n]->pattern2); +- stl += strlen(dat[n]->pattern2); ++ stl += replen; + i += l - 1; + change = 1; +- } else dest[stl++] = word[i]; ++ } else { ++ if (stl+1 >= destsize) ++ return -1; ++ dest[stl++] = word[i]; ++ } + } + dest[stl] = '\0'; + return change; + } ++ ++int RepList::conv(const char * word, char * dest) { ++ return conv(word, dest, std::numeric_limits::max()); ++} +diff --git a/src/hunspell/replist.hxx b/src/hunspell/replist.hxx +index 1e3d6e4..e418298 100644 +--- a/src/hunspell/replist.hxx ++++ b/src/hunspell/replist.hxx +@@ -99,5 +99,7 @@ public: + int near(const char * word); + int match(const char * word, int n); + int conv(const char * word, char * dest); ++ // ^^-deprecated, use this-vv" ++ int conv(const char * word, char * dest, size_t destsize); + }; + #endif +diff --git a/src/tools/hunspell.cxx b/src/tools/hunspell.cxx +index 6124ac4..1b50fe1 100644 +--- a/src/tools/hunspell.cxx ++++ b/src/tools/hunspell.cxx +@@ -524,7 +524,7 @@ int putdic(char * word, Hunspell * pMS) + + word = chenc(word, ui_enc, dic_enc[0]); + +- if(pMS->input_conv(word, buf)) word = buf; ++ if(pMS->input_conv(word, buf, MAXLNLEN)) word = buf; + + int ret; + +-- +2.4.0 + diff --git a/0001-Resolves-rhbz-2158548-allow-longer-words-for-hunspel.patch b/0001-Resolves-rhbz-2158548-allow-longer-words-for-hunspel.patch deleted file mode 100644 index c0225fb..0000000 --- a/0001-Resolves-rhbz-2158548-allow-longer-words-for-hunspel.patch +++ /dev/null @@ -1,77 +0,0 @@ -From e2fe9f86e1769b440972971240e9b8fb1cd53b97 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= -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 -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::max()) { -+ if (word->size() > std::numeric_limits::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 - diff --git a/hunspell.rhbz915448.patch b/hunspell.rhbz915448.patch new file mode 100644 index 0000000..7b9c9fc --- /dev/null +++ b/hunspell.rhbz915448.patch @@ -0,0 +1,55 @@ +--- src/tools/hunspell.cxx~0 2011-01-21 19:01:29.000000000 +0200 ++++ src/tools/hunspell.cxx 2013-02-07 10:11:54.443610900 +0200 +@@ -710,13 +748,22 @@ if (pos >= 0) { + fflush(stdout); + } else { + char ** wlst = NULL; +- int ns = pMS[d]->suggest(&wlst, token); ++ int byte_offset = parser->get_tokenpos() + pos; ++ int char_offset = 0; ++ if (strcmp(io_enc, "UTF-8") == 0) { ++ for (int i = 0; i < byte_offset; i++) { ++ if ((buf[i] & 0xc0) != 0x80) ++ char_offset++; ++ } ++ } else { ++ char_offset = byte_offset; ++ } ++ int ns = pMS[d]->suggest(&wlst, chenc(token, io_enc, dic_enc[d])); + if (ns == 0) { +- fprintf(stdout,"# %s %d", token, +- parser->get_tokenpos() + pos); ++ fprintf(stdout,"# %s %d", token, char_offset); + } else { + fprintf(stdout,"& %s %d %d: ", token, ns, +- parser->get_tokenpos() + pos); ++ char_offset); + fprintf(stdout,"%s", chenc(wlst[0], dic_enc[d], io_enc)); + } + for (int j = 1; j < ns; j++) { +@@ -745,13 +792,23 @@ if (pos >= 0) { + if (root) free(root); + } else { + char ** wlst = NULL; ++ int byte_offset = parser->get_tokenpos() + pos; ++ int char_offset = 0; ++ if (strcmp(io_enc, "UTF-8") == 0) { ++ for (int i = 0; i < byte_offset; i++) { ++ if ((buf[i] & 0xc0) != 0x80) ++ char_offset++; ++ } ++ } else { ++ char_offset = byte_offset; ++ } + int ns = pMS[d]->suggest(&wlst, chenc(token, io_enc, dic_enc[d])); + if (ns == 0) { + fprintf(stdout,"# %s %d", chenc(token, io_enc, ui_enc), +- parser->get_tokenpos() + pos); ++ char_offset); + } else { + fprintf(stdout,"& %s %d %d: ", chenc(token, io_enc, ui_enc), ns, +- parser->get_tokenpos() + pos); ++ char_offset); + fprintf(stdout,"%s", chenc(wlst[0], dic_enc[d], ui_enc)); + } + for (int j = 1; j < ns; j++) { diff --git a/hunspell.spec b/hunspell.spec index 2e62287..9299982 100644 --- a/hunspell.spec +++ b/hunspell.spec @@ -2,13 +2,14 @@ Name: hunspell Summary: A spell checker and morphological analyzer library -Version: 1.7.2 -Release: 10%{?dist} -Source: https://github.com/hunspell/hunspell/releases/download/v%{version}/hunspell-%{version}.tar.gz +Version: 1.4.1 +Release: 2%{?dist} +Source: https://github.com/hunspell/hunspell/archive/v%{version}.tar.gz +Group: System Environment/Libraries URL: https://github.com/hunspell/hunspell -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 +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) +License: LGPLv2+ or GPLv2+ or MPLv1.1 +BuildRequires: ncurses-devel, gettext BuildRequires: perl-generators %ifarch %{ix86} x86_64 BuildRequires: valgrind @@ -16,38 +17,28 @@ BuildRequires: valgrind %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 +Patch1: 0001-Fix-possible-division-with-zero-in-hashmgr-issue-154.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 -Curses library, Ispell pipe interface, LibreOffice UNO module. +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, OpenOffice.org 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 -%patch -P0 -p1 -b .rhbz2158548 +%patch1 -p1 -b .rhbz1429258 %build -autoreconf -vfi configureflags="--disable-rpath --disable-static --with-ui --with-readline" %define profilegenerate \ @@ -59,7 +50,7 @@ configureflags="--disable-rpath --disable-static --with-ui --with-readline" %if !%{double_profiling_build} %configure $configureflags -%make_build +make %{?_smp_mflags} %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 @@ -69,7 +60,7 @@ head -n $((`cat /usr/share/dict/words | wc -l`/2)) /usr/share/dict/words |\ #generate profiling %{profilegenerate} %configure $configureflags -%make_build +make %{?_smp_mflags} ./src/tools/affixcompress words > /dev/null 2>&1 ./src/tools/hunspell -d words -l /usr/share/dict/words > /dev/null make check @@ -77,8 +68,9 @@ make distclean #use profiling %{profileuse} %configure $configureflags -%make_build +make %{?_smp_mflags} %endif +cd po && make %{?_smp_mflags} update-gmo && cd .. %check %ifarch %{ix86} x86_64 @@ -88,23 +80,30 @@ make check %install rm -rf $RPM_BUILD_ROOT -%make_install +make DESTDIR=$RPM_BUILD_ROOT 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} -%ldconfig_scriptlets +%clean +rm -rf $RPM_BUILD_ROOT + +%post -p /sbin/ldconfig + +%postun -p /sbin/ldconfig %files -f %{name}.lang -%doc README COPYING COPYING.LESSER COPYING.MPL AUTHORS license.hunspell license.myspell THANKS +%defattr(-,root,root,-) +%doc README README.myspell COPYING COPYING.LGPL COPYING.MPL AUTHORS AUTHORS.myspell 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 @@ -124,136 +123,9 @@ mkdir $RPM_BUILD_ROOT/%{_datadir}/myspell %{_mandir}/man3/hunspell.3.gz %{_mandir}/man5/hunspell.5.gz -%files filesystem -%{_datadir}/hunspell -%{_datadir}/myspell - %changelog -* Thu Jul 24 2025 Fedora Release Engineering - 1.7.2-10 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild - -* Fri Jan 17 2025 Fedora Release Engineering - 1.7.2-9 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild - -* Thu Jul 18 2024 Fedora Release Engineering - 1.7.2-8 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild - -* Wed Jan 24 2024 Fedora Release Engineering - 1.7.2-7 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild - -* Sat Jan 20 2024 Fedora Release Engineering - 1.7.2-6 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild - -* Thu Jul 20 2023 Fedora Release Engineering - 1.7.2-5 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild - -* Wed Feb 22 2023 Caolán McNamara - 1.7.2-4 -- migrated to SPDX license - -* Thu Jan 19 2023 Fedora Release Engineering - 1.7.2-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild - -* Fri Jan 06 2023 Caolán McNamara - 1.7.2-2 -- Resolves: rhbz#2158548 get hunspell-ko working again - -* Fri Dec 30 2022 Caolán McNamara - 1.7.2-1 -- Resolves: rhbz#2157049 latest release - -* Mon Aug 22 2022 Caolán McNamara - 1.7.1-1 -- latest release - -* Tue Aug 02 2022 Caolán McNamara - 1.7.0-21 -- Resolves: rhbz#2113444 FTBFS - -* Thu Jul 21 2022 Fedora Release Engineering - 1.7.0-20 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild - -* Wed Mar 16 2022 Jens Petersen - 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 - 1.7.0-18 -- Resolves: rhbz#2060751 - “hunspell -D” lists dictionaries twice - -* Thu Feb 10 2022 Jens Petersen - 1.7.0-17 -- revert post script from lua back to shell to unbreak rpm-ostree compose - -* Mon Feb 7 2022 Jens Petersen - 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 - 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 - 1.7.0-14 -- requires coreutils for post script (#2045568) - -* Fri Jan 21 2022 Vishal Vijayraghavan - 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 - 1.7.0-12 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild - -* Thu Jul 22 2021 Fedora Release Engineering - 1.7.0-11 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild - -* Thu Mar 25 2021 Caolán McNamara - 1.7.0-10 -- Resolves: rhbz#1943087 require gettext-devel for autopoint - -* Wed Feb 03 2021 Peter Oliver - 1.7.0-9 -- Accomodate Nuspell by putting the dictionary dir in its own subpackage. - -* Tue Jan 26 2021 Fedora Release Engineering - 1.7.0-8 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild - -* Tue Jul 28 2020 Fedora Release Engineering - 1.7.0-7 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild - -* Tue Jul 14 2020 Tom Stellard - 1.7.0-6 -- Use make macros -- https://fedoraproject.org/wiki/Changes/UseMakeBuildInstallMacro - -* Wed Jan 29 2020 Fedora Release Engineering - 1.7.0-5 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild - -* Tue Nov 12 2019 Caolán McNamara - 1.7.0-4 -- Resolves: rhbz#1771027 CVE-2019-16707 - -* Thu Jul 25 2019 Fedora Release Engineering - 1.7.0-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild - -* Fri Feb 01 2019 Fedora Release Engineering - 1.7.0-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild - -* Tue Nov 13 2018 Caolán McNamara - 1.7.0-1 -- latest release - -* Fri Jul 13 2018 Fedora Release Engineering - 1.6.2-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild - -* Wed Feb 07 2018 Fedora Release Engineering - 1.6.2-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild - -* Fri Nov 24 2017 Caolán McNamara - 1.6.2-1 -- latest release - -* Wed Aug 02 2017 Fedora Release Engineering - 1.5.4-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild - -* Wed Jul 26 2017 Fedora Release Engineering - 1.5.4-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild - -* Fri Feb 10 2017 Fedora Release Engineering - 1.5.4-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild - -* Tue Dec 13 2016 Caolán McNamara - 1.5.4-1 -- latest release +* Mon Mar 06 2017 Caolán McNamara - 1.4.1-2 +- Resolves: rhbz#1429258 survive .dics which appear to be empty * Tue May 03 2016 Caolán McNamara - 1.4.1-1 - latest version @@ -437,7 +309,7 @@ mkdir $RPM_BUILD_ROOT/%{_datadir}/myspell - sort as per "C" locale * Fri Oct 17 2008 Caolán McNamara - 1.2.7-4 -- make wordlist2hunspell remove blank lines +- make wordlist2hunspell remove blank lines * Mon Sep 15 2008 Caolán McNamara - 1.2.7-3 - Workaround rhbz#462184 uniq/sort problems with viramas diff --git a/plans/hunspell.fmf b/plans/hunspell.fmf deleted file mode 100644 index c1627f9..0000000 --- a/plans/hunspell.fmf +++ /dev/null @@ -1,5 +0,0 @@ -summary: Basic smoke test -discover: - how: fmf -execute: - how: tmt diff --git a/sources b/sources index 0338530..0cd283d 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (hunspell-1.7.2.tar.gz) = 49b3619bff12e111b6cc3f3d9463612b116f9b2a976896718e65f5bc4a83ece11100aaf56a4d18127ea39107446c495e12affe5ff3c9159ae8aba70e512f44ac +33d370f7fe5a030985e445a5672b2067 v1.4.1.tar.gz diff --git a/tests/data.txt b/tests/data.txt deleted file mode 100644 index 29c358c..0000000 --- a/tests/data.txt +++ /dev/null @@ -1,4 +0,0 @@ -Cloud -Linux -Fedora -Fedoraaa diff --git a/tests/main.fmf b/tests/main.fmf deleted file mode 100644 index ebec85f..0000000 --- a/tests/main.fmf +++ /dev/null @@ -1,5 +0,0 @@ -require: -- hunspell -- hunspell-de -test: bash ./run_tests.sh -framework: shell diff --git a/tests/run_tests.sh b/tests/run_tests.sh deleted file mode 100644 index 7d75074..0000000 --- a/tests/run_tests.sh +++ /dev/null @@ -1,58 +0,0 @@ -#!/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