summaryrefslogtreecommitdiffstats
path: root/docs/anaconda-design
blob: 381dbe695a7036a74e460f947d32ea7a791d5ad4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29

  +-----------------------------------------------------+
  |                                                     |
  |                     Anaconda    todo                |
  |                                                     |
  +-------------------------------+---------+-----------+
  |       InstallInterface        |         |           |
  +-----+----+------+------+------+  rpm    | isys      |
  | GUI |Text| Kick |Script| Web  |  module | module    |
  |     |    | Start|Start | Start|         |           |
  |     |    |      |      |      |         |           |
  |     |    |      |      |      |         |           |
  +-----+----+------+------+------|.........|...........|
  |                                                     |
  +-----------------------------------------------------+

Anaconda is the toplevel installer.  It imports InstallInterface
from one of several frontend modules.  Currently text and GUI are
implemented.  The 'anaconda' script imports the InstallInterface
then envokes the 'run' method, providing a todo structure
that needs to be filled in.  The information collected in the
InstallInterface portion of the installer is set in the todo
object.  When InstallInterface::run exits, the todo object should
have all the needed information to complete an install.
ToDo::doInstall() is invoked, which actually does the work of
installing the system.  During the doInstall run, various InstallInterface
methods are called to keep the user informed about the installation
process.  These currently include popup windows and package
progress windows.