On Tue, 8 Oct 2019 at 17:15, Nikola Forró <nfo...@redhat.com> wrote:

> On Tue, 2019-10-08 at 12:22 +0200, Jindrich Novy wrote:
> > Nikola, is it intended that aspell doesn't depend on any dictionary?
> > E.g. aspell-en? Please see the email bellow.
>
> Hi,
>
> it seems it is intentional [1], this is probably the reason [2].
> I suppose aspell could recommend aspell-en, to prevent circular
> dependency (assuming weak dependencies actually do prevent it).
>
> Thanks,
> Nikola
>
> [1]
> https://src.fedoraproject.org/rpms/aspell/c/405c4df7ef4bcd93103c57e3e910e2f82a045c24
> [2] https://bugzilla.redhat.com/show_bug.cgi?id=485210


It is very easy to fix this by merge build of the aspell and aspell-en.
Build processes should not be affecting how final packages should be used
and in this case it is like this.
Someone choose that clean build is more important than dependencies between
those packages.

To be honest IMO separating aspell dictionaries is a bit illogical because
on distribution layer language dependent resources should be described by
%lang() and chosen on install stage by %_install_langs.
Ergo: all "langpack" (like aspell-* of Libreoffice-<lang> or firefox-* etc)
packages should disappear.

As long as rpm packages exist only in form of solid archives it is not
possible precisely choose to download only resources which does not depends
on any %lang() + those which depends on set of languages listed
in %_install_langs.
This is why IPS has concept of facets and because package exist only as set
of files with attributes in IPS repository, by this repository can stream
to client (where packages will be installed) *only* that files which have
been requested but not on boundaries of the packages existing on build
stage.
This is one of the biggest weakness of the rpm or more precisely any PM
software which uses packages as archives.

Nevertheless problem still is not correctly described.
To be more precise aspell does not need aspell-en but any dictionary which
is needed by current local settings (system one or user one or even user
session one).
*If I'll be using for example locale pl_PL and will have installed
aspell-en mcedit still will be barking that about missing dictionary!!!*
In other words .. aspell should not require aspel-en but at least one/some
dictionary package.
Nevertheless in current state of the rpm adding dependencies which depends
on *current locale settings* is unsolvable by definition.
All what is possible to do is provide GoodEnouhg(tm) solution.

IMO above shows clearly that adding "aspell-en" in mc or aspell
dependencies does not solve issue .. at all.
Kind of mitigation of that problem should be IMO change aspell error
message (by add Fedora/any rpm based distro patch) informing that system
has missing aspell-<lang> package.


Workaround 1: add in aspell "%bcond_with bootstrap" and when package will
be build "--with boostrap" disable "Requires: aspell-en". aspell used as
only as aspell-devel will not break any other packages builds.

Workaround 2: add in each aspell-<lang> "Provides: aspell-dictionary" and
in aspell "Requires: aspell-dictionary".
With that aspell-en can be build as long will have stored any aspell-<lang>
package.

Conclusion: for me still it is clear that mc should stay untouched and any
other steps should be done outside of the mc package.

PS. BTW anaconda/kickstart still does not setup /etc/rpm/macro file
with %_install_langs with list of choose languages support.

kloczek
-- 
Tomasz Kłoczko | LinkedIn: http://lnkd.in/FXPWxH
_______________________________________________
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org

Reply via email to