[Lazarus] The default Lazarus profile directory location

Graeme Geldenhuys graemeg.lists at gmail.com
Thu Jun 4 13:18:54 CEST 2009


2009/6/4 Mattias Gärtner <nc-gaertnma at netcologne.de>:
> Of course some users have written some shell scripts using fixed path.
> And some users have written external pascal programs. They probably didn't
> use GetAppConfigDir either.

When that is not really our concern is it? Whatever custom
applications developer have created is there worry. Surely the core
Lazarus developers don't dictate the future of lazarus development
based on "what if somebody wrote a custom tool" case. It's there
custom tool, which they need to maintain based on there version of
Lazarus IDE.


> Please give an example.

I thought I already did. Setting the variable PrimaryConfigPath can be
move out of platform specific InternalInit() procedure to a common
location, seeing that using GetAppConfigDir() would be common to all
platforms.

> A 'move' is not simple.
> For example when you install a package, the IDE executable lies in the
> config directory. You can not move this under windows while the IDE runs.
> startlazarus can do that.

A 'move' is not required under Windows, because Windows version of
Lazarus IDE already use GetAppConfigDir() result. It's only needed for
unix based OSes.

I even think ~/.lazarus/ is incorrect for OS X. What path does
GetAppConfigDir(False) return under OS X? Doesn't OS X use different
directory hierarchy standards compared to Linux, or does OS X
applications also use the hidden "dot" directories? Knowing Mac users,
I would guess not. Sorry, I don't own OS X so I cannot confirm this -
I'm only going with what I have heard or read on the internet about
Mac's.

The other point I made before, is that the lazarus executable doesn't
contain the "checking profile location" and "move" code, only
'startlazarus' does. This mean moving the lazarus executable living in
the profile directory would not be a problem because it occurs before
lazarus is run, so no file locking occurred yet.


> What if the move fails for other reasons?

I can't think how or why. You *will* have write access, because
GetAppConfigDir(False) should return a directory that the current user
has write access to. That's the whole point of GetAppConfigDir(False)
- ever changing config files live in that directory.

>
> Not everyone uses startlazarus.

Then we should educate the users, or the icon and menu creation
scripts should be improved to do so. The lazarus developers did not
include the 'startlazarus' application for their good health - they
included it for a reason. ;-)


Regards,
  - Graeme -


_______________________________________________
fpGUI - a cross-platform Free Pascal GUI toolkit
http://opensoft.homeip.net/fpgui/




More information about the Lazarus mailing list