'no_polkit' variant for Gconf (was Re: Inkscape as non-root? (-> gnome-vs -> gconf -> policykit -> fail))

David Evans devans at macports.org
Thu Jul 30 09:02:55 PDT 2009


>
> What are the risks of 'crippling' GConf in this way when I have no needs
> for the gnome desktop or whatever it is the essential part of? Any
> comments on the attached portfile patch would be highly appreciated -
> I'm new to MacPorts and it's my first attempt to build a software the
> size of Inkscape myself.
>
> tia, ~suv
>
>   
To answer this question specifically, GConf is used extensively by GNOME
applications (and many other non-GNOME
GTK+  applications as well) to store persistent preferences and
configuration information both default and user selected.
In the GNOME case many of these preferences may be shared between
applications.

Inkscape does not use GConf (yet) but uses its own preferences scheme
(dot files in the users directory).

The current implementation relies on dbus to communicate between the
applications that are attempting to store or
retreive preference information and gconfd which is launched by dbus on
an as needed per user session basis.

Using  --disable-defaults-services disables dbus as the communications
layer and may break GConf and hence many
other applications that depend on it.  I really haven't tried doing this
so I'm not sure if GConf will use another mechanism
to do this and continue to work or not.   A way to test would be to
install gconf-editor, which allows you to view and
manipulate GConf preference items directly, and see if it still works.

In addition, not that GConf does not provide a configuration item to
turn off the use of PolicyKit so simply disabling the
dependency on policykit is not a fool proof way to avoid using it.  If
policykit were already installed it would use it
anyway.  MacPorts policy is to include the dependency in this case to
ensure that all installations of the port build in the
same way. 

Dbus is also used directly by many applications.  For instance it is
used by GIMP to make sure that only one instance
of GIMP is active at a time. 

So the short answer is, if you do this, you will likely break many other
ports as well.  You could do this is inkscape
is the only thing you care about but I don't recommend it.

So the real issue here is not with Inkscape but with the problem of
installing ports that need sudo (there are others) to install properly
when you are running MacPorts strictly at the user level.   I don't have
a solution for this -- perhaps someone else
can address this.

Dave


More information about the macports-users mailing list