Improve default selection of IBus related packages

Bug #1164252 reported by Ma Hsiao-chun
18
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Ubuntu Kylin
Fix Released
Medium
Unassigned
ubuntu-meta (Ubuntu)
Won't Fix
Low
Gunnar Hjalmarsson

Bug Description

Currently we have:

"""
Input methods:

 * (im-config)
 * (ibus)
 * (ibus-gtk3)
 * (ibus-table)
 * (ibus-pinyin)
 * (ibus-pinyin-db-android)
"""

This is suboptimal in many ways.
1. ibus-gtk should be included, since we have notable GTK2 applications like Firefox and LibreOffice.
2. ibus-table doesn't provide a working input method by itself, it needs at least one of ibus-table-* package to work.
3. ibus-pinyin is useful for only limited set of people; even Simplified Chinese language support defaults to ibus-sunpinyin while UbuntuKylin and LinuxDeepin (a noteable Ubuntu-based distro in China) switch to Fcitx altogether.

The conclusion is that the real workhorse IBus related packages would be pulled by language support.
For meta package like ubuntu-desktop, we either leave a barebone IBus (ibus, ibus-gtk, ibus-gtk3) or remove IBus altogether.

Tags: trusty
Revision history for this message
Gunnar Hjalmarsson (gunnarhj) wrote :

Thanks for your bug report!

Even if your reasoning makes sense to me, I can't help thinking that it would be late in the cycle to change this in 13.04. There will probably be quite a few IM related changes going forward.

Is any of the currently seeded packages causing problems, e.g. for UbuntuKylin?

Subscribing Sebastien.

Revision history for this message
Jack Yu (jackyu) wrote :

Thanks. All Ibus related packages were removed from UbuntuKylin.

Changed in ubuntukylin:
status: New → Fix Released
importance: Undecided → Medium
Revision history for this message
Ma Hsiao-chun (mahsiaochun) wrote :

Ping?

Revision history for this message
Gunnar Hjalmarsson (gunnarhj) wrote :

Thanks for the reminder. I submitted a merge proposal.

Changed in ubuntu-meta (Ubuntu):
assignee: nobody → Gunnar Hjalmarsson (gunnarhj)
importance: Undecided → Low
status: New → In Progress
tags: added: trusty
removed: raring
Revision history for this message
Gunnar Hjalmarsson (gunnarhj) wrote :

@Ma: Did you see the comments on the merge proposal? Maybe you could chime in there and try to agree with Aron on some sensible solution.

Revision history for this message
Ma Hsiao-chun (mahsiaochun) wrote :

I personally believe that a modern OS should include all languages out of box. OS X does this, Windows 8.1 is probably there also.

In the context of Ubuntu, we do have an annoying concept of language packs.

I and others find it annoying because:
 * Net installing the language packs at the end of Ubuntu installation can have issues in too many ways
 * Installing languages packs after Ubuntu installation is confusing for beginners
 * As I tried some time ago, one cannot select all languages in language selector; there will be obscure error like locale running out of hash space

Including ibus-pinyin is a workaround for language pack annoyance; at least there is some input engine there.
Barebone ibus-table is definitely useless.

But there are many counter-argument for ibus-pinyin inclusion:
 * It is merely useful for Simplified Chinese users; maybe they should use Ubuntu Kylin
 * Language pack of Simplified Chinese picks ibus-sunpinyin instead ibus-pinyin as Pinyin input engine
 * ibus-pinyin is not in good shape both upstream (almost dead) and downstream (outdated, problematic)
 * At English installation of Ubuntu requires non-intuitive enabling process of IBus engines (it is getting better because of keyboard-indicator, but keyboard-indicator has its blocking bugs)

An alternative approach is that we include more IBus engines. We try to cover all the common languages (ibus-m17n should probably be avoided). We may reference GNOME/Fedora for a list of common IBus engines. I also wonder what is Ubuntu Touch doing on this issue.

Revision history for this message
Gunnar Hjalmarsson (gunnarhj) wrote :

Made a little investigation.

Excluding ibus-table, ibus-pinyin and ibus-pinyin-db-android would free 1.5 MB of archive space.

Checked the required archive space for a few possible candidates:

ibus-sunpinyin
- pulls: libglade2-0 libsunpinyin3 python-glade2 sunpinyin-data
- would need 25.5 MB

ibus-chewing
- pulls: libchewing3 libchewing3-data
- would need 1.4 MB

ibus-anthy (for Japanese)
- pulls: anthy anthy-common libanthy0
- would need 2.8 MB

ibus-hangul (for Korean)
- pulls: libhangul-data libhangul1
- would need 2.5 MB

The net increase of archive space due to those changes would be 31 MB. The ISO for i386 is currently 923 MB.

Revision history for this message
Aron Xu (happyaron) wrote :

I think ibus-table and ibus-table-wubi are needed as well, and it's worth considering using cangjie instead of chewing for Traditional Chinese.

Revision history for this message
Ma Hsiao-chun (mahsiaochun) wrote :

Hong Kong people mostly use Cangjie or Quick which is now better provided by ibus-cangjie.
Chewing is needed for Taiwan people, even though ibus-chewing is, to be honest, pretty crappy.

Revision history for this message
Gunnar Hjalmarsson (gunnarhj) wrote :

Let's add those to the list:

ibus-table-wubi
- pulls: ibus-table
- would need 11.8 MB

ibus-cangjie
- pulls: libcangjie2 libcangjie2-data python3-pycangjie
- would need 1.5 MB

So, then we have:
                             MB

Change in comment #7 31
+ ibus-table-wubi 11.8
+ ibus-cangjie 1.5
- ibus-chewing -1.4
                             ----
                             43

Revision history for this message
Gunnar Hjalmarsson (gunnarhj) wrote :

There are python issues with ibus-cangjie:

$ ibus-setup-cangjie cangjie
/usr/lib/python3/dist-packages/ibus_cangjie/setup.py:29: PyGIDeprecationWarning: Using positional arguments with the GObject constructor has been deprecated. Please specify keywords for schema or use a class specific constructor. See: https://wiki.gnome.org/PyGObject/InitializerDeprecations
  self.settings = Gio.Settings("org.cangjians.ibus.%s" % engine)
Traceback (most recent call last):
  File "/usr/bin/ibus-setup-cangjie", line 62, in <module>
    Setup(args.engine, datadir, gettext_package).run()
  File "/usr/lib/python3/dist-packages/ibus_cangjie/setup.py", line 35, in __init__
    self.__builder.add_from_file(ui_file)
gi._glib.GError: /usr/share/ibus-cangjie/setup.ui:206:262 'property' is not a valid tag here

Revision history for this message
Ma Hsiao-chun (mahsiaochun) wrote :

I think ibus-chewing should be included still.

ibus-cangjie's issue should be a bug of its own.

Revision history for this message
Gunnar Hjalmarsson (gunnarhj) wrote :

Sebastien suggested that I should ask on the ubuntu-devel mailing list, so I did:

https://lists.ubuntu.com/archives/ubuntu-devel/2014-February/038103.html

Revision history for this message
Gunnar Hjalmarsson (gunnarhj) wrote :

So far no IM user has replied to Sebastien's message at ubuntu-devel.
https://lists.ubuntu.com/archives/ubuntu-devel/2014-February/038104.html

Seeding a bunch if IM engines seems to be an uphill project, so for 14.04 I ask that my original merge proposal (dropping ibus-pinyin) is sponsored as a resolution of this bug.

The desktop guide for 14.04 will state the need to install desired IM engines in one way or the other:

http://people.ubuntu.com/~gunnarhj/keyboard-layouts.html

Revision history for this message
Aron Xu (happyaron) wrote :

How about pulling in ibus-qt4?

Revision history for this message
Gunnar Hjalmarsson (gunnarhj) wrote :

On 2014-03-05 10:07, Anthony Wong wrote (on the merge proposal):
> We should not remove ibus-pinyin if 1. another pinyin substitute is
> not going to replace ibus-pinyin,

Well, that won't happen in 14.04 unless a few IM users rapidly and convincingly answer Sebastien's message at ubuntu-devel.

https://lists.ubuntu.com/archives/ubuntu-devel/2014-February/038104.html

> and 2. another input method framework is not going to be replace
> ibus.

That will certainly not happen in 14.04.

ibus-pinyin is the only IM engine that is currently seeded. Considering that both Xiaojun Ma and Aron Xu said that ibus-sunpinyin is better, I thought it made sense to not keep seeding it and with that follow the original suggestion in this bug report.

Maybe we should ask ourselves: Which impression do we make on Chinese users if we seed an IM engine that we don't consider to be the best available engine? The IM engine pulled when simplified Chinese is installed is ibus-sunpinyin anyway.

On 2014-03-05 09:49, Aron Xu wrote:
> How about pulling in ibus-qt4?

You tell us. Since you suggest it, I suppose it would make a difference somehow. ;-)

Revision history for this message
Ma Hsiao-chun (mahsiaochun) wrote :

Pulling in ibus-qt4 should save users lot of troubles. It depends on some core Qt4 libs though, would this be a problem?

Full disclosure/利申: I use fcitx and fcitx-libpinyin on my "production" 13.10 boxes. Keyboard-indicator and IBus in trusty begin to be kind of usable.

Revision history for this message
Gunnar Hjalmarsson (gunnarhj) wrote :

I can't see how dependencies on core libs, which are installed anyway, would be a problem. The only extra package that would need to be seeded with ibus-qt4 is libibus-qt1, and together they would require 123 kB archive space. I suppose we might be successful in having it accepted. ;-)

We call it input source indicator now. I'm glad to hear that you find it usable. :) I have the same feeling, but since I'm not an IM user, it's not worth so much...

So, then we have ibus-pinyin. Keep or drop.

Revision history for this message
Anthony Wong (anthonywong) wrote :

@Gunnar
Given that ubuntu-defaults-zh-cn pulls in sunpinyin, I don't feel ibus-pinyin to be absolutely necessary be seeded.

Revision history for this message
Gunnar Hjalmarsson (gunnarhj) wrote :

Thanks for saying that, Anthony. Actually, just installing the zh_CN language is sufficient, since also language-selector pulls in ibus-sunpinyin. Then I conclude that we have agreed to stop seeding ibus-pinyin.

As regards ibus-qt4 there is an obstacle not related to archive space: The ibus-qt source package is currently in universe, and seeded packages must be in main.

Aron Xu or Xiaojun Ma or somebody else: Could you please file a MIR bug against ibus-qt, where you explain why ibus-qt4 should be seeded.
https://wiki.ubuntu.com/MainInclusionProcess

Revision history for this message
Gunnar Hjalmarsson (gunnarhj) wrote :

Since nobody has filed an ibus-qt MIR application, I have again asked that the original merge proposal, which fixes the actual original bug, be sponsored.

Please open a new bug about addition of ibus packages, if you think it's important.

Revision history for this message
Nobuto Murata (nobuto) wrote :

From utopic, ibus-gtk no longer be pulled automatically. I have proposed a merge especially for ibus-gtk in bug #1377370.

Revision history for this message
Gunnar Hjalmarsson (gunnarhj) wrote :
Changed in ubuntu-meta (Ubuntu):
status: In Progress → Won't Fix
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.