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

~suv suv-sf at users.sourceforge.net
Fri Jul 31 05:37:01 PDT 2009


On 30/7/09 18:02, David Evans wrote:
>> 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.
>
> 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.

Thank you for your insightful introduction to GConf, some of GNOMEs
basic principles and the necessity to have dbus enabled and running.

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

To clarify my initial intentions: I used MacPorts to install all needed
libraries and helper applications for Inkscape, but then proceeded to
build the application itself using the instructions on the Inkscape Wiki
page <http://wiki.inkscape.org/wiki/index.php/CompilingMacOsX> as
guidelines (i.e. I didn't not use the MacPorts Portfile for Inkscape).
My goal was to create the 'Inkscape.app' bundle with the most recent
updates from SVN.

<...>
> 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. 

I currently have GIMP 2.6.6 from gimponosx.sf.net installed, and had a
look at how it implements its dbus-dependencies by including its own
dbus-daemon/launcher into the application bundle.

Dbus will need to be part of the Inkscape port (and any Inkscape
application bundle) as soon as the new GSoC 2009 project implementing a
scripting API via dbus makes it into the trunk. Until then Inkscape
seems to run fine without it, even with a broken GConf install (except
Open ClipArt Library access).

> 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.

I already noticed the limitations when installing other Inkscape helper
applications and then some more ;-). The 'old' tools like ghostscript,
ImageMagick, xv run fine but using ggv instead of gv already reveals the
intertwined nature of current GNOME applications. Even Dia depends on
GConf/dbus to open its help pages in the browser.

> 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.

In my limited experience the increasingly(?) complex nature of GNOME
seems to undermine the ability of MacPorts to run as non-admin at user
level. How many ports of applications like Inkscape, Dia or Gimp can
still be installed without some of the deeply nested dependencies
requiring sudo-access in the destroot/install/activation phase?

I will try to figure out how launch and controll a dbus-session at user
level next, before I have to give up and acknowledge that the use of
sudo/admin rights is definitely not avoidable.

~suv


More information about the macports-users mailing list