← Back to team overview

kicad-developers team mailing list archive

Re: PATCH: Setting OS X KISYSMOD value in bundle

 

 

Hi Adam, hi all, 

that IMHO could be problematic (depends on what you intend to have). 

For a single-user environment this might be OK, but it then forces
modules to be in a machine specific folder common to all users. In a
multi-user environment you probably might not want to have that. And, I
never read somewhere that you can override this setting of the bundle
somehow, so this could be a once and for all decision (as long as you
don't fiddle around with the Info.plist) and you wouldn't need an
environment variable at all...
Further, I think I tried once to use "~" or "$HOME" in Info.plist but it
doesn't expand such variables. So, you obviously can't set the path to
something in user home with this method. 
Last, I don't know if always any (non-root) user is allowed to write
into /Library/Application Support/kicad? 

In my opinion, the old concept of search paths did fit such hardcoded
paths much better than it is currently with environment variables. If
environment variables are too hard to set, then probably a configuration
setting directly from some "Settings" menu would be better. 

My opionion: I wouldn't want to have it that way, but since I am the
only one using KiCad on my machines I can also live with some links
pushing things into the spot I want to have it. 

This altogether is somewhat inconsistent, because eeschema will *always*
look in <base>/library with <base> being (in that order):
* $KICAD
* ~/Library/Application Support
* /Library/Application Support
* <kicad.app>/Contents/SharedSupport 

So, if the path should be fixed for pcbnew, I would at least expect
eeschema to behave the same way (i.e., removing all the other paths and
also pointing it to the one global
/Library/Application/Support/kicad/library). 

Regards,
Bernhard 

PS: 

I just had a brief look at the Apple docs and did see here 

https://developer.apple.com/library/mac/documentation/General/Reference/InfoPlistKeyReference/Articles/LaunchServicesKeys.html#//apple_ref/doc/uid/20001431-106825


that obviously the environment set in the Info-plist is only valid when
launching via an icon, but not via command-line:
<<<
These environment variables are set only for apps launched through
Launch Services. If you run your executable directly from the command
line, these environment variables are not set. 
>>> 

So, another issue that already now with the KIGITHUB variable might lead
to confusion... 

On 2015-01-08 06:52, Adam Wolf wrote: 

> Hi folks, 
> 
> As you may know, it's harder than it seems to set an environment variable on a bundle in OS X as a user. 
> 
> I have a patch here for the OS X bundle that sets KISYSMOD to /Library/Application Support/kicad/modules 
> 
> Please let me know if there are any questions or comments. 
> 
> Thanks! 
> 
> Adam Wolf 
> Cofounder and Engineer 
> W&L 
> 
> _______________________________________________
> Mailing list: https://launchpad.net/~kicad-developers [1]
> Post to : kicad-developers@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~kicad-developers [1]
> More help : https://help.launchpad.net/ListHelp [2]
 

Links:
------
[1] https://launchpad.net/~kicad-developers
[2] https://help.launchpad.net/ListHelp

Follow ups

References