刚刚应 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 商量。
评论