Greetings!

There was some discussion on this list recently
about building a Midgard installer program on the
ideas presented in Mark Constable's buildmg 
utility.

While AFAIK no one has yet volunteered to work
on it, I think it is a great idea as installation
is still the weakest point in Midgard.

I was looking at the Helix GNOME installer 
(http://www.helixcode.com/desktop/screenshots.php3#installer)
today, and thought that they had some nice ideas
towards building an application set -specific
installer utility that would offer a nicer
front-end to installing the packages than the
distribution-level one would, even while still
being able to use the normal packaging format used
by that platform.

The buildmg was a quite simple shell script. However,
to present the user with a more usable interface
(and possibly even an optional GUI), it would be 
more suitable to use a more complete scripting
language - Python and Perl come to mind. I don't
have much experience in either myself, but would be
glad to help if someone were to take most of the
programming responsibility there.

Here is one possible approach for how the installer
could work:

-Figure out / prompt the user for operating system
 platform (needed for platform-dependent configurations
 and a possible choice of packaging formats to use)

-Prompt user for installation media or a download
 site (the script should be able to use either)
 
  -Every download directory, both offline and online
   should contain a XML file describing the available
   Midgard version and URLs for files needed for
   installing that. If the particular Midgard version
   would need some patching to other programs (apxs
   comes to mind), those patches should also be
   listed and available (this is something that would
   make the installation much simpler even *without* 
   the installer program, BTW.)

  -The installer should contain a XML file listing
   all available download mirror sites with details
   on location, etc. included. The installer should
   also be able to update this file from our primary
   server

-Present user a choice of available versions / package
 formats depending on the package list XML file found
 from the chosen installation site / directory

-Fetch the needed packages and extract them to a temp
 directory (or possibly a user-defined one)

-Prompt for MySQL information (file locations, passwords)
 and construct the database

-Apply needed packages to Apache/apxs and possible other
 programs needing those

-Try to compile (or install in case of binaries) the 
 packages. Some error handling would be nice here
 but possibly difficult to implement (?)

-Prompt for final configuration information (Midgard admin
 passwords, host names) and startup Apache & Midgard

-Install Admin site and other user-selected applications
 (the example site) as Repligard packages.

Now, this kind of model would require a bit more work
to implement than just a plain-and-simple installer, but
would probably be much more flexible and usable in
later points, and also allow for a much nicer user 
experience.

If anyone is interested in discussing this further and/or
working on this, please let me know.

/Bergie

-- 
-- Henri Bergius -- +358 40 525 1334 -- [EMAIL PROTECTED] --
               http://www.iki.fi/Henri.Bergius


--
This is The Midgard Project's mailing list. For more information,
please visit the project's web site at http://www.midgard-project.org

To unsubscribe the list, send an empty email message to address
[EMAIL PROTECTED]

Reply via email to