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

Graeme Geldenhuys graemeg.lists at gmail.com
Thu Jan 21 00:39:44 CET 2010

On 20/01/2010, Jonathan wrote:
> The is no frame work under Windows for the menu, just files thats why you have silly company's listing there program under there name.

I haven't looked at that code in a while, but our old Delphi programs
created there own icons. I can't remember if it was registry entries
or Windows API's. I think we used the latter (but that's me trying to
remember 6 years back when I wrote that tool).

>  The first time I used Linux I loved the clean easy to use menu in gnome the windows menu is one big mess.

I can't agree more. The "category" idea under Linux is so much better
than the Windows layout.

>  > eg:
>  >   Applications
>  >   +-- My Company            <-- this being the difficult part
>  >       +-- My Project
>  >       |   + My executable
>  >       |   + Help
>  >       |   + Uninstall
>  >       |
>  >       +-- My Second project
>  >           + My executable
>  >           + Uninstall
> You are thinking windows!

I know, it probably was a terrible example, but that is all it was, an
example.  The idea of nested menu items is what I tried to implement,
and even under Linux with the menu "categories" style, nesting menu
items more than one level deep is handy.

Here is one example of nested menus under my Ubuntu system.

     + Lazarus IDE
     + MSEide
     + FPC Documentation
         + Language Reference Guide (pdf)
         + ... (more pdf items here)
     + fpGUI UI Designer
     + DocView
     + LHelp

>  >Obviously the setup.sh script is not required if you split your
>  >installation in 32/64-bit or GUI/non-GUI setup directories.
> The only useful thing I can add to thread is check uname -m in your setup.sh then start the right installer.
>  I'm sure you know but sh is not always bash. Mixing up bash with sh is good way to upset 10% of your users.

:-) That is exactly what we do... Here is a snippet of our script

-----------[ setup.sh ]----------------
# Bootstrap setup script

# Go to the proper setup directory (if not already there)
cd `dirname $0`

# Return the appropriate architecture string
	case `uname -m` in
		i?86)  echo "x86"
		*)     echo "`uname -m`"
	return $status

# Detect the Unix/Linux environment
---------------[ end ]-----------------

  - Graeme -

fpGUI - a cross-platform Free Pascal GUI toolkit

More information about the Lazarus mailing list