Web lists-archives.com

ibus debian/control recommends best practice


The Intelligent Input Bus (IBus, pronounced as I-Bus) is an input method
(IM) framework for multilingual input in Unix-like operating-systems.

The ibus package can work via XIM but it is non-optimal.  For GTK or QT
applications, it is desirable to have corresponding libraries installed
and enabled for processing keyboard inputs.

Currently ibus package sets to

Recommends: ibus-gtk  | ibus-qt4 | libqt5gui5, 
            ibus-gtk3 | ibus-qt4 | libqt5gui5, im-config

So if ibus-gtk and ibus-qt4 are installed, ibus will not bother pulling
 * ibus-gtk3 for GTK3
 * libqt5gui5 for QT5

What is needed is like:
Recommends: ((ibus-gtk, ibus-gtk3 )  | 
            ibus-qt4 | libqt5gui5 ) , im-config

This is because GTK_IM_MODULE values are shared by both gtk2 and gtk3
behavior of ibus.  Unless ibus-gtk, ibus-gtk3 are both installed,
GTK_IM_MODULE=xim.  QT/QT5 doesn't suffer since they use different
environment variables.

But () is not used for the logical purpose in recommends, I think.

So to solve Bug#921541 https://bugs.debian.org/921541 , I am thinking to
change ibus to be:

Recommends: ibus-gtk , ibus-gtk3, 
            ibus-qt4 , libqt5gui5 , im-config

After all, if user chose not to install any one of recommends, he should
know the possible limitations.  The negative side effect is too much
libraries to be installed for many desktop system.

Unless I get better idea, I will do this recommend all approach.

Any idea?