* * *

Author Topic: FPCUp FPC/Lazarus SVN installer/updater for Windows, Linux, soon OSX  (Read 188532 times)

BigChimp

  • Hero Member
  • *****
  • Posts: 5740
  • Add to the wiki - it's free ;)
    • FPCUp, PaperTiger scanning and other open source projects
Hi all,

Ludob and I have written an open source command line tool that downloads current FPC & Lazarus from SVN, compiles and installs it - separate from existing installs (snapshots, release builds, other SVNs).
It succesfully updates my FPC/Lazarus install.

Download Windows exe, Linux x86 and x64 binaries: https://bitbucket.org/reiniero/fpcup/downloads
Source, bug/improvement idea tracker:
https://bitbucket.org/reiniero/fpcup
Readme: https://bitbucket.org/reiniero/fpcup
Wiki: http://wiki.lazarus.freepascal.org/fpcup

Features (of this first release; please check wiki page for updated information):
  • Program runs on Windows (x86/x64), Linux x86, Linux x64, Intel OSX (binaries provided)
  • Bare metal installer on Windows: starting with a plain vanilla Windows install, FPCup downloads SVN executables, make/binutils etc and downloads/installs FPC/Lazarus
  • "Bare metal+" installer on Linux: you just need subversion, binutils (make etc). unzip and bunzip2; FPCup will download/install FPC/Lazarus, including a bootstrap compiler if required.
  • "Bare metal+" installer on OSX: you need XCode installed. FPCup will download/install FPC/Lazarus, including a bootstrap compiler if required.
  • Windows: builds 32 bit and 64 bit LCL; builds 32 bit IDE with crosscompiling option (so you can build x64 binaries).
  • Plugin system for installing cross compilers; Win32=>64 crosscompiler built in
  • Works with existing system wide FPC installs on Linux
  • Downloads FPC & Lazarus SVN sources
  • Option to revert to/stay at a certain revision number for FPC or Lazarus
  • Code workaround for SVN server problems (retry mechanism). June 2: additional workarounds for partial checkout/updates that aborted without error code.
  • Customizable Lazarus/FPC SVN URL - therefore versions: stable, fixes, trunk - and customizable install/binutils directories
  • Compiles and installs FPC and Lazarus
  • Compiles lhelp help viewer, downloads offline help for FPC, compiles LCL help for Lazarus, changes Lazarus help settings so help works out of the box
  • Creates fpc.cfg in FPC directory
  • Uses --primary-config-path (configuration directory) for lazbuild compilations, creates directory if it doesn't exist.
  • Option to specify primary-config-path for your Lazarus install. If none given, fpcup will create a default directory for you.
  • Builds lazdatadesktop using compiled Lazarus
  • Builds lazdoceditor using compiled Lazarus
  • Creates desktop shortcut (Windows)/home directory shell script (Linux/Unix) to installed Lazarus (with separate primary-config-path)
  • Creates shell script to new FPC compiler that ignores any existing system wide fpc.cfg files (Unix/Linux)
  • Checks FPC and make are the right kind (not Delphi make or a random program that happens to be called fpc.exe
  • Checks for existing FPC compiler and downloads bootstrap compiler executable from SVN if none present
  • Correctly sets gdb path for Lazarus on Linux, Windows
  • Ability to pass options to make (e.g. -g for including debugging info)
  • The options you chose using fpcup can be saved in a shell script (Linux/Unix) or desktop shortcut (Windows) so you can just run that to update your new FPC/Lazarus install
  • Options to skip parts of the process, e.g. fpc or Lazarus SVN update+compile/build
  • Shows existing and updated SVN revisions when installing/updating, both on console and in a high level log useful for tracking what was installed when
  • fpcup can download from user-specified SVN repositories (e.g. synapse, fpcdocs, fpgui,...); uses fpcup.ini file for config. Includes support for modifying Lazarus config, adding packages to Lazarus
  • fpdocs svn repository downloaded and registered in Lazarus so you get the newest hints
  • --clean option that cleans out subversion repositories (subversion revert --recursive), fpc.cfg and/or documentation files, ready to start over with a clean slate
  • --uninstall option that removes pfc, lazarus directories, settings
  • Detailed error log created in temp directory when problems occur; general log has reference to error log

In development:
  • Test run fpc using -vu to check if used units correspond with our installation; warn user in case fpc.cfg points to unexpected units
  • GUI; source code contains a basic form; expand on that
  • Test in general  :) - e.g. spaces in paths

For more details on possible bugs/improvements, see the issue tracker mentioned above. You can also add your own issue/improvement suggestion/patch there ;)

Support/development thread:
http://lazarus.freepascal.org/index.php/topic,15701.0.html
« Last Edit: November 18, 2013, 12:16:35 pm by BigChimp »
Want quicker answers to your questions? Read http://wiki.lazarus.freepascal.org/Lazarus_Faq#What_is_the_correct_way_to_ask_questions_in_the_forum.3F

Open source including papertiger OCR/PDF scanning:
https://bitbucket.org/reiniero

Lazarus trunk+FPC trunk x86, Windows x64 unless otherwise specified

lainz

  • Guest
Re: FPCUp FPC/Lazarus SVN installer/updater for Windows
« Reply #1 on: February 01, 2012, 09:16:39 pm »
IN the meantime this will be the default Lazarus Setup  ;)

BigChimp

  • Hero Member
  • *****
  • Posts: 5740
  • Add to the wiki - it's free ;)
    • FPCUp, PaperTiger scanning and other open source projects
Re: FPCUp FPC/Lazarus SVN installer/updater for Windows
« Reply #2 on: February 01, 2012, 10:07:48 pm »
Thanks, hope it works well for you :D
Want quicker answers to your questions? Read http://wiki.lazarus.freepascal.org/Lazarus_Faq#What_is_the_correct_way_to_ask_questions_in_the_forum.3F

Open source including papertiger OCR/PDF scanning:
https://bitbucket.org/reiniero

Lazarus trunk+FPC trunk x86, Windows x64 unless otherwise specified

jmpessoa

  • Hero Member
  • *****
  • Posts: 957
Re: FPCUp FPC/Lazarus SVN installer/updater for Windows
« Reply #3 on: February 01, 2012, 10:57:24 pm »

Hi People!

When I tried to create a repository on https://bitbucket.org,   the "select box language" dont show Pascal or Object Pascal.... just Delphi.  Immediately, I send message to the forum requesting the inclusion of object pascal ... I think more folks would require... Delhi is a IDE.... Object Pascal is the language!

@BigChimp, Sorry I post this here ...
Lamw: Lazarus Android Module Wizard
https://github.com/jmpessoa/lazandroidmodulewizard

BigChimp

  • Hero Member
  • *****
  • Posts: 5740
  • Add to the wiki - it's free ;)
    • FPCUp, PaperTiger scanning and other open source projects
Re: FPCUp FPC/Lazarus SVN installer/updater for Windows
« Reply #4 on: February 05, 2012, 02:45:02 pm »
Thanks to Mattias Gaertner on the Lazarus mailing lists, I've finished bare metal install functionality. You should be able to download fpcup.exe on a plain windows machine, and it will download a Subversion client, bootstrap compiler, and binutils (make.exe, gdb.exe etc).
Then it will download FPC & Lazarus sources from SVN, compile and install them.

Next step: world dominance through support of Linux/OSX and getting offline help working out of the box.
Want quicker answers to your questions? Read http://wiki.lazarus.freepascal.org/Lazarus_Faq#What_is_the_correct_way_to_ask_questions_in_the_forum.3F

Open source including papertiger OCR/PDF scanning:
https://bitbucket.org/reiniero

Lazarus trunk+FPC trunk x86, Windows x64 unless otherwise specified

BigChimp

  • Hero Member
  • *****
  • Posts: 5740
  • Add to the wiki - it's free ;)
    • FPCUp, PaperTiger scanning and other open source projects
Re: FPCUp FPC/Lazarus SVN installer/updater for Windows
« Reply #5 on: February 07, 2012, 07:53:32 am »
Note: due to Linux compatibility changes, the next release will change fpcup's default Lazarus primary config directory name from lazarusdev to lazarusdevsettings.

For existing fpcup users: you can run the new fpcup and then copy all files from your old primary config directory to the new one.

See the properties of the shortcut on your desktop to see where this directory is; on Vista/7 it will be something like C:\Users\<username>\AppData\Local\lazarusdevsettings

Sorry for the inconvenience.
Want quicker answers to your questions? Read http://wiki.lazarus.freepascal.org/Lazarus_Faq#What_is_the_correct_way_to_ask_questions_in_the_forum.3F

Open source including papertiger OCR/PDF scanning:
https://bitbucket.org/reiniero

Lazarus trunk+FPC trunk x86, Windows x64 unless otherwise specified

BigChimp

  • Hero Member
  • *****
  • Posts: 5740
  • Add to the wiki - it's free ;)
    • FPCUp, PaperTiger scanning and other open source projects
Re: FPCUp FPC/Lazarus SVN installer/updater for Windows
« Reply #6 on: February 10, 2012, 02:15:11 pm »
New release with initial Linux support (both x86 and x64): you only need a subversion client, binutils and bunzip2 installed before using fpcup.

Windows, Linux x86 and Linux x64 binaries as well as source code avaible.

As mentioned above, the default primary config path fpcup will create has changed in this version.

Thanks,
BigChimp
Want quicker answers to your questions? Read http://wiki.lazarus.freepascal.org/Lazarus_Faq#What_is_the_correct_way_to_ask_questions_in_the_forum.3F

Open source including papertiger OCR/PDF scanning:
https://bitbucket.org/reiniero

Lazarus trunk+FPC trunk x86, Windows x64 unless otherwise specified

JD

  • Hero Member
  • *****
  • Posts: 1596
Re: FPCUp FPC/Lazarus SVN installer/updater for Windows
« Reply #7 on: February 10, 2012, 02:32:48 pm »
Very good BigChimp! Now you need to push for this to become the default method for updating Lazarus from SVN.  :D
Windows (10, 7) - Lazarus 1.8RC4/FPC 3.0.4 (also Delphi occasionally)
Linux Mint Cinnamon  - Lazarus 1.6.4/FPC 3.0.2
Indy 10.6 series; Zeos 7.2.1; SQLite, Firebird, PostgreSQL & MariaDB

BigChimp

  • Hero Member
  • *****
  • Posts: 5740
  • Add to the wiki - it's free ;)
    • FPCUp, PaperTiger scanning and other open source projects
Re: FPCUp FPC/Lazarus SVN installer/updater for Windows
« Reply #8 on: February 10, 2012, 02:48:46 pm »
Thanks JD, but I'm thinking an OSX version, SVN download of help sources+compilation into CHM files, and a GUI with options (source URLs: stable, development; destination directories; etc) would be handy first.

Also, my software has been known not to be entirely bug-free, so I think it's prudent to wait to see if there need to be fixes  :)
Want quicker answers to your questions? Read http://wiki.lazarus.freepascal.org/Lazarus_Faq#What_is_the_correct_way_to_ask_questions_in_the_forum.3F

Open source including papertiger OCR/PDF scanning:
https://bitbucket.org/reiniero

Lazarus trunk+FPC trunk x86, Windows x64 unless otherwise specified

BigChimp

  • Hero Member
  • *****
  • Posts: 5740
  • Add to the wiki - it's free ;)
    • FPCUp, PaperTiger scanning and other open source projects
Re: FPCUp FPC/Lazarus SVN installer/updater for Windows, Linux, soon OSX
« Reply #9 on: February 12, 2012, 03:26:17 pm »
Ludob is now helping with fpcup development... which has lead to impressive improvements in functionality. New binaries released; feature list updated in first post.
Want quicker answers to your questions? Read http://wiki.lazarus.freepascal.org/Lazarus_Faq#What_is_the_correct_way_to_ask_questions_in_the_forum.3F

Open source including papertiger OCR/PDF scanning:
https://bitbucket.org/reiniero

Lazarus trunk+FPC trunk x86, Windows x64 unless otherwise specified

BigChimp

  • Hero Member
  • *****
  • Posts: 5740
  • Add to the wiki - it's free ;)
    • FPCUp, PaperTiger scanning and other open source projects
Re: FPCUp FPC/Lazarus SVN installer/updater for Windows, Linux, soon OSX
« Reply #10 on: February 13, 2012, 07:49:48 am »
Updated Linux binaries to recent repository version as that fixed some bugs causing Lazarus compilation to fail.

Thanks to Arny the TurboRascal for the bug report and ludob for the actual hard work  :D

If you used a previous Linux binary and had problems, please download the latest one and  try again. Sorry for the inconvenience.

Note that the new version has a confirmation prompt that allows you to review your options before continuing...

Now working on some issues with Windows and OSX versions... Seems fpcup won't compile Lazarus using FPC 2.6 fixes on Windows, but does work with FPC trunk. On the other hand, it could be an fpc.cfg issue...
« Last Edit: February 13, 2012, 10:45:54 am by BigChimp »
Want quicker answers to your questions? Read http://wiki.lazarus.freepascal.org/Lazarus_Faq#What_is_the_correct_way_to_ask_questions_in_the_forum.3F

Open source including papertiger OCR/PDF scanning:
https://bitbucket.org/reiniero

Lazarus trunk+FPC trunk x86, Windows x64 unless otherwise specified

heeb

  • New member
  • *
  • Posts: 6
Re: FPCUp FPC/Lazarus SVN installer/updater for Windows, Linux, soon OSX
« Reply #11 on: February 14, 2012, 12:47:01 am »
WTH?!? I've been thinking about this! Wanted to write something similar, you beat me to it! Awesome. Thanx!

BigChimp

  • Hero Member
  • *****
  • Posts: 5740
  • Add to the wiki - it's free ;)
    • FPCUp, PaperTiger scanning and other open source projects
Re: FPCUp FPC/Lazarus SVN installer/updater for Windows, Linux, soon OSX
« Reply #12 on: February 14, 2012, 07:39:44 pm »
Hi Matthew,

Great minds think alike ;)

Let me know how you like it, bug reports, improvement requests and patches welcome ;)
(I'm fighting with getting FPC 2.6+Lazarus to compile on Windows x86 while FPC trunk+Lazarus works - perhaps it's just my environment though).

BigChimp
Want quicker answers to your questions? Read http://wiki.lazarus.freepascal.org/Lazarus_Faq#What_is_the_correct_way_to_ask_questions_in_the_forum.3F

Open source including papertiger OCR/PDF scanning:
https://bitbucket.org/reiniero

Lazarus trunk+FPC trunk x86, Windows x64 unless otherwise specified

BigChimp

  • Hero Member
  • *****
  • Posts: 5740
  • Add to the wiki - it's free ;)
    • FPCUp, PaperTiger scanning and other open source projects
Re: FPCUp FPC/Lazarus SVN installer/updater for Windows, Linux, soon OSX
« Reply #13 on: February 18, 2012, 08:47:39 am »
ludob and I have been working hard and are proud to release a new version that adds documentation support (see updated feature list in first post).

When running fpcup on a new system, CHM help should be automatically set up for you in Lazarus.

Existing fpcup installs: running the new version should provide you with help as well. If you've manually edited the .chm help file location in Lazarus, change it to <lazarusdirectory>/docs/html

As always, comments, suggestions, patches and bug reports welcome...

Regards,
BigChimp
Want quicker answers to your questions? Read http://wiki.lazarus.freepascal.org/Lazarus_Faq#What_is_the_correct_way_to_ask_questions_in_the_forum.3F

Open source including papertiger OCR/PDF scanning:
https://bitbucket.org/reiniero

Lazarus trunk+FPC trunk x86, Windows x64 unless otherwise specified

BigChimp

  • Hero Member
  • *****
  • Posts: 5740
  • Add to the wiki - it's free ;)
    • FPCUp, PaperTiger scanning and other open source projects
Re: FPCUp FPC/Lazarus SVN installer/updater for Windows, Linux, soon OSX
« Reply #14 on: February 20, 2012, 09:42:25 am »
Temporarily pulled the Linux versions because of problems with running make bigide... working on a solution.

Sorry for the inconvenience.
Want quicker answers to your questions? Read http://wiki.lazarus.freepascal.org/Lazarus_Faq#What_is_the_correct_way_to_ask_questions_in_the_forum.3F

Open source including papertiger OCR/PDF scanning:
https://bitbucket.org/reiniero

Lazarus trunk+FPC trunk x86, Windows x64 unless otherwise specified

 

Recent

Get Lazarus at SourceForge.net. Fast, secure and Free Open Source software downloads Open Hub project report for Lazarus