Plans for Non-Gnome environments?

Asked by Andreas

Hi there,

I'm happily using sbackup on my Ubuntu netbook and thought I give it a go on OS X as well (MacPorts installed, no GNOME environment running though). Installation goes fine if you disable dbus-reload and gconf-schema-install:

make install DISABLE_MAKEFILE_DBUS_RELOAD="yes" GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL="yes"

But running sbackup-config-gtk then fails:

 $ sbackup-config-gtk
Traceback (most recent call last):
  File "/usr/local/bin/sbackup-config-gtk", line 30, in <module>
    system.set_gio_env_from_session()
  File "/usr/local/share/sbackup/sbackup/util/system.py", line 278, in set_gio_env_from_session
    _set_envvar_from_session(key = 'GNOME_KEYRING_CONTROL')
  File "/usr/local/share/sbackup/sbackup/util/system.py", line 345, in _set_envvar_from_session
    _session = get_session_name()
  File "/usr/local/share/sbackup/sbackup/util/system.py", line 356, in get_session_name
    if grep_pid("gnome-session") is not None:
  File "/usr/local/share/sbackup/sbackup/util/system.py", line 444, in grep_pid
    output = exec_command_stdout(args = ["pgrep", processname])
  File "/usr/local/share/sbackup/sbackup/util/system.py", line 428, in exec_command_stdout
    _output = subprocess.Popen(args, stdout = subprocess.PIPE, env = env).communicate()[0]
  File "/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/subprocess.py", line 623, in __init__
    errread, errwrite)
  File "/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/subprocess.py", line 1141, in _execute_child
    raise child_exception
OSError: [Errno 2] No such file or directory

Do you have any plans to make sbackup run in a non-Gnome environment or could you give me some hints how to achieve that? I don't see why gnome-session or gnome-keyring should be absolutely vital to run sbackup.

Cheers,
Andreas

Question information

Language:
English Edit question
Status:
Expired
For:
sbackup Edit question
Assignee:
No assignee Edit question
Last query:
Last reply:
Revision history for this message
Jean-Peer Lorenz (peer.loz) said :
#1

Hello Andreas,

thanks for using SBackup.

Well, personally I've no intention to port SBackup to non-free OS such as Windows or OS-X. One reason for this is the lack of testing machines running these operation systems. However, nothing speaks against such port and I'm willing to incorporate fixes and patches to support it: improvement of install scripts, workarounds etc.

Your considerations regarding 'GNOME_KEYRING_CONTROL' are correct though I'm not sure about required workarounds.
At first, please file a bug report for this issue. Next step could be a list of environment variable not available on OS-X and some patches to work around these. Do you have some programming experience? Can you run SBackup from tarball or even bzr branch?

So long,
Jean-Peer

Revision history for this message
Andreas (andreas-wilm) said :
#2

Hi Jean-Peer,

thanks for responding to my query.

It turns out pgrep (used in grep_pid()) was missing on my OS X system, which is why seemingly some environment variables couldn't be read. Furthermore I had not installed some more dependencies (dbus-python, py-gnome and proctools; lots of gnome related stuff was already installed, so can't give a full dependency list for Mac ports users).

When launching sbackup-config-gtk with sudo I get the following error message:

"""
Unable to get PID of process 'gnome-session'.
Unable to get PID of process 'ksmserver'.
Neither Gnome nor KDE session is running
Dynamic session lookup supported but failed: launchd did not provide a socket path, verify that org.freedesktop.dbus-session.plist is loaded!
Error while getting gconf setting: Failed to contact configuration server; some possible causes are that you need to enable TCP/IP networking for ORBit, or you have stale NFS locks due to a system crash. See http://projects.gnome.org/gconf/ for information. (Details - 1: Failed to get connection to session: Not enough memory)
Default value is used.
Dynamic session lookup supported but failed: launchd did not provide a socket path, verify that org.freedesktop.dbus-session.plist is loaded!
Error while setting gconf value: Failed to contact configuration server; some possible causes are that you need to enable TCP/IP networking for ORBit, or you have stale NFS locks due to a system crash. See http://projects.gnome.org/gconf/ for information. (Details - 1: Failed to get connection to session: Not enough memory)
Error can be safely ignored: setting is not being changed.
Failed to start message bus: launchd's environment variable DBUS_LAUNCHD_SESSION_BUS_SOCKET is empty, but should contain a socket path.

EOF in dbus-launch reading address from bus daemon
D-Bus session bus launched

Unable to read environment variable ''. Skipped.
"""

However
$ echo $DBUS_LAUNCHD_SESSION_BUS_SOCKET
/tmp/launch-06QVF7/unix_domain_listener
and
$ ps ax | grep dbus
  213 ?? S 0:00.02 /opt/local/bin/dbus-daemon --nofork --session

Any idea where to look next?

Thanks,
Andreas

Revision history for this message
Launchpad Janitor (janitor) said :
#3

This question was expired because it remained in the 'Open' state without activity for the last 15 days.