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

Bug#976603: Dropping fcitx4/5 coexistence



Thanks for elaborating on the topic, Boyuan.

On 2021-11-23 01:40, Boyuan Yang wrote:
Hi,

在 2021-11-23星期二的 00:15 +0100,Gunnar Hjalmarsson写道:
Hi!

      + debian/control: Let fcitx5 conflicts with:
        - fcitx (<< 1:5)
        - fcitx-data (<< 1:5)
        - fcitx-bin (<< 1:5)

That may become a bit problematic with respect to package upgrades for
users who have both fcitx and fcitx5 installed. I suppose that fcitx5
upgrades will be held back if you just do "apt upgrade".

Ubuntu Kylin 21.10 includes both fcitx and fcitx5 by default. The 21.10
-> 22.04 release upgrade is not so far away.

Not sure what to suggest. To start with I wonder if you have considered
situations like the one I mentioned.

This is tough decision with no ideal solution. From fcitx upstream's
perspective, the upstream has no intention to support coexisted fcitx4/fcitx5
from the very beginning, and co-installation provides little (if not zero)
benefit. Besides, fcitx5 will likely eventually replace fcitx4.

From distribution's perspective, Debian included Debian-specific patch to
allow coexistence in the initial fcitx5 packaging. This introduced inherent
bug on icon handling, which I would like to solve recently. Now, I wouldn't
say trading co-installation possibility for bug-free icon handling is always
beneficial, but it shouldn't bother users with reasonable setup.

From packaging perspective, versioned conflicts are indeed a little bit too
aggressive. I was indeed not aware of Ubuntu Kylin's condition of installing
both fcitx and fcitx5 by default. This is a weird decision with no benefit: th
e out-of-box experience won't benefit from co-installation.

Anyway, the correctness of default co-installation decision is out of current
discussion scope. Personally (as packager of fcitx) I do not wish to keep
carrying debian-specific coexistence patch forever, but I would be happy to
work with any team from Ubuntu on securing a solid Ubuntu 22.04 LTS.

The path forward really depends on which fcitx does Ubuntu(-any-flavor) plan
to ship by default: fcitx4 or fcitx5. I would be surprised if they still wish
to install both by default in future, but please let me know if this would be
their decision.

For distribution upgrade: I remember that Ubuntu handles it with do-release-
upgrade. Even for Debian, we do not instruct users to only run "apt upgrade"
across major version upgrades: users always invoke "apt full-upgrade/apt dist-
upgrade", so this shouldn't be a problem. Just make sure that the metapackage
for default Ubuntu desktop depends on correct fcitx (4 or 5, depending on
final decision for 22.04 release).

I may postpone the removal of conexistence patch (with buggy icon handling)
till after Ubuntu 22.04 freeze, but this will happen sonner or later. Please
let me know if there are more information available.

Hopefully there is no need to postpone the removal of the coexistence patch. And you are right about do-release-upgrade using "apt full-upgrade", which may be sufficient to ensure a smooth upgrade.

Ubuntu in general switched to fcitx5 in 21.10.

https://launchpad.net/bugs/1928360

So when doing a Chinese installation of an Ubuntu flavor (i.e. not Ubuntu with GNOME), fcitx5 is installed by default and fcitx4 is not. And if you install a Chinese language post install, fcitx5 is pulled as a language support component.

Initially Ubuntu Kylin had the intention to do the same. However, Kylin makes the Sogou IME easily available to their users and wants to keep doing so, and Sogou was not ready for fcitx5 when this was discussed during the 21.10 development cycle. So it was decided that Ubuntu Kylin also installs fcitx4 in 21.10. The coexistence packaging arrangement made that possible, and since im-config launches fcitx4 by default if both are present, everyone was happy. :)

I don't know whether Sogou has been adapted to fcitx5 yet. Sending this also to Jianfeng Li (Ubuntu Kylin), who may be able to give us a status report.

For the record Lubuntu installs fcitx4 for all users irrespective of language. I don't really know why they do that — from an im-config POV things had been less complicated if they didn't install any IM framework by default.

--
Cheers,
Gunnar


Reply to: