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