[sugar] gconf woes

Simon Schampijer simon at schampijer.de
Mon Nov 24 11:26:52 EST 2008


Sayamindu Dasgupta wrote:
> 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

We use gconf-dbus as well in sugar-jhbuild to be able to run several 
instances (SUGAR_PROFILE=sayamindu2 sugar-emulator)

Best,
    Simon


More information about the Sugar mailing list