Sure, this multiple per-engine packaging approach, where each
package is built by disabling all engines except one of them and
depends on its corresponding backend engine is the correct
solution.
Before submitting the enchant-pure package, I filled a bug
here:
https://bugs.archlinux.org/index.php?do=details&action="">
At that time (about ten year ago), the official enchant package
did depend on three backend engines and my reported bug was
rejected by Jan de Groot as he thought removing backends may
force users of those backend engines to "re-build" the enchant
package.
Then I submitted enchant-hspell and enchant-pure AUR packages
and exemplified that how these packages can be created so
end-users may simply install binary packages and enable engines
one by one.
Maybe, currently that maintainer of the enchant package has
changed to Antonio Rojas and those required dependencies are
removed, they accept to create per-engine packages. I think we
should keep the AUR packages until they are adopted in the extra
repo.
Nevertheless, we cannot ignore those warnings because they
indicate that relevant .so files are installed. That is, the
current enchant package actually depends on all those backend
engines and marking them as optional dependencies is just wrong
packaging.
On 11/11/23 20:49, Marcell Meszaros
wrote:
Hi,
Based on what you wrote, I surmise that shared library import
warning logs are irrelevant for users, and those warnings can
also be filtered out from system logs when debugging real
problems.
So it leads me to conclude that this package is not
sufficiently useful to users to justify having this
lesser-functionality duplicate in AUR.
If the reported warnings have relevant detrimental effects, I
suggest that you file an Arch bug ticket. Also, repo's enchant
could solve this issue by making a split package of it, and
putting each spell checking engine related .so library in
separate subpackages, which in turn should each depend on
their respective engine library, with the main enchant package
optdepending on these engine-specific split 'enchant-*'
packages.
Greetings MarsSeed and Marcell,
The enchant-pure is more "pure" than extra repo's version
because it is built by disabling all backends, but the
aspell and hunspell which allow all languages to be
enabled/disabled selectively. If we install those other
backends, they will be detected and used at runtime with
no issue too (as demonstrated by the enchant-hspell AUR
package).
However, the extra repo's version is built by enabling
all backend engines. Therefore, even when those backends
are not installed, the built enchant contains those
(missing) dependencies binding.
This problem can be seen by running "gedit" as an example
enchant client, after installing the extra repo's version
of enchant package, and watching its warnings in the
console (open gedit with the enchant-pure version and no
such warning will be printed):
(gedit:6143): libenchant-WARNING **: 20:05:16.243: Error
loading plugin: libvoikko.so.1: cannot open shared object
file: No such file or directory
(gedit:6143): libenchant-WARNING **: 20:05:16.243: Error
loading plugin: libnuspell.so.5: cannot open shared object
file: No such file or directory
(gedit:6143): libenchant-WARNING **: 20:05:16.243: Error
loading plugin: libhspell.so.0: cannot open shared object
file: No such file or directory
(gedit:6143): libenchant-WARNING **: 20:05:16.259: Error
loading plugin: libvoikko.so.1: cannot open shared object
file: No such file or directory
(gedit:6143): libenchant-WARNING **: 20:05:16.260: Error
loading plugin: libnuspell.so.5: cannot open shared object
file: No such file or directory
(gedit:6143): libenchant-WARNING **: 20:05:16.261: Error
loading plugin: libhspell.so.0: cannot open shared object
file: No such file or directory
On 11/11/23 12:30, Marcell
Meszaros wrote:
Actually this has not one, but two more mandatory spell checker library depends compared to repo's enchant. So it is even more "impure", to coin this package's weird choice of qualifier suffix.
On 11 November 2023 09:49:08 GMT+01:00, not...@aur.archlinux.org wrote:
MarsSeed [1] filed a deletion request for enchant-pure [2]:
Unneeded duplicate of extra/enchant, with misleading name.
This is less "pure" than extra repo's package, because it has one more
mandatory depends than the latter.
The repo package defines its dependency on all spell checking engines
as optional.
[1] https://aur.archlinux.org/account/MarsSeed/
[2] https://aur.archlinux.org/pkgbase/enchant-pure/
--
Best Regards,
Behnam Momeni
--
Best Regards,
Behnam Momeni