的确是一个关于依赖的bug。ibus_pinyin的词库是ibus开头的2个文件,一个是android ,一个是一个开源的词库。 而这个包本身很无厘头。我甚至都不能理解这个包的作用。应该反馈给打包者吧? 在 2013-2-19 下午11:24,"zamirs" zamirs@163.com写道:
我在fedora18 x86_64下做了如下检查: [root@localhost fedora]# yum deplist ibus-pinyin -----以下结果确实没有pyzy-db-android.noarch而只有一个pyzy---- Loaded plugins: langpacks, presto, refresh-packagekit package: ibus-pinyin.x86_64 1.5.0-1.fc18 dependency: /bin/sh provider: bash.x86_64 4.2.42-3.fc18 dependency: ibus >= 1.2.0 provider: ibus.x86_64 1.5.1-2.fc18 dependency: libc.so.6()(64bit) provider: glibc.x86_64 2.16-28.fc18 dependency: libc.so.6(GLIBC_2.2.5)(64bit) provider: glibc.x86_64 2.16-28.fc18 dependency: libc.so.6(GLIBC_2.3.4)(64bit) provider: glibc.x86_64 2.16-28.fc18 dependency: libc.so.6(GLIBC_2.4)(64bit) provider: glibc.x86_64 2.16-28.fc18 dependency: libdl.so.2()(64bit) provider: glibc.x86_64 2.16-28.fc18 dependency: libgcc_s.so.1()(64bit) provider: libgcc.x86_64 4.7.2-8.fc18 dependency: libgcc_s.so.1(GCC_3.0)(64bit) provider: libgcc.x86_64 4.7.2-8.fc18 dependency: libgio-2.0.so.0()(64bit) provider: glib2.x86_64 2.34.2-2.fc18 dependency: libglib-2.0.so.0()(64bit) provider: glib2.x86_64 2.34.2-2.fc18 dependency: libgobject-2.0.so.0()(64bit) provider: glib2.x86_64 2.34.2-2.fc18 dependency: libibus-1.0.so.5()(64bit) provider: ibus-libs.x86_64 1.5.1-2.fc18 dependency: liblua-5.1.so()(64bit) provider: lua.x86_64 5.1.4-11.fc18 dependency: libm.so.6()(64bit) provider: glibc.x86_64 2.16-28.fc18 dependency: libpthread.so.0()(64bit) provider: glibc.x86_64 2.16-28.fc18 dependency: libpthread.so.0(GLIBC_2.2.5)(64bit) provider: glibc.x86_64 2.16-28.fc18 dependency: libpyzy-1.0.so.0()(64bit) provider: pyzy.x86_64 0.1.0-4.fc18 dependency: libsqlite3.so.0()(64bit) provider: sqlite.x86_64 3.7.13-2.fc18 dependency: libstdc++.so.6()(64bit) provider: libstdc++.x86_64 4.7.2-8.fc18 dependency: libstdc++.so.6(CXXABI_1.3)(64bit) provider: libstdc++.x86_64 4.7.2-8.fc18 dependency: libstdc++.so.6(GLIBCXX_3.4)(64bit) provider: libstdc++.x86_64 4.7.2-8.fc18 dependency: libstdc++.so.6(GLIBCXX_3.4.14)(64bit) provider: libstdc++.x86_64 4.7.2-8.fc18 dependency: rtld(GNU_HASH) provider: glibc.x86_64 2.16-28.fc18 provider: glibc.i686 2.16-28.fc18
[root@localhost fedora]# yum deplist pyzy.x86_64 ---下面的结果就有pyzy-db-android.noarch了。---------- Loaded plugins: langpacks, presto, refresh-packagekit package: pyzy.x86_64 0.1.0-4.fc18 dependency: /sbin/ldconfig provider: glibc.x86_64 2.16-28.fc18 provider: glibc.i686 2.16-28.fc18 dependency: libc.so.6()(64bit) provider: glibc.x86_64 2.16-28.fc18 dependency: libc.so.6(GLIBC_2.14)(64bit) provider: glibc.x86_64 2.16-28.fc18 dependency: libc.so.6(GLIBC_2.2.5)(64bit) provider: glibc.x86_64 2.16-28.fc18 dependency: libc.so.6(GLIBC_2.3.4)(64bit) provider: glibc.x86_64 2.16-28.fc18 dependency: libc.so.6(GLIBC_2.4)(64bit) provider: glibc.x86_64 2.16-28.fc18 dependency: libgcc_s.so.1()(64bit) provider: libgcc.x86_64 4.7.2-8.fc18 dependency: libgcc_s.so.1(GCC_3.0)(64bit) provider: libgcc.x86_64 4.7.2-8.fc18 dependency: libglib-2.0.so.0()(64bit) provider: glib2.x86_64 2.34.2-2.fc18 dependency: libm.so.6()(64bit) provider: glibc.x86_64 2.16-28.fc18 dependency: libsqlite3.so.0()(64bit) provider: sqlite.x86_64 3.7.13-2.fc18 dependency: libstdc++.so.6()(64bit) provider: libstdc++.x86_64 4.7.2-8.fc18 dependency: libstdc++.so.6(CXXABI_1.3)(64bit) provider: libstdc++.x86_64 4.7.2-8.fc18 dependency: libstdc++.so.6(GLIBCXX_3.4)(64bit) provider: libstdc++.x86_64 4.7.2-8.fc18 dependency: libstdc++.so.6(GLIBCXX_3.4.11)(64bit) provider: libstdc++.x86_64 4.7.2-8.fc18 dependency: libuuid.so.1()(64bit) provider: libuuid.x86_64 2.22.2-3.fc18 dependency: libuuid.so.1(UUID_1.0)(64bit) provider: libuuid.x86_64 2.22.2-3.fc18 dependency: pyzy-db = 0.1.0-4.fc18 provider: pyzy-db-open-phrase.noarch 0.1.0-4.fc18 provider: pyzy-db-android.noarch 0.1.0-4.fc18 dependency: rtld(GNU_HASH) provider: glibc.x86_64 2.16-28.fc18 provider: glibc.i686 2.16-28.fc18
因此我的结论是,这个ibus-pinyin并没有写pyzy-db-android为依赖关系。然后我yum remove pyzy-db-android.noarch,会把ibus-pinyin、pyzy-0.1.0-4.fc18.x86_64都卸载。 据此,我yumdownloadr把这三个软件包都下载到本地,并且通过rpm命令安装 rpm -ivh pyzy-0.1.0-4.fc18.x86_64.rpm --nodeps 然后rpm -ivh ibus-pinyin-1.5.0-1.fc18.x86_64.rpm,这时候不提示缺少包。并且输入法仍然可用。这是此时我安装的包情况。 [root@localhost fedora]# rpm -qa |egrep "pyzy|ibus-pinyin" ibus-pinyin-1.5.0-1.fc18.x86_64 pyzy-0.1.0-4.fc18.x86_64
然后为了继续验证我又yum remove pyzy把两个软件包都卸载。重新rpm安装的ibus-pinyin并且忽略依赖。 [root@localhost fedora]# rpm -ivh ibus-pinyin-1.5.0-1.fc18.x86_64.rpm --nodeps Preparing... ################################# [100%] Updating / installing... 1:ibus-pinyin-1.5.0-1.fc18 ################################# [100%] [root@localhost fedora]# rpm -qa |egrep "pyzy|ibus-pinyin" ibus-pinyin-1.5.0-1.fc18.x86_64 [root@localhost fedora]# 然后我仍然能使用ibus-pinyin输入中文。。 我现在怀疑是ibus-pinyin不依赖pyzy这个包。 感兴趣的可以再验一下。我认为这应该是个bug。也许应当是i18n或者l10n的
Zamir SUN IRC: zsun @ #fedora-zh
在 2013-02-19 21:49:46,"杜宏羽" dongfengweixiao@gmail.com 写道:
pyzy-db-android我看了文件列表,对应的是一个android.db的词库文件。 然后它的依赖里面有一个ibus-pinyin。个人私下认为是一个错误的依赖关系。实际上ibus-pinyin的词库文件并不依赖于它。 -- Fedora中文郵件列表:https://admin.fedoraproject.org/mailman/listinfo/chinese
-- Fedora中文郵件列表:https://admin.fedoraproject.org/mailman/listinfo/chinese