Fedora 的 fcitx 计划
刚刚应 CSSlayer 和 Aron Xu 的要求,把 Fedora 的 fcitx 细分成多个 sub package,最主要的是把各个码表分离开。
以前的做法是把码表一并放在 fcitx 这个 sub package 里面,但是很多人并不是需要安装所有码表,因此现在的做法是增加多个 sub package 以打包各种码表。
fcitx-table-bingchan 是冰蟾的码表,fcitx-table-erbi 则是二笔的码表,fcitx-table-cangjie 则是仓颉的码表,fcitx-table-dianbaoma 是电报码的码表,fcitx-table-wanfeng 是万峰的码表,fcitx-table-wubi 是五笔的码表,fcitx-table-wbpy 是五笔-拼音的码表,fcitx-table-ziranma 是自然码的码表。所以现在安装新版 fcitx,就只能自带拼音输入法的码表,其他码表需要自行安装。
细分下来,实际上是挺多,spec 文件已经超过 300 行了。以后或许会默认加入更多的码表,spec 文件的行数也会不断得增加。你很难想象维护一个输入法要维护一个超过 500 行的 spec 文件。如果我放弃维护这个软件包了,一个如此长的 spec 文件让别人接手也是一个很大的问题。
同样在 fcitx-4.1 分支中,CSSlayer 增加了 fcitx 的 gtk2、gtk3 和 qt4 的模块,以后可能会加入 m17n 的支持,如果还在包所有的东西包在同一个源代码包里面的话,写 spec 也够辛苦了,说不定是会变成一个有 1000 行的 spec。而且码表、m17n 和图形库的输入法接口未必需要跟着输入法主程序一直同步更新。很多时候主程序更新多次以后码表和 m17n 也不用更新也可以直接用,同样图形库的接口也一样。所以我希望在源代码分包是 fcitx 主程序和相关的库组成一个源代码包 fcitx,中文码表一个源代码包 fcitx-table,图形库接口一个源代码包 fcitx-bridge,另外以后的 m17n 一个源代码包 fcitx-m17n。上述猜想还得和 CSSlayer 商量。
Tags: fcitx, fedora



5 Comments
简单来讲,已有的不拆(手动编译也能编译出一个可以用的)。
新的单独分,比如你说的m17n。
个人意见。
但是不拆开,以后找人维护就真的头痛咯!
“这是我一生的请求”…… = =b
其实照我说,码表应该这么分,五笔一个(用户最多)
fcitx-table-wubi,其他的fcitx-table-extras。
default skin和classicui放在一起,剩下的fcitx-skins。
然后每个安装到/usr/lib/fcitx下面的模块,把x11,ipc,dbus,classicui,kimpanel(这些影响依赖较大),pinyin,table单独分包,其他的合成一个。
happyaron的无限细拆其实我也觉得蛋疼的紧。
即拆之,则安之。
好吧,现在我的想法是这样的。
把五笔码表移入到 fcitx-data 里面,变成默认安装的内容。其余的码表将会放在 fcitx-table-chinese 里面。以后有第三方的中文码表往这个包塞就是了。
皮肤方面,源码包自带的都塞在 fcitx-data 里面,毕竟它们都是 fcitx 官方版本的一部分,第三方皮肤则是由 fcitx-theme-xxx 另外打包了。
module 方面,我不太想像 Aron Xu 那样细分,我的想法都是把这些东西都放在 fcitx-libs 里面,而 gtk 和 qt 的那些前端,我当然会逐一细分的。