← Back to team overview

kicad-developers team mailing list archive

Re: PATCH: Setting OS X KISYSMOD value in bundle

 

Den 08/01/2015 15.45 skrev "Adam Wolf" <adamwolf@xxxxxxxxxxxxxxxxxxxx>:
>
> Hi Wayne,
>
> When dealing with Kicad's internals, I often have the perspective of a
packager, and sometimes that makes me have weird ideas.
>
> I remember the search path discussions and the issues where it was
impossible to tell which footprint got picked.  I don't want to bring that
back.
>
> Right now, KISYS3DMOD has a default value defined in code if the
environment variable isn't set.  What about if there is a default value for
all of the standard environment variables?
>
> I'm not sure what everyone else thinks, but defining those default values
in CMake might actually be a good idea--then packagers can modify them
without patching, but it wouldn't be a problem either if we just split it
up into Lin/Win/OSX sections in the code.

I think it would be nice if smoe defaults was setable through cmake, it
would indeed make the packaing easier, I think.

I don't know if this would create other issues.

> Adam Wolf
> Cofounder and Engineer
> W&L
>
> On Thu, Jan 8, 2015 at 7:44 AM, Wayne Stambaugh <stambaughw@xxxxxxxxx>
wrote:
>>
>> Fully defined paths can be used in the fp-lib-table if that is your
>> preference.  Environment variable substitution is optional.  You are
>> free to use any environment variable you want.  KISYSMOD is merely the
>> variable name used for the default footprint library path.  I use
>> KILCLMOD to point to the path of my custom footprint libraries.  I set
>> these paths to the same disk partition and and path in both windows and
>> linux so I'm always using the same footprint libraries when I'm
>> developing on either platform.
>>
>> On 1/8/2015 8:33 AM, Adam Wolf wrote:
>> > Maybe.  For KISYSMOD, I am not sure if it is used anywhere in the
source.
>> >
>> > I do not think your work around would work for KISYS3DMOD, though.
>> >
>> > On Jan 8, 2015 7:29 AM, "Miguel Ángel Ajo" <majopela@xxxxxxxxxx
>> > <mailto:majopela@xxxxxxxxxx>> wrote:
>> >
>> >     Can’t users just change that reference to their own path on their
>> >     own fp-lib-table
>> >     instead of the ENV var reference if they don’t want the system
modules?
>> >
>> >     That would be reasonable enough to me.
>> >
>> >
>> >
>> >     Miguel Ángel Ajo
>> >
>> >     On Thursday, 8 de January de 2015 at 13:53, Adam Wolf wrote:
>> >
>> >>     I hear what you're saying.
>> >>
>> >>     I don't really like the idea of using environment variables to
>> >>     drive the behavior of GUI programs, especially in OS X.  They're
>> >>     tricky in OS X, and they're hard to explain to a lot of users.
>> >>
>> >>     Fixing this through changing the behavior of how KISYSMOD and
>> >>     probably the other environment variables work in Kicad is probably
>> >>     a fair bit of work, at least a week or two--when you include
>> >>     developer discussion, regression testing on other platforms, stuff
>> >>     like that, probably even longer.
>> >>
>> >>     I'm not 100% happy about it, but would something like this be an
>> >>     OK stopgap measure while we figure out the right thing moving
>> >>     forward?  I am fine only putting this patch in my builds.
>> >>
>> >>     Adam Wolf
>> >>     Cofounder and Engineer
>> >>     Wayne and Layne
>> >>
>> >>     On Jan 8, 2015 6:26 AM, "Bernhard Stegmaier"
>> >>     <stegmaier@xxxxxxxxxxxxx <mailto:stegmaier@xxxxxxxxxxxxx>> wrote:
>> >>>     __
>> >>>
>> >>>     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
>> >>>>     Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx <mailto:
kicad-developers@xxxxxxxxxxxxxxxxxxx>
>> >>>>     Unsubscribe : https://launchpad.net/~kicad-developers
>> >>>>     More help   : https://help.launchpad.net/ListHelp
>> >>>
>> >>>     _______________________________________________
>> >>>     Mailing list: https://launchpad.net/~kicad-developers
>> >>>     Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx
>> >>>     <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>
>> >>>     Unsubscribe : https://launchpad.net/~kicad-developers
>> >>>     More help   : https://help.launchpad.net/ListHelp
>> >>>
>> >>     _______________________________________________
>> >>     Mailing list: https://launchpad.net/~kicad-developers
>> >>     Post to : kicad-developers@xxxxxxxxxxxxxxxxxxx
>> >>     <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>
>> >>     Unsubscribe : https://launchpad.net/~kicad-developers
>> >>     More help : https://help.launchpad.net/ListHelp
>> >
>> >
>> >
>> > _______________________________________________
>> > Mailing list: https://launchpad.net/~kicad-developers
>> > Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx
>> > Unsubscribe : https://launchpad.net/~kicad-developers
>> > More help   : https://help.launchpad.net/ListHelp
>> >
>>
>>
>> _______________________________________________
>> Mailing list: https://launchpad.net/~kicad-developers
>> Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx
>> Unsubscribe : https://launchpad.net/~kicad-developers
>> More help   : https://help.launchpad.net/ListHelp
>
>
>
> _______________________________________________
> Mailing list: https://launchpad.net/~kicad-developers
> Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~kicad-developers
> More help   : https://help.launchpad.net/ListHelp
>

References