You're right. It's a problem with couch, not lernid.

The error listed above is happening because /etc was in my path (probably a 
holdover from some earlier system; I don't think there's any reason I still 
need /etc in my path on modern Linux, but a lot of sysadmin programs used to 
live there.) /usr/lib/python2.6/dist-packages/desktopcouch/local_files.py line 
43 does this:
    for x in os.environ['PATH'].split(':'):
        if os.path.exists(os.path.join(x, 'couchdb')):
            COUCH_EXE = os.path.join(x, 'couchdb')
and since there's both /usr/bin/couchdb and /etc/couchdb, and there's no break 
in the loop, couch matches the last match rather than the first one and ends up 
trying to execute /etc/couchdb.

But if I remove /etc from my path, and try "import gwibber.lib" in python, I 
just get an error a few lines farther in the same file:
>>> import gwibber.lib
>>> import gwibber.lib
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib/python2.6/dist-packages/gwibber/lib/__init__.py", line 2, in 
<module>
    from gwibber import util
  File "/usr/lib/python2.6/dist-packages/gwibber/util.py", line 2, in <module>
    from microblog.util.couch import RecordMonitor
  File "/usr/lib/python2.6/dist-packages/gwibber/microblog/util/couch.py", line 
4, in <module>
    import desktopcouch, pycurl, oauth, threading, urllib, re, json
  File "/usr/lib/python2.6/dist-packages/desktopcouch/__init__.py", line 20, in 
<module>
    from desktopcouch.start_local_couchdb import process_is_couchdb, 
read_pidfile
  File "/usr/lib/python2.6/dist-packages/desktopcouch/start_local_couchdb.py", 
line 38, in <module>
    from desktopcouch import local_files
  File "/usr/lib/python2.6/dist-packages/desktopcouch/local_files.py", line 
297, in <module>
    xdg_base_dirs.save_config_path("desktop-couch"))
  File "/usr/lib/python2.6/dist-packages/desktopcouch/local_files.py", line 
237, in __init__
    self.configuration = _Configuration(self)
  File "/usr/lib/python2.6/dist-packages/desktopcouch/local_files.py", line 91, 
in __init__
    {'desktopcouch': 'basic'})
gnomekeyring.IOError

That's inside a try clause, but the only exceptions handled are
gnomekeyring.NoMatchError and gnomekeyring.CancelledError:, not
gnomekeyring.IOError.

This is on a system that's not running a gnome desktop, so it may be
assuming some gnome keyring service that isn't running, and not checking
for the error in that case.

** Summary changed:

- lernid package has missing dependencies (couch)
+ import gwibber.lib gives couchdb errors

** Package changed: lernid (Ubuntu) => desktopcouch (Ubuntu)

-- 
import gwibber.lib gives couchdb errors
https://bugs.launchpad.net/bugs/577064
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.

-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to