glib user_data_dir set to /opt/local/share

Jonathan Koren jonathan at robotmonkeys.net
Mon Mar 17 22:30:39 PDT 2014


I’m on Mavricks with MacPorts 2.2.1

I recently upgraded the meld port (@1.8.4), and now when ever I try to run it, it blows up with an OSError.
(OSError: [Errno 13] Permission denied: '/opt/local/share/meld/recent-NbPmhP.meldcmp’ )

Looking into it, it appears that the problem is that meld wants to write a tempfile to the user_data_dir specified by glib. (See line 53 in /opt/local/lib/meld/meld/recent.py )

I don’t believe user_data_dir is set correctly. This call is intended to get a directory for user-specific data, not a system-wide directory. (See https://developer.gnome.org/glib/2.37/glib-Miscellaneous-Utility-Functions.html#g-get-user-data-dir). 

I’m not sure which glib meld is using, but I’ve got glib1 @1.2.10 and glib2 @2.38.2

0) Is anyone else seeing this? I suspect this is happening for all ports that rely on glib.
1) This needs to be fixed. And I suspect the fix needs to be in the underlying glib port
2) Does anyone know a work around, beyond setting /opt/local/share to be world writeable?

Thanks.

--
jonathankoren
jonathan at robotmonkeys.net






More information about the macports-users mailing list