
Easinstaller is a little GUI tool for Unix beginners who need to compile a 
program or a library from source, but don't know how to do it. 
Easinstaller allows the user to open a source package, configure it appropriately, 
compile and install, all without the command line. It also keeps track of all 
packages that were opened, remembers their last configuration, and allows to 
load configuration of one package to another.

In other words, Easinstaller serves as a GUI substitution for the well-known 
./configure && make && make install commands, allowing the user to set the 
needed configuration parameters from within the GUI.


Basic Functionality

The main Easinstaller window consists of 2 panes: option pane, and command pane.

The option pane shows all package build options, grouped in tabs. Some options 
are simple checkboxes, this means switching an option off or on, other options are
checkboxes with text entries, that is, option arguments. Of course, with some 
source packages these options may look no better than Chinese hieroglyphs for a 
newbie, but it is planned to make configuration much friendlier in future versions.

The lower pane of Easinstaller window shows a command currently run, and command 
output. Red text stands for STDERR output. While a command is in progress, the user
can cancel it pressing the "Stop" button to the right of the command. In between
command this buttons clears the output window.

To build a source package you need to go through 4 steps.

The first step is opening a source package by pointing Easinstaller to a directory
containing an unpacked archive with sources or to a source archive, pressing buttons 
"Open" and "Open Buttons", respectively.

If you open a source archive, it gets unpacked to Easinstaller source directory,
($HOME/easisrc by default).

Once a source package has been opened, the option pane is filled with options relevant
for the package. Also, the lower pane will have tabs with documentation files from
the source package.

Once the user has finished setting the options, button "Configure Build" is pressed.
This runs a special configure.sh scripts which analyzes the system environment and 
checks for required libraries. If the requirements are satisfied, another script
is generated which the actual build scenario. This is the second step.

If the configure.sh script fails, the user will be prompted about this. More 
detailed error analysis is planned.

After successful configuring the "Build" button is pressed. This actually compiles
the package, which is the third step.

The last step is installing the compiled package, which means copying needed files
to system directories. Once you press the button "Install" you may be presented 
shown a dialog with 3 installation options:

    Install as root: Copying files to system directories requires root privileges.
                     You need to type the root password.
                     
    Install as user: You may have configured the package to me installed to the 
                     directories for which you have WRITE access. In this case
                     you choose this option. In fact, Easinstaller tries to guess
                     whether you have configured the package to be installed to 
                     your home directory (local installation). If it is so, you
                     will see no dialog at all. 
                     
                     
    Install via sudo: This is an advanced variant. Sudo is a package that allows
                      a user to perform certain actions that require root privileges,
                      without actually giving the root password. To use sudo with
                      Easinstaller you have to allow yourself to run the 
                      "make install" command. Refer to sudo manpage for details.
                      
                       
Source Package Variations

Some packages may have autogen.sh instead of configure.sh. autogen.sh is 
another magic script that generates configure.sh (and you remember that configure.sh
generates the build scenario ;-). In this case, Easinstaller will attempt to run
autogen.sh.

Some packages have just a ready build scenario. In this case, you will not be 
presented options to configure and you may start building the package right away.

    
Package Settings

While a source package is loaded in Easinstaller, you can open its settings from
the Edit menu. The dialog shows the following:

    * Package name. By default, the name is taken from the source package name, but
      you can rename it by just editing the entry with the name.
      
    * Package directory. You can move the package pressing the "Move to another 
      directory" button.
      
    * Date when the package was opened for the first time
    
    * Date when the package was opened for the last time
    
    * History of commands
    
Package List

Packages are not deleted when Easinstaller is closed or another package is loaded.
In fact, Easinstaller remembers all packages that were opened and allows you to
browse them in "Package List" window available from the Edit menu. This window doesn't
show the currently opened package, Use "Package Settings" window for it instead.

The left part of the window is the list of packages. The right fragment repeats all options
available from "Package Settings" dialog. In addition to those functions you can do
the following:

    * Delete a package from disk by pressing the delete button.
    * Load the package into Easinstaller. Mind that all package options will
      be restored to the moment when you had closed the package.
    * Load package settings to a currently opened package. This is convenient if
      you have a newer version of a package and want to compile it with the same
      settings as the previous version. To do so, you open the new package, open
      the list of packages, click on the old package name and press the "Load settings"
      button. 

Program Setting

In program settings available from the Edit menu, you can set the following 
parameters: 

    * Easinstaller working directory where all source packages are unpacked
    * User interface language (currently English and Russian)
    * Program font


$Id: README,v 1.4 2004/07/09 17:39:58 leikind Exp $

