[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Bug#1020387: dictionaries-common: Consensus regarding the packaging of the Qt WebEngine hunspell binary dictionaries



FYI:

Chromium includes an embedded copy of the hunspell library, which they've forked to ignore dic/aff files and instead use bdic files. The patch and google additions can be found here:

https://sources.debian.org/src/chromium/106.0.5249.119-1/third_party/hunspell/google.patch/

https://sources.debian.org/src/chromium/106.0.5249.119-1/third_party/hunspell/google/

You'll note that bdict.h in the google directory mentions right up front that offsets in bdict format are little endian, and also describes endianness of integer fields themselves. That means putting bdic files into arch:all should be fine, as the tools should convert them automatically on big-endian platforms (and if they don't, it's a bug that chromium devs would accept a fix for).

On Fri, Oct 14 2022 at 08:34:25 PM +0200, Roland Rosenfeld <roland@debian.org> wrote:
It doesn’t directly address the topic of endianess, but it does say
 the following:

 "The .bdic files are always UTF-8 internally, and the convert_dict
 tool converts things appropriately when it runs.”

 I must admit that the topic of endianess goes a bit beyond my
 expertise, but my understanding is that it is primarily an issue for
 executable files. As the .bdic is only a data file, and as the data
 encoded inside it is in UTF-8 as described above, would that mean
 that it is safe to assume that these are arch:all?

I'm also not very familiar with this, so I tried to check out.  I
noted that s390x is big endian (in contrast to nearly all other
supported architectures) and so I logged into a s390x porter box to
build a bdic file and compare it with one build on other
architectures.

When I tried to install qtwebengine5-dev-tools I had to notice, that
this package is not available for s390x.  Checking
https://tracker.debian.org/pkg/qtwebengine-opensource-src I noticed,
that the package is limited to amd64, arm64, armhf, i386, mips64el and
mipsel.  Which means, that it is not available on armel, ppc64el and
s390x (and all other non release relevant architectures).

That's a big drawback, since we want to support the hunspell
dictionaries on all architectures.

I checked, whether the convert_dict tool (mentioned in the chromium
page "Editing the spell checking dictionaries") may be available in
Debian for other architectures, but I only found
qt6-webengine-dev-tools, which supports an even shorter architecture
list (only amd64, arm64, armhf and i386)...

Greetings
Roland



Reply to: