Forum > Lazarus
Lazarus Season of Code - Pre-eliminary Announcement
Adem:
--- Quote ---I agree, it has to be more easy, but don't blaime the Lazarus developers, but blame the way Linux is structured.
If you had problem installing any software on Windows (including Lazarus) then the problem may be between the keyboard and the chair, trust me...[/quote
I am not sure if this is directed at (or includes) me, but let me say this (pre-emptively, if need be).
I am not blaming Lazarus or FPC developers. Nor am I simply asking (or begging).
I'd like more people using Lazarus or FPC on Windows so that their applications can get ported to other platforms; and, I am more than prepared to chip in for it --through donations or bounties.
The reason I consider the installer important is because it is the first experience everyone gets.
It has to be easy.
--- End quote ---
Martin_fr:
--- Quote from: Adem on July 28, 2010, 09:11:18 pm ---
--- Quote from: Martin_fr on July 28, 2010, 08:16:10 pm ---This is not solely an installer issue.
--- End quote ---
Actually, it is.
--- End quote ---
...
--- Quote from: Adem on July 28, 2010, 09:11:18 pm ---I am not talking about 'make'ing FPC --it's an entirely different issue --'make' cannot deal with paths with spaces in them. That is known.
But, once FPC is 'make'd, there is no reason to keep to 'no paths with spaces' rule.
The installer, can --therefore-- relocate the necessary binaries from FPC to, say, 'C:\Program Files\FPC' and re-adjust its config files etc.
--- End quote ---
fpc yes, if you want it as separate installation (it comes pre-compiled anyway).
Lazarus: no => because installation/deinstallation of packages require to recompile the IDE.
(packages: as in lnet, synapse, or the ones that come with Lazarus)
--- Quote from: Adem on July 28, 2010, 09:11:18 pm ---
--- Quote ---Lazarus depends on fpc, and fpc depends on other tools (like winres). And some of them (afaik winres) do not work, if there a spaces in the folder name.
--- End quote ---
Well.. it will to be made to work then, won't it?
--- End quote ---
you need to talk to 3rd party then => the team maintaining winres needs to accept your patch (or the fpc team needs to maintain a separate version for a life time, and merge all fixes and extensions all the time....)
--- Quote from: Adem on July 28, 2010, 09:11:18 pm ---
--- Quote ---And for someone who never recompiles lazarus (e.g. never changes installed packages) it would be no problem to have spaces in lazarus folder name. But if you recompile lazarus, or install packages....
--- End quote ---
It just does not feel right for an opensource project to have to be downloaded in binary form every time you need to upgrade --or experiment..
--- End quote ---
Really? I use a lot of opensource: VLC, VirtualBox, WinMerge, ... they all come as binary package => and I am truly glad they do.
If I want to contribute, the have a repository, and I can download and compile => but without installer
That seems to me a very common opensource thing.
On Linux, some of them come as source, and compile during installation (e.g mysql on freebsd).
But if I want to contribute, I still need to setup a special work environment, and no installer for that.
--- Quote from: Adem on July 28, 2010, 09:11:18 pm ---
--- Quote ---Haven't tried, but ok
(see below: multiply laz installation on one box [1])
--- End quote ---
I did. And, it's very frustrating.
--- End quote ---
Ok, that comes down to:
-installer should ask for install path => I did mention
- You need to find a solution for how to get each installation to use a different config file (on window you can put it into the desktop shortcut, but run into trouble as soon as the user starts the IDE without the shortcut. (not an installer problem, but needs to be solved for this)
Mixing various installations of Lazarus with various installations of free pascal, is (on top of the above) only a question of configuring lazarus correct => an expert user choice, definetly not an installer choice. (because you will get issues with ppu files not being suited for the different fpc version...)
That's why to me, there is a limited need for separate fpc and Lazarus installer => that is for expert users.
The installer should deliver what the average user needs => a working setup. And that does work very well with a combined install.
--- Quote from: Adem on July 28, 2010, 09:11:18 pm ---
--- Quote ---Lazarus does not put anything in the registry.
--- End quote ---
Well, IMO, it should.
--- End quote ---
It's cross platform => linux aint having no registry
--- Quote from: Adem on July 28, 2010, 09:11:18 pm ---
If it will have a proper uninstaller under Windows, I think it should.
--- End quote ---
I never trie to uninstall => but under windows there is an uninstall entry in the control panel/programs stuff. So I guess it will at least delete the program dir?
--- Quote from: Adem on July 28, 2010, 09:11:18 pm ---
--- Quote ---As for user options: Most applications I know, either leave them in place, are ask the user.
--- End quote ---
Yes. It needs to be optional.
--- Quote ---If they were always deleted, then most software, if updated would loose all settings.
--- End quote ---
And, there are times you might want just that.
--- End quote ---
hence I listed it in the summary
--- Quote from: Adem on July 28, 2010, 09:11:18 pm ---
--- Quote ---Installing one out of a chosen list:
That would not be a question of improving the installer, that would be a question of providing the different packages.
--- End quote ---
By 'packages' do you mean a zip file with sources-only?
--- End quote ---
In this context, different installer packages (e.g with/without sources)
However I don't think sources should be optional => I don't really see the need for more installers ... but it's an opinion only
(optional stuff is on lazarus-ccr)
--- Quote from: Adem on July 28, 2010, 09:11:18 pm ---
If so, I haven't come across one.
--- Quote ---The current installer could do that.
--- End quote ---
Frankly, I find the current installer far too fat.
I'd prefer to download a small webinstaller that pulls the parts (versions of Lazarus and/or FPC) from the web in a source zip file and installs them locally.
--- End quote ---
Same amount of dwnload in the end (unless there were optional parts...
Actually more download, if you install on more than one box
--- Quote from: Adem on July 28, 2010, 09:11:18 pm ---
--- Quote ---The problem on windows is, that (and that is not an issue of the installer, that holds true, even if you put everything together by hand):
If you use more than one version of lazarus, then each one *must* have it's own config dir (unless you know very exactly why you do not want this) => because at latest when you change the installed packages for one installation, it screws up the other installs => but also if they use diff version of fpc....
--- End quote ---
And, a proper installer can take care of all of these.
--- End quote ---
How? Yes for the shortcut on the desktop / in the start men. But how, if I the user goes to the install dir (e.d to start lazarus.old.exe after adding a package failed, and the new lazarus doesn't start anymore?
How can the installer change, that you must give a command line param to lazarus, and that on windows you can not do that, if you start the exe directly (no shortcut, no batch)
How can the installer fix this; how can it change the abilities of windows or the lazarus exe?
--- Quote from: Adem on July 28, 2010, 09:11:18 pm ---
--- Quote ---But the only way on windows to start lazarus with a diff config dir, is by using a shortcut (so you can give command-line param) [ok, or by batch or by hand from cmd line]
--- End quote ---
Nope. The installer could put each different version of Lazarus under a different sub-directory, such as:
C:\Program Files\Lazarus\x.x.xx\
--- Quote ---It is about the config dir.
the lazarus.exe decides where it expects it => if the installer put's it elsewhere, Lazarus will not find it, and create a new one.
The installe can not fix that => you must extend lazarus itself for this
--- Quote ---Therefore if a user has multiply installs, goes directly to the install dir, and clicks the exe there (or start lazarus.new.exe or lazarus.old.exe) => thinks are likely to go wrong.
--- End quote ---
You're assuming the 'install dir' to be pre-determined. But, it should not be; it should be user selectable/definable. I mean, I should be able to place it wherever I like, such as the above, or
--- End quote ---
--- End quote ---
No I did not assume this. My above concerns where in case even if the install dir is change able.
The config does not reside in the install dir => and lazarus must be able to find it.
--- Quote from: Adem on July 28, 2010, 09:11:18 pm ---
--- Quote ---Having multiply Lazarus installations is currently an expert option, and this is not an issue of the installer (it will be an installer issue, if and only if all the above is solved)
--- End quote ---
I know it is an 'expert option' --i.e. you become an 'expert' if you spend hours getting it right; and then scared to touch it again :)
--- End quote ---
And in a way it is good you become an expert, because if the installer just gives it to you, and you don't know all the rules that needs to be known for that scenario, then you break what the installer gave you.
So yes => you could create an installer that does set this up => but it leaves you with equal problems, you will just notice a little bit later.
You need to make lazarus itself save to deal with such setups => e.g regognizing if one lazarus is invoked with the config of another... it's possible, but in lazarus, not in the installer.
**********************
And the only valid example for the normal user needing more than one installation was 32 vs 64 bit
Better to make one installation do be able to cross compile, and serve both targets.
The normal end user should not need more than one installation => If he does need it, then nly because something is missing somewhere else.
**********************
--- Quote from: Adem on July 28, 2010, 09:11:18 pm ---
And, the last thing I want to be an 'expert' on is one of these useless skills. It simply has to be done by the installer for all --including the 'expert's..
--- Quote ---"bit" and "dot" ?
--- End quote ---
32-bit..64-bit
--- End quote ---
see above => it means you need a cross compile within a single setup
--- Quote from: Adem on July 28, 2010, 09:11:18 pm ---0.9.27..0.9.29
--- End quote ---
Why do you need this, if all you want to do is to compile your own app?
--- Quote from: Adem on July 28, 2010, 09:11:18 pm ---
--- Quote ---Does it? On windows?
(Honest question, I don't know, despite all warnings I always work as admin. to much hassle with other apps, and with windows itself.
--- End quote ---
Of course, it is.
FPC/Lazarus should think beyond a single-user working on a personally owned boxes. In the corp environment, there are policy rules; and one of them is not to litter root folder.
--- End quote ---
back to choosable install path
back to space in path issue.
solve them, and this is solved too => so it is a repeat (or just a reason, not a new feature)
--- Quote from: Adem on July 28, 2010, 09:11:18 pm ---
--- Quote ---The first one is used (at least with current lazarus), not sure what you want?
Fpc has only fpc.cfg as config, but on windows, this should never be needed to be changed (not for the average user anyway)
--- End quote ---
Under Windows, Lazarus considers FPC as an integral part of itself --which, in reality it isn't.
I am an average user (or, I'd like to be) and I would like to be able to install different versions of FPC in order to try to see how a newer version behaves.
--- End quote ---
Problem:
all the ppu for the LCL (which all your apps work) => they only work with the EXACT fpc that they came with.
Install another fpc => you must recompile them all
switch back to the original fpc => recompile again
hence=> this is an expert option
--------------
I cut the rest => it's alll nice reasons why you want to have the above....
But it comes down, solve the problems why the above is not yet there:
- spaces in path (must be fixed and committed to 3rd party tool)
- not mixing config dirs (how to give a cmd line param do an exe, if it isn't called via shortcut)
- lazarus detect and warn, if it is started in such a way, that it uses the config of another install
- ppu files only work with one fpc version => if you chnage the fpc version used by an installation of lazarus, then they do no longer work
I hope I didn't leave anything out.
Once that is fixed, then an installer with all the options becomes use-able
eny:
--- Quote from: BPsoftware on July 28, 2010, 09:26:34 pm ---If you had problem installing any software on Windows (including Lazarus) then the problem may be between the keyboard and the chair, trust me...
Next Next Next, I agre, Next Next, Finish, its not that difficult ;-)
--- End quote ---
Nowadays it's safer to go with custom installs, so you can untick the boxes that install bloatware, IE toolbars and all other ^^&^&* software that supposedly makes your life easier... %)
Adem:
You've screwed quoting in major way; I'll try to salvage it where I can :)
Tyr to use 'preview'; it helps.
--- Quote ---fpc yes, if you want it as separate installation (it comes pre-compiled anyway).
--- End quote ---
This is great news. At least, it does not have to be 'make'd --unless the user wants to.
BTW, I believe I read it somewhere (can't find it right not) that you could compile a new version of FPC with a FPC binary belonging to an immediately previous one. I never checked this, but if it is true; ordinary mortals will never have to 'make' (hence be bothered with spaces in paths issue) FPC.
--- Quote ---Lazarus: no => because installation/deinstallation of packages require to recompile the IDE.
(packages: as in lnet, synapse, or the ones that come with Lazarus)
--- End quote ---
Why is this a problem?
Once you have an FPC installed (and properly configured for the correct path info, which is the job of the installer), you can/should_be_able_to compile Lazarus without difficulty.
--- Quote ---you need to talk to 3rd party then => the team maintaining winres needs to accept your patch (or the fpc team needs to maintain a separate version for a life time, and merge all fixes and extensions all the time....)
--- End quote ---
Are you talking about this 'winres' http://msdn.microsoft.com/en-us/library/8bxdx003%28VS.80%29.aspx
--- Quote ---Really? I use a lot of opensource: VLC, VirtualBox, WinMerge, ... they all come as binary package => and I am truly glad they do.
--- End quote ---
But, none of them are development environments; are they?
--- Quote ---If I want to contribute, the have a repository, and I can download and compile => but without installer
--- End quote ---
For Windows there is no such thing as repository; or is there?
--- Quote ---That seems to me a very common opensource thing.
--- End quote ---
We are talking about entirely different things.
For an opensource development environment, for anyone to be able to contribute (patches etc), s/he has to be able to compile her/his patches to see they work.
With FPC, currently, you have to be way too much of an expert to be able to do that.
--- Quote ---On Linux, some of them come as source, and compile during installation (e.g mysql on freebsd).
But if I want to contribute, I still need to setup a special work environment, and no installer for that.
--- End quote ---
We're not talking about Linux.
In Linux, you can even recompile the kernel; in Windows you can't even 'make' FPC if there's a space in its path...
--- Quote ----installer should ask for install path => I did mention
- You need to find a solution for how to get each installation to use a different config file (on window you can put it into the desktop shortcut, but run into trouble as soon as the user starts the IDE without the shortcut. (not an installer problem, but needs to be solved for this)
--- End quote ---
No.
That's not my job.
You're not reading my posts.
I am putting up the money if anyone wants to do that.
--- Quote ---Mixing various installations of Lazarus with various installations of free pascal, is (on top of the above) only a question of configuring lazarus correct => an expert user choice, definetly not an installer choice. (because you will get issues with ppu files not being suited for the different fpc version...)
--- End quote ---
Look. All you're doing is telling me why it should not be done; instead of --even verbally-- contributing towards a solution.
That ppu files problem is a 'no problem' if you simply choose to store them under
C:\Users\$USERNAME\AppData\Local\FPC\$Platform\$FPCVersion
So, please, try to offer solution instead of acting as a know-it-all for why it should not be done.
--- Quote ---That's why to me, there is a limited need for separate fpc and Lazarus installer => that is for expert users.
--- End quote ---
Here, the keyword is 'to me', as it seems you've not explored solutions at all.
--- Quote ---The installer should deliver what the average user needs => a working setup. And that does work very well with a combined install.
--- End quote ---
If it does work so well, why can't I --without going through loops-- use X64 and x86 on the same box?
If it does work so well, why can't I --without going through loops-- use combine different versions of FPC/Lazarus and pick the best combinations?
--- Quote ---It's cross platform => linux aint having no registry
--- End quote ---
So is so many other applications, they manage to be native to the platform. What's so special about FPC/Lazarus to not play by the rules of the paltform?
--- Quote ---I never trie to uninstall => but under windows there is an uninstall entry in the control panel/programs stuff. So I guess it will at least delete the program dir?
--- End quote ---
Well.. You've never tried --it seems-- a lot of things.
You're simply content with what there is.
Do you call yourself a developer?
When you stand against development so stauncly..
--- Quote ---Same amount of dwnload in the end (unless there were optional parts...
--- End quote ---
If you don't have download binaries, how can they be 'same amount of downloads'?
--- Quote ---Actually more download, if you install on more than one box
--- End quote ---
Why?
Is it so impossible to direct the installer to an already downloaded zip file?
--- Quote ---How? Yes for the shortcut on the desktop / in the start men. But how, if I the user goes to the install dir (e.d to start lazarus.old.exe after adding a package failed, and the new lazarus doesn't start anymore?
--- End quote ---
Each different version of lazarus.exe (along with all the packages) resides in an entirely separate folder.
--- Quote ---How can the installer change, that you must give a command line param to lazarus, and that on windows you can not do that, if you start the exe directly (no shortcut, no batch)
--- End quote ---
?
Is this really a problem?
--- Quote ---How can the installer fix this; how can it change the abilities of windows or the lazarus exe?
--- End quote ---
?
Is this really a problem?
--- Quote ---It is about the config dir.
the lazarus.exe decides where it expects it => if the installer put's it elsewhere, Lazarus will not find it, and create a new one.
The installe can not fix that => you must extend lazarus itself for this
--- End quote ---
Come now.. Are discussing such simple stuff.
This problem has been solved for decades.
You either teach Lazarus to learn to use the registry; or write a simple module (in installer) that generates that oh-god-so-important cfg file.
It's not rocket science, is it?
--- Quote ---No I did not assume this. My above concerns where in case even if the install dir is change able.
--- End quote ---
But, I am sorry to say, you're making mountains out of mole hills..
All the problems you've mentioned are solvable.
All it needs is someone to spend time on it.
--- Quote ---The config does not reside in the install dir => and lazarus must be able to find it.
--- End quote ---
Another mountain out of mole hill.
Are you always this negative, I wonder.
--- Quote ---And in a way it is good you become an expert, because if the installer just gives it to you, and you don't know all the rules that needs to be known for that scenario, then you break what the installer gave you.
--- End quote ---
What good is becoming that sort of an expert?
Where else will you ever need to use that precious expertise?
Nowhere.
--- Quote ---So yes => you could create an installer that does set this up => but it leaves you with equal problems, you will just notice a little bit later.
--- End quote ---
Name one.
A meaningful one.
--- Quote ---You need to make lazarus itself save to deal with such setups => e.g regognizing if one lazarus is invoked with the config of another... it's possible, but in lazarus, not in the installer.
--- End quote ---
No. As long as each version of Lazarus uses its own data under
C:\Users\$USERNAME\AppData\Local\Lazarus\$Platform\$LazarusVersion
there will be no conflicts.
--- Quote ---And the only valid example for the normal user needing more than one installation was 32 vs 64 bit
Better to make one installation do be able to cross compile, and serve both targets.
The normal end user should not need more than one installation => If he does need it, then nly because something is missing somewhere else.
--- End quote ---
Had you read the above examples, you'd have seen that it would solve cross-platform compilation as well.
--- Quote ---Why do you need this, if all you want to do is to compile your own app?
--- End quote ---
Because I want to be able to compile my apps in both x64 and x86.
--- Quote ---back to choosable install path
back to space in path issue.
solve them, and this is solved too => so it is a repeat (or just a reason, not a new feature)
--- End quote ---
Next time I need directions/orders from you, I will make sure I ask first.
But, right now, I am not taking any orders/commands.
--- Quote ---Problem:
all the ppu for the LCL (which all your apps work) => they only work with the EXACT fpc that they came with.
--- End quote ---
Please don't repeat. There is a simple solution to this. Read above.
--- Quote ---Install another fpc => you must recompile them all
switch back to the original fpc => recompile again
hence=> this is an expert option
--- End quote ---
Nope. It could easily be done by the installer.
There is nothing expert about it.
It's just that current compiler does not do it.
For Fox sake, even the JCL/JVCL installers compile and set up all the packages and paths for how ever many different Delphi versions you have.
--- Quote ---I cut the rest => it's alll nice reasons why you want to have the above....
--- End quote ---
And, I cut the rest of what you wrote, because instead of adding to solution, you're simply adding negative noise.
Martin_fr:
--- Quote ---Look. All you're doing is telling me why it should not be done; instead of --even verbally-- contributing towards a solution.
--- End quote ---
Not true, I am saying what needs to be done first.
That is "it should not be done until...."
To make it clear: I don't want to deny all the cool possibilities to everyone => but there is no point, unless they work reliable and are simple to use.
There is no point in simple installation, if usage is not simple (or reliable)
---------
Ending this here, taken the rest to private mail
Navigation
[0] Message Index
[#] Next page
[*] Previous page