Re: [Lazarus] How to tell lazarus the location of a used package?

2010-12-02 Thread Hans-Peter Diettrich

Bo Berglund schrieb:

Each package/project should have its own directories. This ensures  
that a package does not depend on a project, so it can work with many  
projects.


Not if they evolve and we must maintain old code when we need to
return to an older time...


Then you'll have to check out every revision into its own directory, 
possibly with a different package name (including the revision number).




And we usually are working on several projects at the same time so we
do not want one obstruct the other.


That's the typical use-case for virtual machines.

DoDi


--
___
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] How to tell lazarus the location of a used package?

2010-11-27 Thread Bo Berglund
On Fri, 26 Nov 2010 16:36:39 +0100, Mattias Gaertner
nc-gaert...@netcologne.de wrote:

On Fri, 26 Nov 2010 16:01:45 +0100
Bo Berglund bo.bergl...@gmail.com wrote:

 In Delphi I solve this by not having global paths to the installed
 components, instead I add the path to each component that is actually
 used by the project to the project specific browse path list. And I
 use relative path specifiers.

You can do the same in Lazarus. As written three times. All good things
are three. So I give up here.

Unless I have misunderstood all suggestions concerning this is to
actually modify the IDE (Lazarus) for the specific project while it is
being worked on. By modify I mean changing package locations for
Lazarus etc.
But then one cannot easily switch between different projects and we
tend to have multiple projects going on at the same time including
supprt ones (those are the ones back in time). Normally we do some
stuff then ask the customer a question, immediately switch to the main
task and work there while the customer responds.

But agin, I don't want to prolong this, I think I know enough now and
my conclusion is that we will start without using packages to see if
we are otherwise comfortable with FPC/Lazarus.


-- 
Bo Berglund
Developer in Sweden


--
___
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] How to tell lazarus the location of a used package?

2010-11-26 Thread Mattias Gaertner
On Fri, 26 Nov 2010 16:01:45 +0100
Bo Berglund bo.bergl...@gmail.com wrote:

 On Thu, 25 Nov 2010 21:05:48 -0500, waldo kitty
 wkitt...@windstream.net wrote:
 
 On 11/25/2010 06:09, Bo Berglund wrote:
  Now, the description on how packages work in lazarus leads me to
  believe that any given package can only exist in one single copy and
  this location is not inside the project code space.
 
  Each package/project should have its own directories. This ensures
  that a package does not depend on a project, so it can work with many
  projects.
 
  Not if they evolve and we must maintain old code when we need to
  return to an older time...
 
 isn't this what a versioning system is supposed to be able to take care of?? 
 simply check out the old version and do what you have to do?
 
 That is exactly what a verioning system is for...
 
 But it also means that EVERYTHING that is used to create a particular
 software release must be grabbed from the versioning system and used
 by the IDE. In principle one test is to check out, then do nothing
 else than build the application. Next do a binary file compare between
 the newly built version and the one created at the time of the tag.
 If they are not binary the same then something has changed in the
 environment...
 
 One such thing is for example IDE specific stuff that works its way
 into the compiled binary. An example is what I have been saying about
 Delphi components that are integrated into the IDE but have changed
 from the time of the old code generation to now.
 If these components are not also grabbed on the same tag as everything
 else then we have a difference...

Same for FPC specific stuff, used third party libs and tools.
 
 In Delphi I solve this by not having global paths to the installed
 components, instead I add the path to each component that is actually
 used by the project to the project specific browse path list. And I
 use relative path specifiers.

You can do the same in Lazarus. As written three times. All good things
are three. So I give up here.


[...]


Mattias
 

--
___
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] How to tell lazarus the location of a used package?

2010-11-25 Thread Mattias Gaertner
On Thu, 25 Nov 2010 12:09:16 +0100
Bo Berglund bo.bergl...@gmail.com wrote:

[...]
 Each package/project should have its own directories. This ensures  
 that a package does not depend on a project, so it can work with many  
 projects.
 
 Not if they evolve and we must maintain old code when we need to
 return to an older time...

I only said should. You can share directories, but then you have to
be more carefully.


  So if we want to return later to a version that was tagged in order to
  solve a bug we cannot get everything back to that state because we
  will still use newer packages than those active at the time the bug
  was created. Not good at all...
 
 I can't follow here.
 Use your cvs. Update to the tagged version. Then just press F9 in  
 Lazarus. The IDE will automatically recompile the packages.
 
 Yes, and this then is changed also for other projects that should not
 use this version

If you want to compile a project which needs a different cvs revision,
then you must update to that revision. If you want to switch often,
you may want to use a faster vcs like svn or bazaar (git is maybe
even faster for this case, but I heard it does not work well under
windows). 
If you want to switch even more often, then install both package
versions in different directories and use version numbers in the
Lazarus packages. If you can not use version numbers, then you can set
for each project explicitly what package file to use. This is then even
more specific than the Delphi search path.


  By having an environment variable one could in principle set that to
  point to a new place when starting work on a particular project and
  reset it afterwards
 
 Do you mean, you have the same package in several versions on your disk?
 Then why not use cvs to switch between them?
 Why does the package has no version number to distinguish?
 
 I do not use Lazarus except for testing right now. We use Delphi for
 our mainline work.
 But if we were to switch to Lazarus/FPC then I need to ensure that our
 process can still work.
 In Delphi there is nothing taht corresponds to packages, the closest I
 can get are componentsand even though these have some form ov version
 umbers that is not recognized by Delphi so there is no such mechanism
 as you propose.

True.
The Delphi system does not scale well for cross platform, open source,
multi teams. That's why the Lazarus package system tries to maximize
the use of relative paths, has version numbers and one output
directory for each package.

 
 The components I refer to as the Delphi variant to Lazarus packages
 are unfortunately code that we have to live with and they evolve over
 time. They are also installed in the IDE.
 But if we are to return to an earlier point in time it is not enough
 to update the project sources to an old tag unless also the components
 are updated at the same time to that same time instant.

?
What is the problem of updating the packages to the needed version?


 Hence the need to have them in a controlled environment with the other
 project sources outside the IDE. To do that we have gone through a lot
 of hoops including project specific search paths.

Yes, I know that Delphi and cvs have some limits and people had
to invent all kinds of workarounds.

 
 And we usually are working on several projects at the same time so we
 do not want one obstruct the other.

I guess that most paid developers work on several projects.

 
 This is exactly why I get worried about the packages being totally IDE
 global no matter where they are stored.

Again, with other words:
A Lazarus package is identified by its name and version. In a
project each package name can only be used once. If a project uses a
package X of minimum version 2.0 then the IDE will search for the X.lpk
with version greater or equal 2.0. When opening another project that
requires the same package X but with a version less than 2.0 then the
IDE will search for the X.lpk with version less than 2.0.
If for some reason you have two different X.lpk with the same version,
then you can set for the project the full path to the X.lpk, so the IDE
will always use this X.lpk for this project.
BTW, you can even have one X.lpk compiled differently for
each project using a different output directory.

So, the phrase packages being totally IDE global is wrong in many
ways.

Maybe you have one project that should be compiled with different
versions of a X.lpk?


 Maybe we should not use packages at all, that would at least solve
 this problem.

I still don't know what your problem is.
Maybe the problem is that you want to stick to your Delphi/cvs
workarounds?


Mattias


--
___
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] How to tell lazarus the location of a used package?

2010-11-25 Thread Max Vlasov
On Thu, Nov 25, 2010 at 2:09 PM, Bo Berglund bo.bergl...@gmail.com wrote:


 This is exactly why I get worried about the packages being totally IDE
 global no matter where they are stored.



Bo, you could notice the discussion about optimization recently, it was also
package-related and today I learned a little bout 9.29 build macros feature.


I think it's one of the thing (at least supposed to be) that makes packages
less global. For example, you can have package with a single unit, and the
uni lists many other units in its uses section. After that you define a
build macro changing the search paths depending on the chosen macro value.
This value is listed as a drop-down value in the main project options.
Starting this moment the package starts to begin being project dependent.
You want two versions ago - you change the macro value and rebuild.

The only problem is that it seems that it does not work exactly like Mattias
described, changing the values doesn't change the following build result or
at least one perform special actions in order for to work (I'm not yet aware
which actions). But I'm sure it can be fixed in the future.

Maxs Vlasov
--
___
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] How to tell lazarus the location of a used package?

2010-11-25 Thread Lukasz Sokol
On 25/11/2010 11:09, Bo Berglund wrote:

 This is exactly why I get worried about the packages being totally IDE
 global no matter where they are stored.
 Maybe we should not use packages at all, that would at least solve
 this problem.
 
Hi,

from outsiders' perspective : how about storing your entire toolchain and 
project in a 
(distributed) version control software ? So you can indeed install your packages
globally to IDE and have matching versions of packages (and of IDE and of 
compiler) at 
any time to go back to...? 
Your colleagues could a) check out required changes b) develop in their own 
branches 
c) push-pull commits between themselves and the master branch and always have 
everything
that's required for particular revision to compile and run, d) could update 
their toolchain
version to try newer FPC/Lazarus/packages, but still go back to original 
running setup.
All that for just a check-out and rebuild all (ide, packages, maybe fpc) at the 
start of 
day or at need;

(I would imagine people do it so if they use Lazarus from SVN...)

The only thing that wouldn't be kept in (d)vcs, would be the compiler needed to 
rebuild
the tool chain from command line, which I imagine should be the one installed 
system-wide.
(Or it could be kept in another repository, so you can go back in time with 
this as well)

(I know, it is overkill but IMHO simpler than keeping track of single 
package(s) ?)

Lukasz


--
___
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] How to tell lazarus the location of a used package?

2010-11-25 Thread waldo kitty

On 11/25/2010 06:09, Bo Berglund wrote:

Now, the description on how packages work in lazarus leads me to
believe that any given package can only exist in one single copy and
this location is not inside the project code space.


Each package/project should have its own directories. This ensures
that a package does not depend on a project, so it can work with many
projects.


Not if they evolve and we must maintain old code when we need to
return to an older time...


isn't this what a versioning system is supposed to be able to take care of?? 
simply check out the old version and do what you have to do?


--
___
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] How to tell lazarus the location of a used package?

2010-11-24 Thread Bo Berglund
On Tue, 23 Nov 2010 23:57:11 +0100, Mattias Gaertner
nc-gaert...@netcologne.de wrote:

On Tue, 23 Nov 2010 20:03:26 +0100
Bo Berglund bo.bergl...@gmail.com wrote:
 Why is one Lazarus using a relative path and the other an absolute
 path?

0.9.29 uses relative paths for packages in the Lazarus source
directory. When a new Lazarus is installed under a different path
(e.g. the path contains the Lazarus version) all new packages are used
automatically. 

Makes sense to use relative paths to make the environment portable.
But if Lazarus only uses relative paths for packages below the lazarus
top folder and not for other packages, it might impact portability and
co-operation unless all involved developers put the packages below
lazarus.
Is it possible to use an environment variable as the top locator? Like
for example:
{$PROJECTPACKAGES}\Mypackage\mypackagelaz.lpk

And on Windows the use of locations below the install dir implies that
lazarus itself is installed far away from the protected folder trees
(like Program Files for instance).
Which is what I always do anyway. :-D

-- 

Bo Berglund
Developer in Sweden


--
___
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] How to tell lazarus the location of a used package?

2010-11-24 Thread Mattias Gaertner
On Wed, 24 Nov 2010 09:30:01 +0100
Bo Berglund bo.bergl...@gmail.com wrote:

 On Tue, 23 Nov 2010 23:57:11 +0100, Mattias Gaertner
 nc-gaert...@netcologne.de wrote:
 
 On Tue, 23 Nov 2010 20:03:26 +0100
 Bo Berglund bo.bergl...@gmail.com wrote:
  Why is one Lazarus using a relative path and the other an absolute
  path?
 
 0.9.29 uses relative paths for packages in the Lazarus source
 directory. When a new Lazarus is installed under a different path
 (e.g. the path contains the Lazarus version) all new packages are used
 automatically. 
 
 Makes sense to use relative paths to make the environment portable.
 But if Lazarus only uses relative paths for packages below the lazarus
 top folder and not for other packages, it might impact portability and
 co-operation unless all involved developers put the packages below
 lazarus.

Your config files are not ported. They belong to your machine.


 Is it possible to use an environment variable as the top locator? Like
 for example:
 {$PROJECTPACKAGES}\Mypackage\mypackagelaz.lpk

That would only make sense if PROJECTPACKAGES would change from time
to time.

 
 And on Windows the use of locations below the install dir implies that
 lazarus itself is installed far away from the protected folder trees
 (like Program Files for instance).
 Which is what I always do anyway. :-D


Mattias
 

--
___
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] How to tell lazarus the location of a used package?

2010-11-24 Thread Bo Berglund
On Wed, 24 Nov 2010 11:06:15 +0100, Mattias Gaertner
nc-gaert...@netcologne.de wrote:

On Wed, 24 Nov 2010 09:30:01 +0100
Bo Berglund bo.bergl...@gmail.com wrote:

 On Tue, 23 Nov 2010 23:57:11 +0100, Mattias Gaertner
 nc-gaert...@netcologne.de wrote:
 
 On Tue, 23 Nov 2010 20:03:26 +0100
 Bo Berglund bo.bergl...@gmail.com wrote:
  Why is one Lazarus using a relative path and the other an absolute
  path?
 
 0.9.29 uses relative paths for packages in the Lazarus source
 directory. When a new Lazarus is installed under a different path
 (e.g. the path contains the Lazarus version) all new packages are used
 automatically. 
 
 Makes sense to use relative paths to make the environment portable.
 But if Lazarus only uses relative paths for packages below the lazarus
 top folder and not for other packages, it might impact portability and
 co-operation unless all involved developers put the packages below
 lazarus.

Your config files are not ported. They belong to your machine.


 Is it possible to use an environment variable as the top locator? Like
 for example:
 {$PROJECTPACKAGES}\Mypackage\mypackagelaz.lpk

That would only make sense if PROJECTPACKAGES would change from time
to time.

I am trying to get my head around this concept...
Currently we work in Delphi.

Say that we develop a number of different programs.
These programs have sourcefiles that are private to each.
But they also use common sources in various degrees.
We check out each project via CVS using modules definitions.
This way we get all needed sources including common ones into the
project folder in different subfolders.
The Delphi project file has search paths (relative) to these.

Now we can develop our program on differet workstations and check out
the same program sources several times if need be and all will work.
We also can make a change to common code that will not (yet) impact
any others using the same common code in another project.
At regulat intervals we tag from the top folder and after this we can
work onwards.
Using the CVS tags we can later return to exactly this place in time
for all of our files so we can reproduce a bug.

One of our big headaches in this scenario has been the custom
components that we (unwisely) created and installed in Delphi, because
the IDE could very well pick up code from the IDE tree rather than the
checked out code, which we want to keep very tight reigns on.

Now, the description on how packages work in lazarus leads me to
believe that any given package can only exist in one single copy and
this location is not inside the project code space.

So if we want to return later to a version that was tagged in order to
solve a bug we cannot get everything back to that state because we
will still use newer packages than those active at the time the bug
was created. Not good at all...

By having an environment variable one could in principle set that to
point to a new place when starting work on a particular project and
reset it afterwards

-- 

Bo Berglund
Developer in Sweden


--
___
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] How to tell lazarus the location of a used package?

2010-11-24 Thread Mattias Gärtner

Zitat von Bo Berglund bo.bergl...@gmail.com:


On Wed, 24 Nov 2010 11:06:15 +0100, Mattias Gaertner
nc-gaert...@netcologne.de wrote:
[...]
I am trying to get my head around this concept...
Currently we work in Delphi.

Say that we develop a number of different programs.
These programs have sourcefiles that are private to each.
But they also use common sources in various degrees.
We check out each project via CVS using modules definitions.
This way we get all needed sources including common ones into the
project folder in different subfolders.
The Delphi project file has search paths (relative) to these.

Now we can develop our program on differet workstations and check out
the same program sources several times if need be and all will work.
We also can make a change to common code that will not (yet) impact
any others using the same common code in another project.
At regulat intervals we tag from the top folder and after this we can
work onwards.
Using the CVS tags we can later return to exactly this place in time
for all of our files so we can reproduce a bug.


So far this sounds pretty normal.



One of our big headaches in this scenario has been the custom
components that we (unwisely) created and installed in Delphi, because
the IDE could very well pick up code from the IDE tree rather than the
checked out code, which we want to keep very tight reigns on.

Now, the description on how packages work in lazarus leads me to
believe that any given package can only exist in one single copy and
this location is not inside the project code space.


Each package/project should have its own directories. This ensures  
that a package does not depend on a project, so it can work with many  
projects.




So if we want to return later to a version that was tagged in order to
solve a bug we cannot get everything back to that state because we
will still use newer packages than those active at the time the bug
was created. Not good at all...


I can't follow here.
Use your cvs. Update to the tagged version. Then just press F9 in  
Lazarus. The IDE will automatically recompile the packages.




By having an environment variable one could in principle set that to
point to a new place when starting work on a particular project and
reset it afterwards


Do you mean, you have the same package in several versions on your disk?
Then why not use cvs to switch between them?
Why does the package has no version number to distinguish?


Mattias




--
___
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] How to tell lazarus the location of a used package?

2010-11-23 Thread Bo Berglund
On Mon, 22 Nov 2010 18:39:05 +, Martin laza...@mfriebe.de wrote:

On 22/11/2010 18:24, Bo Berglund wrote:
 On Sun, 21 Nov 2010 23:38:42 +, Martinlaza...@mfriebe.de  wrote:

 On 21/11/2010 22:16, Bo Berglund wrote:
 I have switched to using the SVN version of lazarus.
 I put it in parallel to the binary distribution lazarus so now I have
 two of them.
 and that means you want for at least one of them use (command line
 param, use windows shortcut / properties )
 --primary-config-path=C:\path\to\conf

 as long as they share the config dir, you may get a lot of oddities...
 If I do nothing, will they share or not share the config dir?
 And where is this config dir located?


They will share by default.

depends on os and os version

vista:
C:\Users\username\AppData\Local\lazarus

linux
/home/username/.lazarus

Then I don't understand...
I have done nothing about the config (since i did not know it
existed), so my new SVN version of Lazarus (the fixes branch) should
read the same data as the normal lazarus, right?
Then the same project opened in both lazarus:es would compile the same
way, right?
But the original lazarus does not complain about SdpoSerial, but the
SVN version does. How come?
Is there a dependency on which version of FPC is used? The SVN version
also uses the latest *released* FPC version, while the original
lazarus uses the FPC delivered in the setup for lazarus on Windows.

-- 

Bo Berglund
Developer in Sweden


--
___
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] How to tell lazarus the location of a used package?

2010-11-23 Thread Bo Berglund
On Tue, 23 Nov 2010 17:34:07 +0100, Sven Barth
pascaldra...@googlemail.com wrote:


 Then I don't understand...
 I have done nothing about the config (since i did not know it
 existed), so my new SVN version of Lazarus (the fixes branch) should
 read the same data as the normal lazarus, right?
 Then the same project opened in both lazarus:es would compile the same
 way, right?
 But the original lazarus does not complain about SdpoSerial, but the
 SVN version does. How come?
 Is there a dependency on which version of FPC is used? The SVN version
 also uses the latest *released* FPC version, while the original
 lazarus uses the FPC delivered in the setup for lazarus on Windows.


Did you use the pcp parameter as I've suggested you? If so, then you've 
two different configuration directories (which is the saver way 
regarding continued use of the release version - in my opinion).


Spot-on!
I had put the --pcp parameter in the shortcut that starts the lazarus
instances. I now have a config dir inside the program main folder for
each version.
But I copied the data from the original place into both (I think)
first.
Anyway, now I understand what is going on and the package is
recognized.

Thanks!


-- 
Bo Berglund
Developer in Sweden


--
___
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] How to tell lazarus the location of a used package?

2010-11-23 Thread Bo Berglund
On Tue, 23 Nov 2010 19:54:23 +0100, Bo Berglund
bo.bergl...@gmail.com wrote:

Anyway, now I understand what is going on and the package is
recognized.


Well, I was a bit premature.
I now looked in the config dirs and located the packagefiles.xml files
and had a look inside.
This is what I found:

Original Lazarus config:
Item7
Name Value=SdpoSerialLaz/
Version Minor=1 Release=4/
Filename
Value=C:\Programs\lazarus\components\sdpo\sdposeriallaz.lpk/
/Item7

New SVN version from the fixes branch:
Item6
Name Value=SdpoSerialLaz/
Version Minor=1 Release=4/
Filename Value=components\Sdpo\sdposeriallaz.lpk/
/Item6

Why is one Lazarus using a relative path and the other an absolute
path?


Bo Berglund


--
___
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] How to tell lazarus the location of a used package?

2010-11-23 Thread Mattias Gaertner
On Tue, 23 Nov 2010 20:03:26 +0100
Bo Berglund bo.bergl...@gmail.com wrote:

 On Tue, 23 Nov 2010 19:54:23 +0100, Bo Berglund
 bo.bergl...@gmail.com wrote:
 
 Anyway, now I understand what is going on and the package is
 recognized.
 
 
 Well, I was a bit premature.
 I now looked in the config dirs and located the packagefiles.xml files
 and had a look inside.
 This is what I found:
 
 Original Lazarus config:
 Item7
 Name Value=SdpoSerialLaz/
 Version Minor=1 Release=4/
 Filename
 Value=C:\Programs\lazarus\components\sdpo\sdposeriallaz.lpk/
 /Item7
 
 New SVN version from the fixes branch:
 Item6
 Name Value=SdpoSerialLaz/
 Version Minor=1 Release=4/
 Filename Value=components\Sdpo\sdposeriallaz.lpk/
 /Item6
 
 Why is one Lazarus using a relative path and the other an absolute
 path?

0.9.29 uses relative paths for packages in the Lazarus source
directory. When a new Lazarus is installed under a different path
(e.g. the path contains the Lazarus version) all new packages are used
automatically. 

Mattias

--
___
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] How to tell lazarus the location of a used package?

2010-11-22 Thread Sven Barth

Am 22.11.2010 00:38, schrieb Martin:

On 21/11/2010 22:16, Bo Berglund wrote:

I have switched to using the SVN version of lazarus.
I put it in parallel to the binary distribution lazarus so now I have
two of them.


and that means you want for at least one of them use (command line
param, use windows shortcut / properties )
--primary-config-path=C:\path\to\conf

as long as they share the config dir, you may get a lot of oddities...


He already uses pcp, otherwise the SVN IDE would have found the package 
like the release IDE had.


Regards,
Sven

--
___
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] How to tell lazarus the location of a used package?

2010-11-22 Thread Bo Berglund
On Sun, 21 Nov 2010 23:38:42 +, Martin laza...@mfriebe.de wrote:

On 21/11/2010 22:16, Bo Berglund wrote:
 I have switched to using the SVN version of lazarus.
 I put it in parallel to the binary distribution lazarus so now I have
 two of them.

and that means you want for at least one of them use (command line 
param, use windows shortcut / properties )
--primary-config-path=C:\path\to\conf

as long as they share the config dir, you may get a lot of oddities...

If I do nothing, will they share or not share the config dir?
And where is this config dir located?


-- 
Bo Berglund
Developer in Sweden


--
___
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] How to tell lazarus the location of a used package?

2010-11-22 Thread Martin

On 22/11/2010 18:24, Bo Berglund wrote:

On Sun, 21 Nov 2010 23:38:42 +, Martinlaza...@mfriebe.de  wrote:


On 21/11/2010 22:16, Bo Berglund wrote:

I have switched to using the SVN version of lazarus.
I put it in parallel to the binary distribution lazarus so now I have
two of them.

and that means you want for at least one of them use (command line
param, use windows shortcut / properties )
--primary-config-path=C:\path\to\conf

