Recent

Author Topic: Lazarus Season of Code - Pre-eliminary Announcement  (Read 46110 times)

IPguy

  • Sr. Member
  • ****
  • Posts: 385
Re: Lazarus Season of Code - Pre-eliminary Announcement
« Reply #15 on: July 29, 2010, 04:46:21 am »
Quote
0.9.27..0.9.29
Quote
Why do you need this, [... rest removed....]

Why? Example:  I'm attempting to track down what I think is a Lazarus bug that was introduced sometime between the last stable version and 0.9.29-26515, which means I'm having to install / uninstall multiple times. 

It would be much nicer if the installation process made it easy to have parallel versions so when I have to do this for the next several bugs I'm likely to find, the investigation process goes much faster and I can get back to production programming. 

My vision:  Install the stable versions in a standard location; for the other versions, ask (and suggest) where the user would like the s/w installed.

Chronos

  • Full Member
  • ***
  • Posts: 240
    • PascalClassLibrary
Re: Lazarus Season of Code - Pre-eliminary Announcement
« Reply #16 on: July 29, 2010, 08:22:01 am »
Conclusion should be to create separate application called "Lazarus Manager" which take over installation process of individual versions of Lazarus as well as fpc and allow to run multiple Lazarus instance with different configuration directory. So finally it is good example of possible task for "seasons of code".

Capabilities:
- in simple way manage multiple installation of Lazarus in different directories
- able to download stable release, snapshot or some specific SVN version
- manager different fpc versions in separate list and able to assign it to specific Lazarus installation
- support for cross-compilation and ability to download or build environment for specific architecture
- able to build Lazarus and fpc and be able to start lazarus.old.exe in simple way
and more...

This should be usable for all platforms.

felipemdc

  • Administrator
  • Hero Member
  • *
  • Posts: 3538
Re: Lazarus Season of Code - Pre-eliminary Announcement
« Reply #17 on: July 29, 2010, 09:02:36 am »
My vision:  Install the stable versions in a standard location; for the other versions, ask (and suggest) where the user would like the s/w installed.

The installer already asks where you want to install it, but the problem is that it has a single configuration file for all installed versions, something which was done to follow MS guidelines. It should instead have one configuration file per version at least, and maybe per revision for snapshots and then on installation he would ask if you want to import an existing configuration file. Usually the right answer would be no.

For reference see:

http://wiki.lazarus.freepascal.org/Multiple_Lazarus

Martin_fr

  • Administrator
  • Hero Member
  • *
  • Posts: 9754
  • Debugger - SynEdit - and more
    • wiki
Re: Lazarus Season of Code - Pre-eliminary Announcement
« Reply #18 on: July 29, 2010, 12:15:07 pm »
The installer already asks where you want to install it, but the problem is that it has a single configuration file for all installed versions, something which was done to follow MS guidelines. I

And the problem is, that you can only change the location, if you have a shortcut (on windows) or batch/shell-script or strart by hand from cmdl-ne, since you need to specify a command line param


A solution could be to have a laz.cfg or laz.ini file, which resides in hte installation dir, and can contain commandline arguments => it is read at start up, and added to the commandline-params.

Then each installation can have such a file, and never mind how you start the exe, it will point to the correct location.


felipemdc

  • Administrator
  • Hero Member
  • *
  • Posts: 3538
Re: Lazarus Season of Code - Pre-eliminary Announcement
« Reply #19 on: July 29, 2010, 02:26:32 pm »
An easier solution would be to just put the version in the name of the configuration file, and have a dialog for the first time you run lazarus to ask if you want to import a configuration file from an older version.

jixian.yang

  • Full Member
  • ***
  • Posts: 173
Re: Lazarus Season of Code - Pre-eliminary Announcement
« Reply #20 on: August 10, 2010, 03:35:00 am »
1   Implement a cross-platform API to support complex input methods (japanese, chinese) in the LCL
7   Fix database bugs.
12   Create and integrate internet package database as server web pages and as tool for direct access and management from IDE.

The tasks above are of interest to me.

But I wonder if someone can tell me how to start, thanks in advance.


felipemdc

  • Administrator
  • Hero Member
  • *
  • Posts: 3538
Re: Lazarus Season of Code - Pre-eliminary Announcement
« Reply #21 on: August 10, 2010, 06:56:47 am »
Just contact me via Private Message, and then I will pass you my e-mail.

Adem

  • Newbie
  • Posts: 6
Re: Lazarus Season of Code - Pre-eliminary Announcement
« Reply #22 on: August 10, 2010, 09:34:09 am »
While I can understand people's distance (aversion?) to using the Registry, I cannot see how --successfully-- some details can be handled.

1) For example, unless you use the Registry, the only way to find out what other versions of FPC or Lazarus have been installed is through disk scan --or, by asking the user to point the installer to those installations. Even though this could be simplified somewhat by having a central file that keeps a note of those installations, I am not sure it would be the best way to do it --using the Registry seems a better alternative, if only to keep these minimal information.

2) Even though the current Lazarus installer has served a good purpose by also installing a FPC that it is guaranteed to work with, there should really be two installers; one for Lazarus, the other for FPC.

3) Now that the new installer (when it happens) will make sure more than one version of FPC or Lazarus can coexist in the same system, there should be a utility that helps the user to choose which version of FPC/Lazarus should be the default application for *.pas, *.pp, *.lpr etc.

4) Uninstaller should respect Windows conventions; i.e. it should clear everything it installed (see paragraph 3 too, it it's the default application) and offer to clear also the files/folders it generated (i.e. the *.o files etc.). Plus, users should be able to uninstall these from Control Panel's 'Add/Remove Programs'.

clauslack

  • Sr. Member
  • ****
  • Posts: 275
Re: Lazarus Season of Code - Pre-eliminary Announcement
« Reply #23 on: August 11, 2010, 02:01:07 am »
I like a Portable Lazarus, all stuff (Lazarus, Free Pascal, config files, etc) in one directory,
so I can have many many diferent versions (stable and svn version) in any machine, without any instalation, only copy the directory and ready.

The portable instalation seems to be more robust that other options, and more simply.

With two options, the actual instalation  and the portable instalation (like Miranda IM http://www.miranda-im.org/)

Regards

fabienwang

  • Sr. Member
  • ****
  • Posts: 449
  • Lazarus is the best
    • My blog
Re: Lazarus Season of Code - Pre-eliminary Announcement
« Reply #24 on: August 11, 2010, 10:15:53 am »
What is all that discussion about? a great installer for each of you?  >:D

seriously, people who wants different version can still install lazarus in
c:\laz0924b
c:\laz0928b

instead of the default c:\lazarus

and i find the windows installer perfect and not that heavy if you compare with other IDEs.

And about the Season of Code? are there project to enhance Lazarus or to promote it?
I'm using Arch Linux.
Known for: CPickSniff, OpenGrabby
Contributed to: LazPaint

clauslack

  • Sr. Member
  • ****
  • Posts: 275
Re: Lazarus Season of Code - Pre-eliminary Announcement
« Reply #25 on: August 11, 2010, 03:41:27 pm »
Quote
seriously, people who wants different version can still install lazarus in
c:\laz0924b
c:\laz0928b

Yes you can install Multiple Lazarus but is hell with config files, and compiled packages, because all this stuff is saved in the User Directory.

Is hard the mainteinance of Multible Lazarus versions.
IMHO Portable Lazarus is an easy option.

felipemdc

  • Administrator
  • Hero Member
  • *
  • Posts: 3538
Re: Lazarus Season of Code - Pre-eliminary Announcement
« Reply #26 on: August 11, 2010, 03:49:19 pm »
So, would the following changes solve your problem?

1> Add in the main Lazarus directory a Windows shortcut which runs:
startlazarus.exe --primary-config-path=.\

2> Add an option in the installer to add --primary-config-path=LAZARUS_PATH\ to the Lazarus icon in the desktop. Or just add 2 icons

3> The Lazarus program files menu entry could come with a "Single User Lazarus" entry which runs the respective entry

Edit: Actually only items 1 and 3 should be enough, it seams to me
« Last Edit: August 11, 2010, 04:15:16 pm by felipemdc »

Martin_fr

  • Administrator
  • Hero Member
  • *
  • Posts: 9754
  • Debugger - SynEdit - and more
    • wiki
Re: Lazarus Season of Code - Pre-eliminary Announcement
« Reply #27 on: August 11, 2010, 03:59:07 pm »
Yes you can install Multiple Lazarus but is hell with config files, and compiled packages, because all this stuff is saved in the User Directory.

But that (the user dir) should (and must) be the default. Everything else is an expert option.

Window, Linux, OsX they are all multi user operating systems. And any proper application for a multi user OS, should support this (and support it as the default).

That doesn't mean, it can't be an expert option, even in the installer. As long as the installer still allows the default installation, in an easy and quick manner (e.g. default install, as few clicks as possible. Even if that may mean more work, if you want an other option)

Adem

  • Newbie
  • Posts: 6
Re: Lazarus Season of Code - Pre-eliminary Announcement
« Reply #28 on: August 11, 2010, 04:53:56 pm »
What is all that discussion about? a great installer for each of you?  >:D

Not really.

An installer that complies with Windows' conventions/rules will do.

Quote
seriously, people who wants different version can still install lazarus in
c:\laz0924b
c:\laz0928b
instead of the default c:\lazarus

FPC/Lazarus is the only application (I have seen within the last decade) that insists on installing in Windows right under the root.

By forcing the user to install it right under the root, you're also forcing the user to have Administrator rights. This, in return, makes the whole system unsafe as hell.

Ever since Vista, this is how it should be:

Binaries (read-only stuff) should be installed under

32-bit FPC or Lazarus --> C:\Program Files (x86)\
64-bit FPC or Lazarus --> C:\Program Files\

User generated data, including object files etc. should go under

C:\Users\{$USERNAME}\AppData\Local\FPC\
C:\Users\{$USERNAME}\AppData\Local\Lazarus\

User's projects etc:

C:\Users\{$USERNAME}\Documents\Lazarus\

 

TinyPortal © 2005-2018