[fpc-pascal] Improved LazUpdater - testers welcome on Windows

Reinier Olislagers reinierolislagers at gmail.com
Sat Sep 3 12:14:11 CEST 2011


Hello FPC and Lazarus lists,

I've been improving the LazUpdater FPC/Lazarus SVN downloader/installer
written by Ingo Steiniger for a while now.

I didn't get any reaction from the original author
http://forge.lazarusforum.de/issues/118
so I uploaded my version to a mercurial repository:
https://bitbucket.org/reiniero/lazupdater_baremetal

I use it myself next to a snapshot Lazarus install to keep a GIT version
of FPC & Lazarus up to date.
Features:
- Runs on Windows, needs some improvements (URLs, paths) to work
correctly on Linux, OSX
- Checkout/update from either SVN or GIT for FPC & Lazarus
- Compiles FPC and Lazarus if any changes were downloaded
- Option to force Lazarus compile after FPC compile
- Compile Lazarus with make or lazbuild
- Options can be passed to make
- Compiles LazDataDesktop
- Redirects svn/git and make output to screen for viewing
- LazUpdater settings can be saved and loaded into profiles
- Attempt at Windows "bare metal" install: install without binutils or
SVN/Git/zip binary present

There were still some niggling problems with the bare metal mode last
time I tested... Please feel free to test and report issues though on
the repository's bugtracker.

How to use it:
Run LazUpdater, set it to download from SVN or GIT and indicate your
GIT/SVN executable location.
Indicate if you want to update/make both FPC and Lazarus (I always run
the force options) and run.

It should checkout/update FPC from SVN, compile FPC. Then accept the
request to change the compiler used in Lazupdater to the newly compiled
FPC compiler.
IIRC, it will also generate fpc.cfg correctly using fpcmkcfg.exe.
Lazupdater will checkout/update Lazarus from SVN and compile with the
compiler that was set.

You can use this to have multiple Lazarus/FPC installs on your system,
but remember to use a shortcut with --primary-config-path to
differentiate the settings.

Some improvements to be done:
1. Test bare metal mode on Windows without any FPC/Lazarus/SVN/GIT.
2. On Linux+OSX: let the program check for make (other needed bins?),
fix URLs, program paths, test.
3. Strip out old fpc.cfg boilerplate text as I'm using FPC's
fpcmkcfg.exe anyway
4. Get in touch with original author and try to merge changes. Don't see
any changes of his since I started my modifications, so that is probably
easy.
5. Perhaps get in touch with FPC/Lazarus devs, and submit for inclusion
as a Lazarus tool, or include as a download on the Lazarus site. Will
possibly need to change license from GPL to the FPC modified LGPL???
This will enable easier download of updated versions by developers not
familiar with or to lazy for FPC/Laz build processes.
6. Detect bitness (64, 32) and install 64 bit if possible, unless
overruled by user setting.

Patches, tests and suggestions are welcome!

Thanks,
Reinier



More information about the fpc-pascal mailing list