[sugar] gconf woes

Sayamindu Dasgupta sayamindu at gmail.com
Sun Nov 23 12:45:32 EST 2008


On Sun, Nov 23, 2008 at 10:44 PM, Daniel Drake <dsd at laptop.org> wrote:
> Hi,
>
> As we all know, latest joyride can't launch activities. Chris Ball
> pointed out that disabling rainbow solves the issue.
>
> The problem is that the sugar module imports try to read the XO
> nickname, colours, etc, information which is now stored in gconf. But,
> gconf is a per-user thing, everyone has their own store. Rainbow
> launches activities as different users, so with the default behaviour
> we cannot expect activities to be able to access sugar's
> configuration.
>
> Potential workaround: set ORBIT_SOCKETDIR=/tmp/orbit-olpc in rainbow,
> and loosen permissions on /tmp/orbit-olpc/*
> This works, but causes gconf to complain loudly that /tmp/orbit-olpc
> is not owned by the current user (i.e. the one running the activity)
>
> Tomeu raised the point that GConf2-dbus would solve this, as it
> provides a per-session-bus settings repository, rather than a per-user
> one. Rainbow already shares the session bus between olpc user and
> activities. We actually shipped GConf2-dbus in 8.1, but dropped it for
> 8.2 because at the time, nobody could offer an explanation of why we
> might need or want it.
> Switching back to GConf2-dbus does raise some questions though:
>
>  - It looks like a dead project. Not updated since 2.16.0. Do we want
> to be burdened with it?
> miraculously, it compiles and works fine after a BuildRequires tweak:
> http://koji.fedoraproject.org/koji/taskinfo?taskID=946380
>  - This still raises questions about our security model, IMO. Rainbow
> prevents activities from messing with 'the rest of the system.' But if
> we let activities access gconf, they can screw up any application that
> stores information there (e.g. sugar).
>  - and the above point raises the possibility of a per-activity gconf
> store, with associated gconf daemon, but this adds about 2mb memory
> usage per activity...
>


IIRC, the reason we wanted Gconf Dbus was that we wanted to avoid the
dependency on Orbit and the rest of the stuff that it pulls in. Is
there any reason to do otherwise at the moment ? I think upstream
GNOMe has also plans to switch to GConf Dbus[1], but I'm not sure
when. The maemo guys seem to be using GConf Dbus as well.
Thanks,
Sayamindu



[1] http://projects.gnome.org/gconf/plans.html
-- 
Sayamindu Dasgupta
[http://sayamindu.randomink.org/ramblings]


More information about the Sugar mailing list