[Pkg-ime-devel] Request for comments: Split scim shared library
minghua at rice.edu
Wed Dec 13 02:10:26 CET 2006
This rather long mail talks about the shared library shipped by scim
package. I hope fellow developers that maintain scim module packages
can read it and share their opinion.
This mail is also sent to several Ubuntu developers as Ubuntu's changes
are the catalyst of this mail and Ubuntu is affected by this plan.
Please don't send the reply to them if the discussion is not specific to
Ubuntu, though. Also, as pkg-ime-devel is a subscriber-only list, the
Ubuntu developers probably want to send the reply directly to me.
Currently the libscim8c2a package ships three shared libraries in
/usr/lib/ -- libscim-1.0.so.8.y.z, libscim-x11utils-1.0.so.8.y.z, and
libscim-gtkutils-1.0.so.y.z. Among them only libscim-gtkutils-1.0 links
to GTK+ libraries. But since all three libraries are packaged together,
the libscim8c2a package depends on a lot of GTK+ packages.
For scim, since scim-setup and scim-panel-gtk both use GTK+ features and
link to libscim-gtkutils-1.0, this GTK+ dependency is useful and doesn't
matter. But for skim (the KDE frontend for SCIM framework), it only
uses the features in libscim-1.0 and maybe libscim-x11utils-1.0, but
definitely not libscim-gtkutils-1.0. With the current package layout,
skim ends up depending on libscim8c2a and therefore indirectly depends
on a lot of GTK+ packages.
This result is undesirable from KDE people's point of view, and
especially for the Kubuntu (an Ubuntu derivative using KDE as the main
desktop) people, so they split libscim-gtkutils-1.0 out of package
libscim8c2a in Ubuntu. However I don't like some of their choices, I'll
discuss in more details in the "Note about Ubuntu" section.
So to make KDE people happy, as well as to try reducing the difference
between Debian's and Ubuntu's scim package, I plan to split
libscim-gtkutils-1.0 shared library out of libscim8c2a package, as a
separate new package, tentatively named libscim8c2a-gtk. This way skim
and other KDE-only SCIM packages can depends only on libscim8c2a, and
get rid of the GTK+ indirect dependencies. Also, a corresponding
development library package will be introduced as well
The consequence of this, is that many SCIM packages need to change the
build dependency. Currently most of them build-depends on libscim-dev
(>= 1.4.0), after this change many of them need to build-depend on
libscim-gtk-dev as well. I will adjust the dependency of scim-dev
package to pull in libscim-gtk-dev as well, but I think as a meta
package, scim-dev is not really suited for build dependency (like you
shouldn't build-depend on xlibs-dev).
Now that etch is frozen, I feel it's a good time to start working on
this. My plan is as following:
1. Ask around (pkg-ime-devel, debian-mentors) to get consensus about
the split plan and the name of the new packages;
2. Upload new split packages to experimental;
3. Test packages in experimental and build module packages against
it, maybe upload a few module packages to experimental as well;
4. Ask for permission on debian-release and upload to unstable, send
mails to maintainers of all packages that build-depends on scim.
5. After a week of the unstable upload, start looking at the
packages without response from maintainer and file bugs with
patch to adjust the build dependency;
6. After a month of the unstable upload, upgrade the severity of the
bugs and seek for NMU.
Notes about Ubuntu
Currently Ubuntu's scim package put the libscim-gtkutils-1.0 shared
library into scim-gtk2-immodule package. Besides being
counter-intuitive, this also introduces a circular dependency between
scim and scim-gtk2-immodule, as well as makes it impossible to not
install the GTK+ IM module for XIM-only users. Also because libscim-dev
in Ubuntu does not depend on scim-gtk2-immodule, many scim module
packages FTBFS without Ubuntu specific changes. I really want to change
I reported part of this issue as Ubuntu's bug #67057 , but hasn't
received any reply so far. I'm sending this mail to all the Ubuntu
developers who have touched the Ubuntu scim package and hope I can get a
better response this time.
Thanks for reading this long mail. Any comments are welcome.
More information about the Pkg-ime-devel