Salome HOME
Fix misprint
[tools/install.git] / doc / readme.html
1 <!DOCTYPE html PUBLIC "-//w3c//dtd html 4.0 transitional//en">
2 <html>
3 <head>
4   <meta http-equiv="Content-Type"
5  content="text/html; charset=iso-8859-1">
6   <meta name="GENERATOR"
7  content="Mozilla/4.8 [en] (X11; U; Linux 2.4.18-14 i686) [Netscape]">
8   <meta name="Author"
9  content="Alexander KOVALEV, Open CASCADE SAS (alexander.kovalev@opencascade.com)">
10   <meta name="Copyright" content="2002-2013 CEA">
11   <title>SALOME Installation Wizard Help</title>
12 </head>
13 <body style="color: rgb(0, 0, 0); background-color: rgb(255, 255, 229);"
14  alink="#ff0000" link="#0000ee" vlink="#551a8b">
15 &nbsp;
16 <center>
17 <table nosave="" width="100%">
18   <tbody>
19     <tr nosave="">
20       <td nosave="">
21       <h1><a href="http://www.opencascade.com"><img src="logocorp.png"
22  border="0" height="47" width="139"> </a></h1>
23       </td>
24       <td>
25       <center>
26       <h3><font size="+4"><font color="#000099">SALOME Installation
27 Wizard Help</font></font></h3>
28       </center>
29       </td>
30       <td>
31       <div align="right"><a href="http://www.opencascade.org/SALOME/"><img
32  src="application.png" border="0" height="47" width="109"> </a></div>
33       </td>
34     </tr>
35   </tbody>
36 </table>
37 </center>
38 <div align="right"><b><font color="#000099">updated for the version </font><font
39  color="#ff0000">7.3.0</font></b></div>
40 <hr>
41 <ul>
42   <li> <a href="#install_from_wizard">Installing products with the
43 Installation Wizard<br>
44     </a></li>
45   <ul>
46     <li><a href="#gui_mode">GUI mode</a></li>
47     <li><a href="#batch_mode">Batch mode</a></li>
48     <li><a href="#env_files">Environment files</a><br>
49     </li>
50   </ul>
51   <li> <a href="#pick_up_env">Pick up the environment</a></li>
52   <li> <a href="#xml_files">Modifying XML configuration file</a></li>
53   <li> <a href="#new_products">Implementing installation scripts for
54 the new products</a></li>
55   <li> <a href="#finish_buttons">Customizing Readme page buttons</a></li>
56 </ul>
57 <h3>
58 <hr></h3>
59 <h3> <a name="install_from_wizard"></a>Installing products with the <font
60  color="#ff0000">Installation Wizard</font></h3>
61 The Installation Wizard can be launched in two modes: <span
62  style="font-weight: bold;">GUI </span>and <span
63  style="font-weight: bold;">batch</span>. <br>
64 The root directory of the Installation Wizard
65 contains Python script <span style="font-weight: bold;">runInstall</span>.
66 To run the Installation Wizard just type <b>./runInstall</b> in the
67 terminal
68 window:<span style="font-weight: bold;"></span><span
69  style="font-weight: bold;"></span>
70 <p>[ python ] <b>./runInstall </b>[options]<b><br>
71 </b></p>
72 <p>Without options this script will launch the SALOME Installation
73 Wizard in the GUI mode.<br>
74 The default installation settings can be overridden by using of command
75 line options. Each option has short and long notations:<br>
76 </p>
77 <p><b>-g / --gui</b><br>
78 </p>
79 <div style="margin-left: 40px;">Runs the Installation Wizard in the
80 GUI
81 mode (this is the default mode).<br>
82 </div>
83 <p><b>-b / --batch</b><br>
84 </p>
85 <div style="margin-left: 40px;">Runs the Installation Wizard in
86 the terminal mode. <br>
87 </div>
88 <p><b>-f FILE / --file=</b><span style="font-weight: bold;">FILE<br>
89 </span></p>
90 <div style="margin-left: 40px;">
91 This is the XML configuration file used by the Installation Wizard. 
92 If this option is not used, the installation script tries to define 
93 the<i>Linux </i>version and to use the corresponding XML file
94 if it is present.
95 For example, for <span style="color: rgb(0, 0, 153);">Linux Mandriva
96 2010</span>&nbsp; the <b>config_Mandriva_2010.0.xml</b>&nbsp;
97 file
98 will be used by default.
99 </div>
100 <p> <b>-d DIR / --target=DIR</b><br>
101 </p>
102 <div style="margin-left: 40px;">This is the target installation 
103 directory for SALOME platform. If used, this option overrides 
104 the default target directory, given in the
105 configuration XML file (usually<span style="font-weight: bold;">
106 ${HOME}/salome_&lt;version&gt;</span><!--,
107 see
108 <a href="#xml_files">here</a> for more details-->).<br>
109 </div>
110 <p><b>-t DIR / --tmp=DIR </b></p>
111 <div style="margin-left: 40px;">This is the directory, for 
112 temporary files. If given, this option overrides the default 
113 temporary directory, given in the configuration xml file 
114 (usually <span style="font-weight: bold;">/tmp</span>
115 <span style="font-weight: bold;"></span><!--, 
116 see <a href="#xml_files">here</a> for more information-->).<br>
117 </div>
118 <p><b>-a / --all-from-sources</b></p>
119 <div style="margin-left: 40px;">
120 Force all the products to be installed from sources (including all
121 SALOME modules). If this option is used, all the default installation
122 modes for all the products are ignored.<br>
123 This option is helpful when the user wants to install SALOME on the
124 platform which is not officially supported. In this case, the user can
125 try to run the SALOME Installation Wizard with the <span
126  style="font-weight: bold;">-a</span> option in order to build all the
127 products from sources.<br>
128 <b>Note, that this is long-time operation which can take more than 
129 24 hours depending on the computer.</b><br>
130 </div>
131 <p><b>-s / --single-directory </b></p>
132 <div style="margin-left: 40px;">Install all SALOME binaries packages 
133 to one directory.<br>
134 <b>This option is ignored when --all-from-sources (-a) option is used.
135 </b></div>
136 <p><b>-h / --help</b><br>
137 </p>
138 <div style="margin-left: 40px;">Prints help information on
139 the usage of the Installation Wizard. <br>
140 </div>
141 <p></p>
142 <p>
143 <b>-v / --version</b><br>
144 </p>
145 <div style="margin-left: 40px;">Prints version information
146 (<span style="font-weight: bold;">Note: </span>this
147 is the version number of the Installation Wizard, not of SALOME platform). <br>
148 </div>
149 <p>
150 </p>
151 <p>The installation procedure supports different <span style="color: rgb(0, 0, 153);">Linux
152 </span>platforms and installs various 3d-party installation prerequisite products, which
153 are required by SALOME platform. Among supported Linux platforms there are Mandriva 2008
154 (32bit and 64bit), Mandriva 2010 (32bit and 64bit), Debian 4.0 Etch (32bit and 64bit),
155 Debian 5.0 Lenny 64bit, Debian 6.0 Squeeze 64bit and other ones.<br>
156 The usage of configuration XML files provides a flexible way to modify
157 the list of products to be installed by the Installation Wizard without
158 changing the source code of the application. Just create your own XML
159 configuration file and implement installation scripts for the prerequisite products you
160 need and then use this XML file with the Installation Wizard. This can
161 be done, for example, for some <span style="color: rgb(0, 0, 153);">Linux
162 </span>platform which is not supported directly by the
163 Installation Wizard. See <a href="#xml_files">Modifying XML
164 configuration file</a> and <a href="#new_products">Implementing installation
165 scripts for the new products</a> sections for more information. </p>
166 <h3 style="margin-left: 40px;"> <a name="gui_mode"></a>GUI
167 mode<br>
168 </h3>
169 <p>The GUI of the <font color="#ff0000">Installation Wizard</font> has been
170 developed with <span style="font-weight: bold;"><span style="color: rgb(0, 0, 153);">Qt
171 3.3.8 </span> </span>toolkit by <span style="color: rgb(0, 0, 153);">
172 Trolltech </span>. After launching the Installation Wizard
173 in the GUI mode the wizard window is shown to the user. This wizard
174 guides the user through several subsequent pages. To navigate between
175 the pages use <i>"Next"</i> and <i>"Back"</i>
176 buttons in the lower part of the wizard window. <i>"Cancel"</i> button
177 closes the wizard window&nbsp;and quits the installation procedure after user
178 confirmation. <i>"Help"</i> button opens a window with the help information. </p>
179 <p>The first "<span style="font-style: italic;">Introduction"</span>
180 page is shown in <a href="#IntroPage">Figure 1</a>.
181 Skip this page by pressing <i>"Next"</i> button:
182 </p>
183 <center><a name="IntroPage"></a><br>
184 <img alt="Intro page" src="intropage.png" style="width: 606px; height: 422px;">
185 <p><b>Figure 1:</b> "Introduction" page</p>
186 </center>
187 <p>In the second page you are proposed to select the type of the
188 SALOME installation.<br>
189 <br>
190 At this step three possible types of installation are available:<br>
191 </p>
192 <ol>
193   <li><span style="font-style: italic;"> <font color="#ff0000"><b>"Install binaries"</b></font></span>
194 type:<br>
195     <ul>
196       <li>all binaries and sources of the chosen modules are
197 installed;</li>
198       <li>all binaries of the chosen prerequisites are installed.</li>
199       <br>
200     </ul>
201   </li>
202   <li><span style="font-style: italic;"> <font color="#ff0000"><b>"Install sources"</b></font></span>
203 type:<br>
204     <ul>
205       <li>all sources of the chosen modules and prerequisites are
206 installed without compilation.</li>
207       <br>
208     </ul>
209   </li>
210   <li><span style="font-style: italic;"> <font color="#ff0000"><b>"Install sources and
211 make compilation"</b></font></span> type:<br>
212     <ul>
213       <li>all sources of the chosen modules and prerequisites are
214 installed;</li>
215       <li>all sources are compiled.</li>
216     </ul>
217   </li>
218 </ol>
219 <p></p>
220 <p>In case you select "Install sources and make compilation"
221 installation type, then you can also check "Remove sources and
222 temporary files after compilation" option.
223 </p>
224 <center><a name="Installation_type_page"></a><br>
225 <img alt="Installation type page" src="installtypepage.png" style="width: 606px; height: 422px;">
226 <p><b>Figure 2:</b> "Type of installation" page
227 </p>
228 </center>
229 <p>After the installation type has been selected you click <i>"Next"</i>
230 button and the Installation Wizard tries to determine the Linux
231 platform to load the corresponding configuration file. If the operating
232 system is not defined or the current SALOME package does not support
233 this system, the warning message will appear ("<i>Install binaries</i>"
234 and "<i>Install sources</i>" installation types only):
235 </p>
236 <center><a name="Platform_page"></a><br>
237 <img alt="Platform page" src="platformpage.png" style="width: 603px; height: 420px;">
238 <p><b>Figure 3:</b> "Installation platform" page
239 </p>
240 </center>
241 <p>If "<i>Install sources and make compilation</i>"
242 installation type has been selected, the warning message will be
243 slightly different: "<i>Your Linux platform is not supported by
244 this SALOME package and compilation is not tested on this one</i>".<br>
245 There is a list of all platforms supported by SALOME, but only those
246 supported by the current package are available for selection. in this
247 page you need to to select the reference platform, if you wish to
248 proceed with the present installation procedure.<br>
249 <b>Note:</b> this page is not displayed if the installation
250 platform has been defined automatically.
251 </p>
252 <p>In the next page you are proposed to enter the target
253 installation directory for SALOME platform. You can also press <i>"Browse..."</i>
254 button and choose the destination folder using the standard browse
255 directory dialog box. <br>
256 If the necessary directory does not exist you are
257 prompted to confirm the directory creation. If you type a wrong
258 directory
259 path, or if you do not have the permissions to write to the chosen
260 directory, the corresponding message box is shown.<br>
261 </p>
262 <p><b>Note: you are strongly recommended to avoid using
263 directory names containing spaces.</b> Otherwise you can
264 experience some troubles with the
265 installation.
266 </p>
267 <center><a name="Directory_page"></a><br>
268 <img alt="Directory page" src="directorypage.png" style="width: 606px; height: 422px;">
269 <p><b>Figure 4:</b> "Installation directory" page
270 </p>
271 </center>
272 <p>You can select the products to be installed in the "Choice of
273 the products to be installed" page.<br>
274 In the default mode it gives you the possibility to view and select
275 SALOME modules only. There is a hidden list of 3d-party prerequisite
276 products. To show it, just click "<i>Show prerequisites...</i>"
277 button.
278 </p>
279 <center><a name="Products_page1"></a><br>
280 <img alt="Products page (default mode)" src="productpage1.png" style="width: 606px; height: 422px;">
281 <p><b>Figure 5:</b> Choice of the SALOME modules
282 </p>
283 </center>
284 <p>In the full mode you also have the possibility to select
285 prerequisites.<br>
286 The checkbox before each product indicates if this one will be
287 installed or not (checked or unchecked). The second column shows the
288 disk space occupied by the corresponding module. This value depends on
289 the selected type of installation.<br>
290 To hide the prerequisites list - click "<i>Hide prerequisites</i>"
291 button.</p>
292 <center><a name="Products_page2"></a><br>
293 <img alt="Products page (full mode)" src="productpage2.png" style="width: 606px; height: 422px;">
294 <p><b>Figure 6:</b> Choice of the prerequisites
295 </p>
296 </center>
297 <p>
298 Some products may require some other prerequisite products to be
299 installed. So the installation procedure has a special feature to
300 automatically mark these products in the list view. For example, to
301 install PyQt it is necessary to have gcc, Python, Qt and Sip installed,
302 and these products will be also turned on when you check on PyQt. GEOM
303 module requires KERNEL, GUI modules and such prerequisites as:
304 OpenCascade, Python, Swig, Qt, etc.
305 </p>
306 <p>The dependencies between SALOME modules are managed in the
307 following way:
308 </p>
309 <ul>
310   <li>If one module is unchecked, all modules which depend on
311 this one are also unchecked automatically;</li>
312   <li>If one module is checked, all modules required for this one
313 are also checked automatically.</li>
314 </ul>
315 <p></p>
316 <p>Dependency between modules and prerequisites is realized in
317 the following way:
318 </p>
319 <ul>
320   <li>The choices made by the user in the list of modules have a
321 direct impact on the list of prerequisites;</li>
322   <li>Whenever a module is checked, all the necessary
323 prerequisites are checked automatically with no possibility for the
324 user to uncheck them (see <a href="#Products_page3">Fig.7</a>
325 below);</li>
326   <li>Whenever a module is unchecked, according to the remaining
327 checked modules, the unnecessary prerequisites are unchecked
328 automatically (see <a href="#Products_page3">Fig.7</a>
329 below).</li>
330 </ul>
331 It is possible to check again the prerequisites, which have been
332 automatically unchecked. In other words, it is possible to add more
333 prerequisites than necessary.
334 <p></p>
335 <center><a name="Products_page3"></a><br>
336 <img alt="Products page (dependencies presentation)" src="productpage3.png" style="width: 606px; height: 422px;">
337 <p><b>Figure 7:</b> Dependencies between modules and
338 prerequisites
339 </p>
340 </center>
341 <p>The "<i>Installation with GUI</i>" checkbox allows
342 managing the installation of the graphical interface. Only modules for that 
343 'woguimode' attribute is set to "true" value in the XML file 
344 (see <a href="#xml_files">here</a> for more information about
345 customizing this installation mode) support without GUI mode and 
346 will be checked and installed with their necessary prerequisites in 
347 case of installation without GUI. And other modules are unchecked with no
348 possibility to check them in this mode (see <a href="#Products_page4">figure</a> below).<br>
349 By default 'Installation with GUI' checkbox is switched on.
350 </p>
351 <center><a name="Products_page4"></a><br>
352 <img alt="Products page (Installation without GUI)" src="productpage4.png" style="width: 606px; height: 422px;">
353 <p><b>Figure 8:</b> Installation without GUI mode
354 </p>
355 </center>
356 <p>The box at the right side of the page displays the information
357 about the currently selected product: name, version and short description,
358 required disk space, disk space required for the temporary files and
359 the list of prerequisites (this information is provided in the XML
360 file).
361 </p>
362 <p>The <i>"Disk space required:"</i> field displays
363 how much
364 disk space on the hard drive is required for installation of the
365 selected
366 products.<br>
367 <b>Note:</b> please, take into account that the displayed
368 amount of
369 the required disk space is approximate and may differ when you actually
370 install products on your hard drive.
371 </p>
372 <p>The installation procedure uses a special directory to store
373 temporary files. The <i>"Space for temporary files"</i>
374 field shows
375 the information about the required disk space on the hard drive for
376 extracting and compiling the selected products. You can change the
377 temporary directory (this information is provided in the XML file) to
378 the folder you want.<br>
379 <span style="font-weight: bold;">Note:</span>
380 actually, the temporary files
381 are not stored directly in the directory selected by the user. The
382 Installation Wizard creates in this directory an additional folder
383 named
384 like INSTALLWORK<span style="font-weight: bold;">XXXXX</span>
385 where XXXXX is a unique number. This allows launching several
386 Installation Wizards simultaneously. This temporary directory is
387 removed automatically when the installation finishes.<br>
388 </p>
389 <p>The installation procedure also checks the available disk
390 space. If
391 there is not enough disk space on your hard drive you will see the
392 corresponding error message box.
393 </p>
394 <p>Also in the current version of Installation Wizard is possible
395 to install all binaries of the selected SALOME modules into a <b>single</b>
396 directory. It is "<i>SALOME</i>" directory.
397 For this purpose there is a checkbox "<i>Install modules to a
398 single directory</i>" checkbox exists (see <a href="#Products_page4">Fig.8</a>).<br>
399 This feature helps to get shorter PYTHONPATH and LD_LIBRARY_PATH
400 environment variables.<br>
401 <b>Note:</b> the installation into a single directory is
402 available with the binaries installation type only.
403 </p>
404 <p>To proceed further, click <i>"Next"</i> button.
405 At this moment
406 the program will make some tests to check the installation settings: if
407 there is enough disk space on the hard drive, check for the
408 dependencies for each product you have selected to be installed. If any
409 test fails you will see the corresponding warning message box.
410 Otherwise the wizard will proceed to the next page:
411 </p>
412 <center><a name="ChoicePage"></a><br>
413 <img alt="Choice page" src="choicepage.png" style="width: 606px; height: 422px;">
414 <p><b>Figure 9:</b> "Check your choice" page
415 </p>
416 </center>
417 <p>This page summarizes the installation options you've selected
418 in the
419 previous pages. You can review again your choices and change them if
420 necessary returning to the previous pages. <br>
421 When you are sure that everything is OK, press <i>"Next"</i>
422 button to
423 follow to the <a href="#ProgressPage1">progress page</a>.
424 </p>
425 <center><a name="ProgressPage1"></a><br>
426 <img alt="Progress page (not started yet)" src="progresspage1.png" style="width: 606px; height: 422px;">
427 <p><b>Figure 10:</b> "Installation progress" page:
428 not started yet
429 </p>
430 </center>
431 <div style="text-align: left;">To start the installation
432 of the selected products click <i>"Start"</i>
433 button. It launches the shell installation script and you will be able
434 to see the output of the script in the topmost frame of the dialog box.
435 If any errors occur during the installation progress, the corresponding
436 messages will be printed to the log window in the bold red font and 
437 installation process will be aborted with error message box. But user 
438 has possibility to change this default behaviour by 
439 <i>"Ignore errors"</i> checkbox. It is necessary to check 
440 it before start and all occured errors will be passed, 
441 and installation will be continued in any case.<br>
442 </div>
443 <div style="text-align: left;">It is possible to break the
444 installation at any time by pressing <span style="font-style: italic;">"Stop"</span>
445 button. Then you can get back to the previous pages if you wish to
446 change the installation settings or restart the installation by
447 pressing <span style="font-style: italic;">"Start"</span>
448 button again.<br>
449 </div>
450 <p style="text-align: left;"><span style="font-weight: bold;">Note:</span>
451 in the current
452 implementation it is not possible to resume the stopped installation
453 process; the installation will restart from the very beginning. <br>
454 </p>
455 <center><a name="ProgressPage2"></a><br>
456 <img alt="Progress page (installation started)" src="progresspage2.png" style="width: 606px; height: 422px;">
457 <p><b>Figure 11:</b> "Installation progress" page:
458 installation in
459 progress
460 </p>
461 </center>
462 <p>The <i>"Installation Status"</i> frame window
463 shows you the
464 progress of installation. "<font color="#ff0000">Waiting</font>"
465 status
466 means that the installation of this product has not started
467 yet. The product currently being installed is marked as "<font color="#ff9900">Processing</font>" and is displayed in
468 the status bar under "Installation Status" view. All installed products
469 have "<font color="#33ff33">Completed</font>"
470 status.
471 </p>
472 <p>You can abort the installation and close the installation
473 procedure
474 using <i>"Cancel"</i> button. <br>
475 <span style="font-weight: bold;">Note:</span> this
476 button sends the
477 signal "SIGTERM" to the shell script.
478 The script tries to clear all temporary files.
479 The process of removing the temporary files can take some time, so the
480 installation wizard will wait for 3 seconds before closing.
481 </p>
482 <p>At the end of the installation "<b>Installation completed</b>"
483 message will appear in the status bar. You can return to the previous
484 pages to start a new installation or click <i>"Next"</i>
485 button to go to the readme page: </p>
486 <center><a name="readmepage"></a><br>
487 <img alt="Readme page" src="readmepage.png" style="width: 606px; height: 422px;">
488 <p><b>Figure 12:</b> "Finish installation" page
489 </p>
490 </center>
491 <p>In this page you can read important information about the
492 Installation Wizard itself and some tips: how to run and test SALOME or
493 how to build SALOME from the sources. This is also described the
494 README file which you can find in the root directory of the
495 Installation Wizard. <br>
496 You can also launch SALOME Desktop from this
497 page or read the Release Notes file by clicking on the corresponding
498 buttons in the lower part of the page (see <a href="#xml_files">here</a>
499 and <a href="#finish_buttons">here</a> for more
500 information about
501 customizing these buttons).<br>
502 </p>
503 <h3 style="margin-left: 40px;"> <a name="batch_mode"></a>Batch mode<br>
504 </h3>
505 To launch the Installation Wizard in the batch mode use <span
506 style="font-weight: bold;">-b</span>
507 (<span style="font-weight: bold;">--batch</span>) parameter.<br>
508 In this mode the GUI wizard is not shown but all the installation
509 status is displayed directly in the console. In the batch mode user do
510 not have a possibility to change installation settings which are given
511 in the configuration file, except target and temporary directories
512 which can be overridden by the corresponding command line options.<br>
513 There are two exceptions: <b>--all-from-sources</b>
514 (<b>-a</b>) option which enables
515 special installation mode in which all the products (including SALOME
516 modules) are installed from sources, ignoring default mode defined in
517 the XML configuration file (see <a href="#install_from_wizard">here</a>
518 for details) and <b>--single-directory</b> (<b>-s</b>) option which defines
519 that all SALOME modules have to be installed into the one directory 
520 (SALOME_&lt;version&gt;, by default, where &lt;version&gt; is SALOME version).
521 <center><a name="BatchMode"></a><br>
522 <br>
523 <img alt="Batch mode" src="batchmode.png"
524 style="width: 745px; height: 415px;">
525 <p><b>Figure 9:</b> Batch mode</p>
526 </center>
527 <h3 style="margin-left: 40px;"><a name="env_files"></a>Environment
528 files</h3>
529 <p>During the process of installation the
530 script creates some
531 environment files to simplify the procedure of launching SALOME. These
532 shell scripts set
533 all necessary environment variables for all products you have
534 installed.
535 To learn how the installation scripts collect the environment, see <a href="#pick_up_env">here</a>. These files are: <b>salome.csh</b>
536 + <b>salome.sh</b>
537 in the <span style="font-style: italic;"><span style="font-weight: bold;">KERNEL module</span></span><b><i>
538 sources</i></b>
539 and <span style="font-style: italic;"><span style="font-weight: bold;">KERNEL
540 module</span></span><b><i> binaries</i></b>
541 root directories and <b>env_products.csh</b>
542 + <b>env_products.sh </b>and <span style="font-weight: bold;">env_build.csh
543 </span>+ <span style="font-weight: bold;">env_build.sh</span>
544 in the
545 target installation directory.<br>
546 </p>
547 <span style="font-weight: bold;">Note:</span> there
548 is some difference
549 between these files: <span style="font-weight: bold;">env_build.*</span>
550 files are optimized to
551 be used for the building of SALOME modules from sources (see <span style="font-weight: bold;">README </span>file
552 provided with the
553 installation procedure on the CD). The <span style="font-weight: bold;">env_products.*</span>
554 (and<span style="font-weight: bold;"> salome.*</span>)
555 files are
556 optimized for
557 the SALOME launching. The behavior is defined by the environment
558 variable<span style="font-weight: bold;"> </span><b>ENV_FOR_LAUNCH</b>
559 which is set to <span style="font-weight: bold;">0</span>
560 in
561 env_build.* files and to <span style="font-weight: bold;">1</span>
562 in
563 env_products.*
564 (salome.*) files.<br>
565 <br>
566 <hr>
567 <h3> <a name="pick_up_env"></a>Pick up the <font color="#ff0000">environment</font></h3>
568 Please, read carefully the following information. This section
569 describes how the installation procedure generates the environment
570 scripts for the SALOME platform being installed.
571 <p>After the installation of each product the shell script
572 creates a special
573 environment file for the product in its installation folder. The name
574 of the file is generated from the name of the product by the following
575 scheme: <b>env_&lt;product_name&gt;.sh</b>
576 (for example <b>env_Vtk.sh </b>for the Vtk).
577 This file includes all necessary environment settings. At the final
578 step of the installation the script picks up all settings files and
579 generates from them two common environment files: <b>salome.sh</b>
580 and <b>salome.csh
581 </b>for <span style="font-weight: bold;">bash</span>
582 and <span style="font-weight: bold;">csh</span>
583 shells correspondingly. This
584 approach helps to save time when reinstalling products and you may can
585 avoid setting all environment variables
586 manually to build/launch SALOME. What you need is to source one of
587 these environment files. </p>
588 <p>This also concerns the products which are not being installed.
589 For example, you install some SALOME binaries to the directory where
590 you have previously installed other products.&nbsp; The
591 installation
592 procedure tries to collect the environment files from the target
593 directory if it finds necessary products installed there. If a
594 product is not found in the target directory the corresponding
595 section of <b>salome.sh/salome.csh</b> files will be
596 commented. <br>
597 For the native products (like <i><b>gcc, tcl, etc...</b><b>)</b></i>
598 the installation procedure tries to find them first using <b>PATH</b>
599 / <b>LD_LIBRARY_PATH</b> variables and then in the system
600 default
601 directories (<b>/usr/bin, /usr/lib</b> etc., depending on
602 the product).
603 </p>
604 <p>In any case you are able to edit <b>salome.*</b>
605 files after the installation procedure finished.<br>
606 <span style="font-weight: bold;"><br>
607 Note:</span> as it has been mentioned <a href="#env_files">above</a>
608 there
609 are other environment files generated by the installation procedure: <span style="font-weight: bold;">env_products.csh</span> + <span style="font-weight: bold;">env_products.sh</span> and <span style="font-weight: bold;">env_build.csh</span> + <span style="font-weight: bold;">env_build.sh</span>. These
610 files can be
611 found in the target installation root directory.<br>
612 </p>
613 <hr>
614 <h3><a name="xml_files"></a>Modifying <font color="#ff0000">XML</font>
615 configuration <font color="#ff0000">file</font></h3>
616 <font color="#000000">You can create your own XML
617 configuration file.
618 The Installation Wizard can take it as a command line argument to
619 provide a list of products you want to install with it. The list of
620 products and some other settings for the Installation Wizard are
621 provided in the XML file.<br>
622 This section describes the structure of the configuration file.</font>
623 <font color="#000000">XML tags are in bold blue, optional
624 sections/tags
625 are in brackets.</font>
626 <font face="Courier">
627 <p><b><font color="#000099">&lt;document&gt;</font></b>
628 <br>
629 <font color="#000000"><b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
630 </b></font><b><font color="#000099">
631 &lt;config</font></b><font color="#000000">
632 [ version=&lt;application_version&gt;
633 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;]</font> <br>
634 <font color="#000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
635 &nbsp;
636 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [
637 caption=&lt;application_caption&gt;
638 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;]</font> <br>
639 <font color="#000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
640 &nbsp;
641 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [
642 copyright=&lt;application_copyright&gt;&nbsp; ]</font>
643 <br>
644 <font color="#000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
645 &nbsp;
646 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [
647 license=&lt;application_license_info&gt; ]</font> <br>
648 <font color="#000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
649 &nbsp;
650 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
651 platforms=&lt;target_platform&gt;</font> <br>
652 <font color="#000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
653 &nbsp;
654 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [
655 targetdir=&lt;target_directory&gt;
656 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;] </font>
657 <br>
658 <font color="#000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
659 &nbsp;
660 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
661 [
662 tempdir=&lt;temp_directory&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
663 &nbsp;&nbsp;&nbsp;&nbsp; ]</font>
664 <br><font color="#000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
665 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[
666 optionallibs=&lt;optional_libraries&gt;&nbsp;&nbsp;]</font>
667 <b><font color="#000099"><br>
668 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /&gt; </font></b>
669 <br>
670 <font color="#000000"><b>&nbsp;&nbsp;&nbsp;
671 </b>[ </font><b><font color="#000099">&lt;buttons&gt;</font></b>
672 <br>
673 <font color="#000000"><b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
674 </b>[ </font><b><font color="#000099">&lt;button</font></b>
675 <font color="#000000">&nbsp;
676 label=&lt;button_label&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font>
677 <br>
678 <font color="#000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
679 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
680 [ tooltip=&lt;button_tooltip&gt; ]</font> <br>
681 <font color="#000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
682 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
683 &nbsp;
684 script=&lt;button_script&gt;&nbsp;&nbsp;&nbsp;</font>
685 <br>
686 <font color="#000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
687 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
688 [ disable=&lt;disable_flag&gt;&nbsp;&nbsp;&nbsp;]</font><font color="#000099"><br>
689 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <b>/&gt;</b>
690 </font><font color="#000000"><br>
691 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ]</font> <br>
692 <font color="#000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
693 [</font><b><font color="#000099">
694 &lt;button</font></b><font color="#000000">
695 ... </font><font color="#000099"><br>
696 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <b>/&gt;</b></font>
697 <br>
698 <font color="#000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
699 ]</font><br>
700 <font color="#000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
701 ...</font>
702 <font color="#000099"><br>
703 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <b>&lt;/buttons&gt;</b>
704 </font><font color="#000000"><br>
705 &nbsp;&nbsp;&nbsp; ]</font> <br>
706 <font color="#000000">&nbsp;&nbsp;&nbsp; [</font><b><font color="#000099"> &lt;products&gt;</font></b>
707 <br>
708 <font color="#000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
709 [</font><b><font color="#000099">
710 &lt;product</font></b><font color="#000000">&nbsp;
711 name=&lt;product_name&gt;</font> <br>
712 <font color="#000000">&nbsp;&nbsp;&nbsp;&nbsp;
713 &nbsp;
714 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
715 type=&lt;product_type&gt;</font> <br>
716 &nbsp;&nbsp;&nbsp; &nbsp; &nbsp;
717 &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; [
718 description=&lt;product_description&gt; ]<br>
719 <font color="#000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
720 </font><b><font color="#000099">
721 &lt;installation</font></b><font color="#000000">&nbsp;
722 os=&lt;installation_platform&gt;</font> <br>
723 <font color="#000000">&nbsp;&nbsp;&nbsp;&nbsp;
724 &nbsp;&nbsp;&nbsp;&nbsp;
725 &nbsp;&nbsp;
726 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
727 version=&lt;product_version&gt;</font> <br>
728 <font color="#000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
729 &nbsp;&nbsp;&nbsp;
730 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
731 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [
732 disable=&lt;disable_flag&gt;
733 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;]
734 <font color="#000000"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
735 &nbsp;&nbsp;&nbsp;
736 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
737 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [
738 woguimode=&lt;without_gui_mode_flag&gt; ]
739 <font color="#000000"><br>
740 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
741 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
742 installdiskspace=&lt;install_disk_space&gt;</font><br>
743 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
744 &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; &nbsp;
745 &nbsp;&nbsp;&nbsp;&nbsp; [
746 pickupenv=&lt;pickup_env_flag&gt;
747 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;]</font>&nbsp;
748 <font color="#000000"><br>
749 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
750 &nbsp;
751 &nbsp;&nbsp;&nbsp;&nbsp;
752 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
753 script=&lt;installation_script_name&gt;</font><br>
754 <font color="#000099">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
755 <b>/&gt;</b></font><br>
756 <font color="#000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
757 ...</font>
758 <font color="#000099"><br>
759 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <b>/&gt;</b></font><font color="#000000">
760 <br>
761 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ]</font> <font color="#000000"><br>
762 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [</font><b><font color="#000099"> &lt;product</font></b><font color="#000000"> ... </font><font color="#000099"><br>
763 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <b>/&gt;</b></font><font color="#000000"> <br>
764 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ]</font><br>
765 <font color="#000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
766 ...</font><br>
767 <font color="#000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><b><font color="#000099"> &lt;/products&gt;</font></b>
768 <br>
769 <font color="#000000">&nbsp;&nbsp;&nbsp; ]</font><br>
770 <font color="#000000">&nbsp;&nbsp;&nbsp; [</font><b><font color="#000099"> &lt;dependencies&gt;</font></b>
771 <br>
772 <font color="#000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
773 [</font><b><font color="#000099">
774 &lt;product</font></b><font color="#000000">&nbsp;
775 name=&lt;product_name&gt;</font><b><font color="#000099"> &gt;</font></b> <br>
776 <font color="#000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
777 [</font><b><font color="#000099">
778 &lt;dep&gt;</font></b> <font color="#000000">&lt;prerequisite_name&gt;</font>
779 <b><font color="#000099"> &lt;/dep&gt;</font></b>
780 <font color="#000000">]</font><br>
781 <font color="#000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
782 ...</font><br>
783 <font color="#000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><b><font color="#000099"> &lt;/product&gt;</font></b>
784 <br>
785 <font color="#000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
786 ]</font><br>
787 <font color="#000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
788 ...</font><br>
789 <font color="#000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><b><font color="#000099"> &lt;/dependencies&gt;</font></b>
790 <br>
791 <font color="#000000">&nbsp;&nbsp;&nbsp; ]</font><br>
792 <b><font color="#000099">
793 &lt;/document&gt;</font></b> </font></p>
794
795 <h4><font color="#000000">&lt;config&gt;
796 section</font></h4>
797 <font color="#000000">This section provides general
798 information about an application that will be installed.<br>
799 <br>
800 Attributes:<br>
801 </font>
802 <ul>
803   <li> <font color="#000000"><b>version</b></font></li>
804 </ul>
805 <font color="#000000">The application version number to be
806 shown in the
807 caption.</font>
808 <ul>
809   <li> <font color="#000000"><b>caption</b></font></li>
810 </ul>
811 <font color="#000000">The application main window caption
812 - if this
813 string contains '%1' text the title will contain
814 the version number in this place (see above).</font>
815 <ul>
816   <li> <font color="#000000"><b>copyright</b></font></li>
817 </ul>
818 <font color="#000000">The application
819 copyright information (shown in the first page).</font>
820 <ul>
821   <li> <font color="#000000"><b>license</b></font></li>
822 </ul>
823 <font color="#000000">The application license information
824 (shown in the
825 first page).</font>
826 <ul>
827   <li> <font color="#000000"><b>platforms</b></font></li>
828 </ul>
829 <font color="#000000">This parameter defines platforms for
830 whose the configurations from this file will be used. Also it provides
831 the directory name (relative from ./Products/BINARIES) where the
832 Installation Wizard will search for precompiled binaries packages.</font>
833 <ul>
834   <li> <font color="#000000"><b>targetdir</b></font></li>
835 </ul>
836 <font color="#000000">The target
837 directory is the path to the directory where the products should be
838 installed.</font>
839 <ul>
840   <li> <font color="#000000"><b>tempdir</b></font></li>
841 </ul>
842 <font color="#000000">The temporary directory is
843 the path to the directory for the temporary files.</font>
844 <ul>
845   <li> <font color="#000000"><b>optionallibs</b></font></li>
846 </ul>
847 <font color="#000000">A list of names of libraries. 
848 An absence of these libraries in the user's system 
849 doesn't affect on the correct work of SALOME platform.</font>
850 <h4> <b>&lt;buttons&gt; section</b></h4>
851 This is an optional section and may contains one or more
852 &lt;product&gt; sections.
853 <h4> <b>&lt;button&gt; section</b></h4>
854 This optional section allows customization of the last <i>"Finish
855 installation"</i> page of the Installation Wizard by adding one
856 or
857 more buttons in the lower part of the Installation Wizard window. The
858 script
859 which is attached to each such button, can perform some specific
860 actions, for example, launch the application or show the 'Release
861 Notes'
862 file by using an external program.
863 See <a href="#finish_buttons">here</a> for more
864 details about
865 writing scripts.<br>
866 <font color="#000000"><br>
867 Attributes:</font><br>
868 <ul>
869   <li> <font color="#000000"><b>label</b></font></li>
870 </ul>
871 <font color="#000000">This is the button text.</font>
872 <ul>
873   <li> <font color="#000000"><b>tooltip</b></font></li>
874 </ul>
875 <font color="#000000">The button tooltip (optional).</font>
876 <ul>
877   <li> <font color="#000000"><b>script</b></font></li>
878 </ul>
879 <font color="#000000">The script attached to the button.</font>
880 <ul>
881   <li> <font color="#000000"><b>disable</b></font></li>
882 </ul>
883 <font color="#000000">If this optional flag has 'true'
884 value, the corresponding button will not appear in the <i>"Finish
885 installation"</i> page - the section of XML file is ignored.</font><br>
886 <h4> <b>&lt;products&gt; section</b></h4>
887 This one contains a list of &lt;product&gt; sections. The
888 products appear in the tree view and are installed in the order they
889 are described in this section.
890 <h4> <b>&lt;product&gt; section</b></h4>
891 Current section is optional. It describes the product to be installed
892 with the Installation
893 Wizard. The &lt;products&gt; container should include
894 &lt;product&gt; section for each
895 product to be installed.<br>
896 <font color="#000000"><br>
897 Attributes:</font><br>
898 <ul>
899   <li> <font color="#000000"><b>name</b></font></li>
900 </ul>
901 <font color="#000000">The name of the product.</font>
902 <ul>
903   <li> <font color="#000000"><b>type</b></font></li>
904 </ul>
905 <font color="#000000">The type of the product: '<i>component</i>'
906 - SALOME module or '<i>prerequisite</i>' - prerequisite
907 product.</font>
908 <ul>
909   <li> <font color="#000000"><b>description</b></font></li>
910 </ul>
911 The <font color="#000000">product </font><font color="#000000">description
912 (optional).</font>
913 <h4> <b>&lt;installation&gt; section</b></h4>
914 It is a part of the &lt;product&gt; section, that provides
915 installation information by platforms. The &lt;product&gt;
916 section may contains a several &lt;installation&gt; ones for
917 the different platforms.
918 <br>
919 <font color="#000000"><br>
920 Attributes:</font><br>
921 <ul>
922   <li> <font color="#000000"><b>os</b></font></li>
923 </ul>
924 <font color="#000000">A possible installation platform.</font>
925 <ul>
926   <li> <font color="#000000"><b>version</b></font></li>
927 </ul>
928 <font color="#000000">The version of the product.</font>
929 <ul>
930   <li> <font color="#000000"><b>disable</b></font></li>
931 </ul>
932 <font color="#000000">If this optional flag has 'true'
933 value, the corresponding product will not appear in the list of
934 products and will not be installed.</font>
935 <ul>
936   <li> <font color="#000000"><b>woguimode</b></font></li>
937 </ul>
938 <font color="#000000">This optional flag defines that 
939 it's possible to install this module without GUI.</font>
940 <ul>
941   <li> <font color="#000000"><b>installdiskspace</b></font></li>
942 </ul>
943 <font color="#000000">List of three total amount spaces
944 (integer, in Kbytes, derived by comma), which product occupies on the
945 hard drive after the installation in case 'binary', 'sources' and
946 'sources and compile' installation type.</font>
947 <ul>
948   <li><b>pickupenv</b></li>
949 </ul>
950 This flag shows that the pickup environment
951 procedure should be performed for this product. If this flag equal to
952 'true',
953 &nbsp;salome.sh and salome.csh files will&nbsp; be created in
954 the product's
955 installation directory. Usually this option is set to true for SALOME
956 KERNEL module. This is optional key, default value is 'false'<b>.</b><br>
957 <ul>
958   <li> <font color="#000000"><b>script</b></font></li>
959 </ul>
960 <font color="#000000">The installation script name.
961 This script is in charge of the installation of the product. It is
962 called
963 automatically by the Installation Wizard when necessary from the main
964 program. See the <a href="#new_products">next
965 section</a> for
966 more information.</font><br>
967 <br>
968 <b>Note:</b> If you add new products to be
969 installed with Installation Wizard, you should also provide
970 installation script for this product. See the next section for more
971 details.
972 <p><br>
973 </p>
974 <hr>
975 <h3><a name="new_products"></a>Implementing <font color="#ff0000">installation
976 scripts</font> for the new products</h3>
977 When you want some product to be installed with the Installation
978 Wizard, you should add it's description it <a href="#xml_files">in
979 the
980 configuration file</a> and create the installation script,
981 following
982 rules described in this section. <br>
983 <br>
984 There are some obligatory functions which should be implemented in this
985 installation
986 script. These functions are automatically called by master installation
987 script
988 or/and its GUI shell when it is necessary.<br>
989 <font color="#000000">File <b>common.sh</b>
990 contains some service
991 functions
992 which can be used in your installation script, like <b>make_env()</b>,<b>
993 make_dir()</b>, <b>try_existing()</b>, <b>sort_path()</b>,<b>
994 find_in_path()</b>,
995 etc.</font>
996 <ul>
997   <li> <b>check_version()</b></li>
998 </ul>
999 This function allows to check the
1000 version of the product already installed on the computer. It should try
1001 to find product (native or preinstalled in the target directory) and
1002 check
1003 its version. This helps to avoid unnecessary reinstallation. This is
1004 internal
1005 function and is not called from the master installation script.<br>
1006 <ul>
1007   <li><font color="#000000"><b>install_binary()</b></font></li>
1008 </ul>
1009 <font color="#000000">This function is
1010 called when <i>'Install binaries'</i> installation mode is
1011 selected by
1012 the user. The function is responsible for the extracting of the product
1013 from the binaries package. It should create environment for the product
1014 in
1015 the temporary directory (see also the description of <b>print_env()</b>
1016 function). It is not necessary to implement this function if you do not
1017 provide binaries mode
1018 installation for the current product. <br>
1019 </font>
1020 <ul>
1021   <li> <font color="#000000"><b>install_source()</b></font></li>
1022 </ul>
1023 <font color="#000000">This function is
1024 called to install SALOME modules sources, if <i>'Install binaries</i>'
1025 installation mode is selected by the user, and to install prerequisite
1026 products sources, in <i>'Install sources</i>' case (see <a href="#Installation_type_page">Fig.2</a> above). The
1027 function is responsible for the building of the product from
1028 the sources package. It should create the environment file for the
1029 product
1030 in the temporary directory (see also the description of <b>print_env()</b>
1031 function). It is not necessary to implement this function if you do not
1032 provide a sources mode installation for the current product.</font>
1033 <br>
1034 <ul>
1035   <li> <font color="#000000"><b>install_source_and_build()</b></font></li>
1036 </ul>
1037 <font color="#000000">This function is
1038 called when <i>'Install sources and make a compilation'</i>
1039 installation mode is selected. This function should be used to unpack
1040 SALOME or prerequisite sources package and then call build/install
1041 procedure for it.<br>
1042 For more details please refer to <a href="#gui_mode">this</a>
1043 section for more details.<br>
1044 </font>
1045 <ul>
1046   <li> <b>try_preinstalled()</b></li>
1047 </ul>
1048 <font color="#000000">This function
1049 is used to parse the target directory to try to find an already
1050 installed product, to pick up and to check the environment from
1051 there. See <a href="#pick_up_env">here</a> for more
1052 details.</font>
1053 <ul>
1054   <li> <font color="#000000"><b>print_env_bin()
1055     </b> &amp; <b> print_env_src()</b></font></li>
1056 </ul>
1057 <font color="#000000">These functions are in charge of the
1058 creation of the environment scripts. They should create in the
1059 temporary directory two files with <b>env_&lt;product_name&gt;.sh</b>
1060 and <b>env_&lt;product_name&gt;_src.sh</b>
1061 names and then copy them into the binary and sources product
1062 installation directories correspondingly. The file should contain all
1063 necessary
1064 environment variable settings for the product. It will be collected
1065 during the 'pick-up-environment' procedure.</font>
1066 <ul>
1067   <li><b>pickup_env()</b></li>
1068 </ul>
1069 This procedure corresponds to <b>pickupenv</b> tag
1070 of the configuration xml file (see the previous section). It should
1071 call <b>make_env</b>
1072 procedure to perform the pick-up environment procedure for the product.<br>
1073 <br>
1074 <font color="#000000">The calling signature of the product
1075 installation
1076 script is the following:</font> <br>
1077 <b><font color="#000000">
1078 &lt;product_script_name&gt;
1079 &lt;function_name&gt;
1080 &lt;temp_folder&gt;
1081 &lt;products_directory&gt;
1082 &lt;target_directory&gt;
1083 &lt;all_products&gt;
1084 &lt;product_name&gt;
1085 &lt;install_products&gt;
1086 &lt;sources_directory&gt;
1087 &lt;remove_sources_flag&gt;
1088 &lt;binaries_directory&gt;
1089 &lt;single_directory_flag&gt; </font></b>
1090 <p><font color="#000000">where</font> <br>
1091 </p>
1092 <p><font color="#000000"><b>&lt;product_script_name&gt;</b>
1093 -
1094 the name of the installation script (described in the configuration XML
1095 file);</font> <br>
1096 <font color="#000000"><b>&lt;function_name&gt;</b>
1097 - the name of
1098 the function, corresponding to the selected installation type and
1099 currently installed product; </font> <br>
1100 <font color="#000000"><b>
1101 &lt;temp_folder&gt; </b> - the directory for the
1102 temporary files; </font> <br>
1103 <font color="#000000"><b>&lt;products_directory&gt;</b>
1104 - the directory
1105 where the sources/binaries package can be found. You should provide
1106 sources package in the <i>&lt;Install_Wizard_root_directory&gt;/Products/SOURCES</i>
1107 directory and binaries package in the <i>&lt;InstallWizard_root_directory&gt;/Products/BINARIES/&lt;os_version&gt;</i>,
1108 where &lt;os_version&gt; is the target platform description,
1109 which appears
1110 in the corresponding section of the <a href="#xml_files">configuration
1111 xml
1112 file</a>.</font> <br>
1113 <font color="#000000"><b>
1114 &lt;target_directory&gt; </b> - the root target
1115 directory where the product should be installed to;</font> <br>
1116 <font color="#000000"><b>
1117 &lt;all_products&gt; </b> - single-quoted list
1118 of all products, separated by space;</font> <br>
1119 <font color="#000000"><b>
1120 &lt;product_name&gt; </b>- product name
1121 itself;</font> <br>
1122 <font color="#000000"><b>
1123 &lt;install_products&gt; </b> - single-quoted list
1124 of all products to be installed, separated by space;</font> <br>
1125 <font color="#000000"><b>
1126 &lt;sources_directory&gt; </b> - the directory
1127 where the sources package can be found (it is usable if the
1128 &lt;products_directory&gt; parameter gives the binaries
1129 directory path); </font> <br>
1130 <font color="#000000"><b>
1131 &lt;remove_sources_flag&gt; </b> - bool parameter, that
1132 is equal to 'TRUE' if 'Remove sources and temporary files after
1133 compilation' option has been selected by the user (see <a href="#Installation_type_page">Fig.2</a> in the <a href="#gui_mode">GUI part</a>);</font> <br>
1134 <font color="#000000"><b>
1135 &lt;binaries_directory&gt; </b> - the directory
1136 where the binaries package can be found (it is usable if the
1137 &lt;products_directory&gt; parameter gives the sources
1138 directory path); </font> <br>
1139 <font color="#000000"><b>
1140 &lt;single_directory_flag&gt; </b> - bool parameter,
1141 that is equal to 'TRUE' if 'Install modules to a single directory'
1142 option is selected by the user (see <a href="#Products_page1">Fig.5</a>
1143 above). </font> <br>
1144 </p>
1145 <p><font color="#000000">Example:</font> <br>
1146 <i><font color="#000000">med.sh install_binary
1147 /tmp/INSTALLWORK21797
1148 ./Products/BINARIES/Mandriva2010.0
1149 'gcc tcltk tcltk_src Python Python_src Qt Qt_src ... DOCUMENTATION
1150 DOCUMENTATION_src'
1151 Med
1152 'gcc Hdf Med'
1153 ./Products/SOURCES
1154 FALSE
1155 ./Products/BINARIES/Mandriva2010.0
1156 </font></i></p>
1157 <p><font color="#000000">Copy the created script
1158 into
1159 the <i>&lt;Install_Wizard_root_directory&gt;/config_files</i>
1160 sub-directory where all installation scripts are stored. The Installation
1161 Wizard will automatically search and call your script during the
1162 installation
1163 procedure.</font>
1164 </p>
1165 <hr> <br>
1166 <h3><a name="finish_buttons"></a>Customizing <font color="#ff0000">Readme
1167 page</font> buttons</h3>
1168 The Installation Wizard allows customizing the layout of the last
1169 <i>"Finish installation"</i> page. If you want to add one
1170 or more
1171 buttons in this page to perform some specific actions at the
1172 end of the installation (for example, show the 'Release Notes' file by using
1173 Open Office) you can put an additional section to the XML
1174 configuration file. This is the <b>&lt;button&gt;</b>
1175 section (see <a href="#xml_files">here</a> for more
1176 details). <br>
1177 <br>
1178 To implement the action which will be performed when the user clicks on
1179 the button, you need to create a script and to put it into the
1180 <i>&lt;Install_Wizard_root_directory&gt;/config_files</i>
1181 directory.<br>
1182 There are some obligatory functions which should be implemented in this
1183 script. These functions are automatically called by the Installation
1184 Wizard GUI.
1185 <ul>
1186   <li><b>check_enabled()</b></li>
1187 </ul>
1188 This procedure is called by the Installation Wizard when the
1189 <i>"Finish installation"</i> page is displayed and the
1190 status of the
1191 buttons should be modified according to the installation options. This
1192 procedure should return <b>0</b> if the corresponding
1193 action can be
1194 performed and, thus, the button should be enabled. Otherwise, it
1195 should return <b>1</b> - in this case the corresponding
1196 button will be
1197 disabled.
1198 <ul>
1199   <li><b>execute()</b></li>
1200 </ul>
1201 This procedure is invoked when the user clicks the button. This
1202 procedure should return <b>0</b> if the corresponding
1203 action is carried out
1204 successfully and <b>1</b> if any error occurs.<br>
1205 <br>
1206 The calling signature of the script is the following:<br>
1207 <b><font color="#000000">&lt;product_script_name&gt;
1208 &lt;function_name&gt; &lt;target_directory&gt;
1209 &lt;temp_folder&gt;</font></b>
1210 <p><font color="#000000">where</font> <br>
1211 </p>
1212 <p><font color="#000000"><b>&lt;product_script_name&gt;</b>
1213 -
1214 the script name itself (retrieved from the XML configuration xml
1215 file);</font> <br>
1216 <font color="#000000"><b>&lt;function_name&gt;</b>
1217 - the name of the function;</font> <br>
1218 <font color="#000000"><b>&lt;target_directory&gt;</b>
1219 - the root target
1220 directory where the product is
1221 installed to;</font> <br>
1222 <font color="#000000"><b>&lt;temp_folder&gt;
1223 </b> - the directory for the temporary files.</font> <br>
1224 <br>
1225 <b>Note:</b> The standard Installation Wizard buttons
1226 "Launch
1227 SALOME" and "Release Notes" are implemented with this
1228 feature. Refer to the scripts <b>start_salome.sh</b> and
1229 <b>release_notes.sh</b> for the sample implementation.<br>
1230 <br>
1231 <b>Note:</b> Any button (even standard) can be ignored by
1232 the
1233 Installation Wizard if the attribute <b>&lt;disable&gt;</b>
1234 in the XML
1235 configuration file is set to the "true" value.
1236 </p>
1237 <hr><br>
1238 </font></body>
1239 </html>