as long as they share the config dir, you may get a lot of oddities...

If I do nothing, will they share or not share the config dir?
And where is this config dir located?



They will share by default.

depends on os and os version

vista:
C:\Users\username\AppData\Local\lazarus

linux
/home/username/.lazarus


--
___
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] How to tell lazarus the location of a used package?

2010-11-21 Thread Mattias Gaertner
On Sun, 21 Nov 2010 23:16:09 +0100
Bo Berglund bo.bergl...@gmail.com wrote:

 I have switched to using the SVN version of lazarus.
 I put it in parallel to the binary distribution lazarus so now I have
 two of them. After I retrieved lazarus from SVN and also the latest
 release of fpc I got lazarus to compile with help from this list.
 
 So now I am back to my original project and the strange thing is that
 when I open the project in the new lazarus and compile I get an error
 because lazarus cannot find the sdposerial package.
 It actually opens a dialog box with the text:
 
 The project requires the package SdpoSerialLaz (=0.1.3). But it
 was not found. See Project - Project Inspector.
 
 The Project Inspector was already on screen, but I don't know what to
 do with it. Never seen it before...

 I *have* copied SdpoSerial from the original lazarus components dir
 into the new lazarus components dir. So what more do I need to do in
 order to get lazarus find the sdposerial package?

Just open the SdpoSerialLaz.lpk once.
The components directory has no special meaning to the IDE. The
package can be anywhere on your disk.


 I have intentionally NOT *installed* it in any of the Lazarus versions
 because it does not give me any visual object. But still if I use the
 original lazarus it manages to find sdposerial, but not with the SVN
 version.

The IDE saves the locations of the lpk files in its config directory.

 
 In Delphi 7 I used to set serach paths for units in my project options
 thus ensuring that I have full control over which version of common
 files were used by my application.
 But I cannot find a corrsponding property in the lazarus project
 options
 There simply seems to be no place to set project specific paths at
 all. What good is project options if you cannot set the project search
 paths

The project specific search paths are in the compiler options. But the
directories of SdpoSerialLaz belong to SdpoSerialLaz, not to your
project. Just tell the IDE where the SdpoSerialLaz.lpk is and let
Lazarus handle the search paths automatically.


Mattias

--
___
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] How to tell lazarus the location of a used package?

2010-11-21 Thread Bo Berglund
On Mon, 22 Nov 2010 00:11:23 +0100, Mattias Gaertner
nc-gaert...@netcologne.de wrote:

On Sun, 21 Nov 2010 23:16:09 +0100
Bo Berglund bo.bergl...@gmail.com wrote:

 I *have* copied SdpoSerial from the original lazarus components dir
 into the new lazarus components dir. So what more do I need to do in
 order to get lazarus find the sdposerial package?

Just open the SdpoSerialLaz.lpk once.
The components directory has no special meaning to the IDE. The
package can be anywhere on your disk.


Thanks, this solved the problem. But I would *never ever* have thought
that the action of opening a file like this would be sticky for the
future
What happens if one opens several different same-name lpk files in
different locations just to see what they contain? Will Lazarus then
use the last opened one? Seems very unsafe for the project to me

 I have intentionally NOT *installed* it in any of the Lazarus versions
 because it does not give me any visual object. But still if I use the
 original lazarus it manages to find sdposerial, but not with the SVN
 version.

The IDE saves the locations of the lpk files in its config directory.

What is the scope of this saving? For the currently open project or
for all future and past projects too?

 
 In Delphi 7 I used to set serach paths for units in my project options
 thus ensuring that I have full control over which version of common
 files were used by my application.
 But I cannot find a corrsponding property in the lazarus project
 options
 There simply seems to be no place to set project specific paths at
 all. What good is project options if you cannot set the project search
 paths

The project specific search paths are in the compiler options. But the
directories of SdpoSerialLaz belong to SdpoSerialLaz, not to your
project. Just tell the IDE where the SdpoSerialLaz.lpk is and let
Lazarus handle the search paths automatically.

Extremely strange that just opening the file will tell Lazarus where
the files are for the forseeable future


Bo Berglund


--
___
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus