[Lazarus] cross-distro (and OS) app installation - what would you like?

Graeme Geldenhuys graemeg.lists at gmail.com
Wed Jan 20 10:31:14 CET 2010

Vladimir Zhirov wrote:
> * Checking dependencies. There is no such problem in fpGUI apps
> since the only dependency is X :) But Lazarus apps can be stuck to
> specific GTK/QT version(s).

That is exactly why the setup program is written with fpGUI. So even tiny
"lite" linux distros or even embedded devices can run the setup. I took the
same Linux executable running on Ubuntu 8.04 and ran it no problem on a
"tiny" linux distro with just bare X11 installed, and on very old distros
like SuSE 9.1 or RedHat 8.0 - all without problems.

Alternatively, the console version of the setup could be used. But my major
goal was to use a GUI install whenever a GUI is available. I hate console
installs, when I am sitting in a running Gnome or KDE desktop. I want to
double click, then click next, next and finish - and be done with it. :)

> change that made some Lazarus applications crash. Then, there is a
> plenty of other external libraries our applications can use.
> I can imagine this as a "missing dependencies" message that is shown

Currently this could be checked for in the pre-install script and stop the
install, or maybe disable certain install features if dependencies are not
100% met. eg: hunspell library is missing so "spellcheck (dictionaries)"
install feature will be disabled.

We are looking at some ideas for dependency resolution methods too (*nix
OSes mostly). Maybe download or at least prompt the user where to get the
missing files, or tap into rpm and apt-get to download those for us. Not
100% sure yet. But this is also why we opt to support Free Pascal base
applications as a starting point - they tend to have less dependencies than
standard *nix (C/C++/Python/etc.) apps. But obviously we don't want to
limit ourselves, so some dependency checks need to be supported.

As for the usage of scripts like the pre-install script... We are setting
up various template script functions for all supported OSes, so developers
don't have to be expert script junkies to use the scripts feature.

>> * Automatic icon creation on desktop and Application/Start menu.
> And this seems not so easy too..

You wouldn't believe! :-)  I have spent the last two days working on this
and think I finally found a solution that works 99.9% of the time. Just
getting nested menu items to work under Linux was a huge pain (in contrast,
Windows was so easy).
  +-- My Company            <-- this being the difficult part
      +-- My Project
      |   + My executable
      |   + Help
      |   + Uninstall
      +-- My Second project
          + My executable
          + Uninstall

> This could help very much in the adoption of new install system. Though
> I think old school Linux users would hate it anyway (according to my
> observations), it would be good for newcomers if the setup

The clients we are targeting are all newcomers to Linux. They are used to
Windows with simply double clicking a setup.exe file. This is our goal for
Linux to - no opening of command prompts and typing (unless you are an
expert or are doing a remote install via SSH).

> InnoSetup has the advantage of PascalScript, that makes it easier

I have heard of PascalScript, but have no idea what it really is or how it
works. Does FPC support it? I'll have to investigate this further, as it
might be a nice cross-platform single source script solution.

> * Familiar syntax of configuration files/scripts.

Please explain?

  - Graeme -

fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal

More information about the Lazarus mailing list