Status: New
Owner: ----
Labels: Type-Defect Priority-Medium Component-ibus-anthy

New issue 854 by lidaobing: [ibus-anthy][patch] failed to start if /home/lidb/.anthy/imported_words_ibus__anthy_zipcode is a broken link
http://code.google.com/p/ibus/issues/detail?id=854

From: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=575540

patch:

--- engine/engine.py    2010-03-21 10:34:39 +0000
+++ engine/engine.py    2010-04-10 10:06:25 +0000
@@ -1433,7 +1433,7 @@
             os.makedirs(directory, 0700)
         backup_dir = os.getcwd()
         os.chdir(directory)
-        if path.exists(directory + '/' + name):
+        if path.lexists(directory + '/' + name):
             if path.islink(directory + '/' + name):
                 print >> sys.stderr, "Removing " + name
                 os.unlink(directory + '/' + name)


Hello,

in Debian, zipcode.t is installed at /usr/share/anthy/dict/zipcode.t (not
/usr/share/anthy/zipcode.t), so ~/.anthy/imported_words_ibus__anthy_zipcode
is a broken link[1], and engine.py failed to remove the broken link, cause
ibus-anthy failed to start[2]

[1]
$ ls -l ~/.anthy
total 8
drwx------ 2 lidb lidb 4096 2010-04-10 17:51 imported_words_default.d
lrwxrwxrwx 1 lidb lidb   26 2010-04-10 18:02
imported_words_ibus__anthy_zipcode -> /usr/share/anthy/zipcode.t
-rw-r--r-- 1 lidb lidb  702 2010-04-10 17:51 last-record2_default.utf8
-rw------- 1 lidb lidb    0 2010-04-10 17:48 lock-file_default

[2]
(ibus-daemon:9488): IBUS-WARNING **:
org.freedesktop.DBus.Python.OSError: Traceback (most recent call last):
  File "/usr/lib/pymodules/python2.5/dbus/service.py", line 702, in
_message_cb
    retval = candidate_method(self, *args, **keywords)
  File "/usr/lib/pymodules/python2.5/ibus/factory.py", line 69, in
CreateEngine
    engine = self.__factory.create_engine(engine_name)
  File "/usr/share/ibus-anthy/engine/factory.py", line 55, in
create_engine
    return engine.Engine(self.__bus, "%s/%d" % (self.ENGINE_PATH,
self.__id))
  File "/usr/share/ibus-anthy/engine/engine.py", line 132, in __init__
    self.__prop_list = self.__init_props()
  File "/usr/share/ibus-anthy/engine/engine.py", line 230, in
__init_props
    self.__set_dict_mode_props(anthy_props)
  File "/usr/share/ibus-anthy/engine/engine.py", line 294, in
__set_dict_mode_props
    self._link_dict_file(file)
  File "/usr/share/ibus-anthy/engine/engine.py", line 1482, in
_link_dict_file
    cls._link_dict_file_with_id(file, id, LINK_DICT_SINGLE)
  File "/usr/share/ibus-anthy/engine/engine.py", line 1444, in
_link_dict_file_with_id
    os.symlink(file, directory + '/' + name)
OSError: [Errno 17] File exists




--
You received this message because you are listed in the owner
or CC fields of this issue, or because you starred this issue.
You may adjust your issue notification preferences at:
http://code.google.com/hosting/settings

--
You received this message because you are subscribed to the Google
Groups "ibus-devel" group.
iBus project web page: http://code.google.com/p/ibus/
iBus dev group: http://groups.google.com/group/ibus-devel?hl=en

To unsubscribe, reply using "remove me" as the subject.

回复