home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / boot / i386 / root / usr / share / YaST2 / clients / inst_disk.ycp < prev    next >
Text File  |  2006-11-29  |  7KB  |  228 lines

  1. /**
  2.  * File:
  3.  *   inst_disk.ycp
  4.  *
  5.  * Module:
  6.  *   Configuration of disk
  7.  *   - schedular for partitioning lvm and raid modules
  8.  *
  9.  * Summary:
  10.  *   Main file
  11.  *
  12.  * Authors:
  13.  *   Michael Hager <mike@suse.de>
  14.  *
  15.  * $Id: inst_disk.ycp 30805 2006-05-10 10:01:45Z fehr $
  16.  *
  17.  * Main file for disk configuration. Uses all other files.
  18.  *
  19.  */
  20.  
  21. {
  22.  
  23.  
  24. /***
  25.  * <h3>Configuration of the disk</h3>
  26.  */
  27.    y2milestone( "start disk");
  28.  
  29. import "Arch";
  30. import "Wizard";
  31. import "Mode";
  32. import "Storage";
  33. import "StorageClients";
  34. import "Sequencer";
  35.  
  36. textdomain "storage";
  37.  
  38. include "partitioning/signatures.ycp";
  39. include "partitioning/custom_part_helptexts.ycp";
  40. include "partitioning/custom_part_dialogs.ycp";
  41. include "partitioning/custom_part_lib.ycp";
  42. include "partitioning/raid_lib.ycp";
  43. include "partitioning/raid_ui.ycp";
  44. include "partitioning/loop.ycp";
  45. include "partitioning/lvm_pv_lib.ycp";
  46. include "partitioning/partition_defines.ycp";
  47. include "partitioning/custom_part_check_generated.ycp";
  48.  
  49.     y2milestone( "PartMode %1 ProposalActive %2 ", Storage::GetPartMode(),
  50.                  Storage::GetPartProposalActive() );
  51.  
  52.  
  53.     if( !Storage::GetCustomDisplay() && Storage::GetPartMode() != "CUSTOM" &&
  54.          Storage::GetPartMode() != "PROP_MODIFY" )
  55.       return Storage::GetExitKey();
  56.  
  57.     if( !Storage::CheckBackupState("disk"))
  58.     Storage::CreateTargetBackup("disk");
  59.  
  60.     /******************************************************************/
  61.     // All raid-modules communicate via the following global variables
  62.     // and as usual via user_settings:
  63.     /******************************************************************/
  64.  
  65.     boolean installation = Stage::initial ();
  66.  
  67.     y2milestone( " running in instsys %1", installation );
  68.  
  69.  
  70. define symbol InitSettings( boolean in ) 
  71.     ``{
  72.     return `next;
  73.     }
  74.  
  75.  
  76.     map aliases = $[
  77.     "RaidTypeWizard"     : ``(ChooseRaidType(`wizard  )),
  78.     "RaidDeviceWizard"   : ``(RaidDevices(`wizard  )),
  79.     "RaidDeviceSettings" : ``(RaidDevices(`settings)),
  80.         "LoopCreateWizard"   : ``(LoopSetup(false)),
  81.         "LoopEditWizard"     : ``(LoopSetup(true)),
  82.     "RaidExpertWizard"   : ``(RaidExpertWizard()),
  83.     "RaidMpAutodetect"   : ``(RaidMultipathAuto()),
  84.     "ReallyInstPrepdisk" : ``(ReallyInstPrepdisk()),
  85.     "LvmPv"             : ``(WFM::CallFunction("inst_lvm_pv", [true, true])),
  86.     "LvmLv"             : ``(WFM::CallFunction("inst_lvm_lv", [true, true])),
  87.     "S390Zfcp"         : ``(WFM::call("xfcp")),
  88.     "S390Dasd"         : ``(WFM::call("dasd")),
  89.     "Evms"               : ``(WFM::CallFunction("inst_evms", [true, true])),
  90.     "Custom"             : ``(WFM::CallFunction("inst_custom_part", [true, true])),
  91.     "PrepDiskEnd"        : ``(WFM::CallFunction("inst_prepdisk", [true, true])),
  92.     "PrepDiskApply"      : ``(WFM::CallFunction("inst_prepdisk", [true, true])),
  93.     "ReInitSettings"     : ``(InitSettings(installation)),
  94.     "abort"              : ``(AbortDialog())
  95.     ];
  96.  
  97.  
  98.     map sequence = $[
  99.     "ws_start"           : "Custom",
  100.  
  101.         "RaidTypeWizard"     : $[ `abort   : "abort",
  102.                   `cancel  : `cancel,
  103.                   `mp_auto : "RaidMpAutodetect",
  104.                   `next    : "RaidDeviceWizard" ],
  105.  
  106.         "RaidDeviceWizard"   : $[ `abort  : "abort",
  107.                   `cancel : `cancel,
  108.                                   `next   : "RaidExpertWizard" ],
  109.  
  110.         "RaidMpAutodetect"   : $[ `abort  : "abort",
  111.                   `cancel : `cancel,
  112.                                   `next   : "Custom" ],
  113.  
  114.     "RaidExpertWizard"   : $[ `abort  : "abort",
  115.                   `cancel : `cancel,
  116.                                   `next   : "Custom" ],
  117.  
  118.     "RaidDeviceSettings" : $[ `abort  : "abort",
  119.                   `cancel : `cancel,
  120.                   `next   : "Custom" ],
  121.  
  122.     "LoopCreateWizard"   : $[ `abort  : "abort",
  123.                   `cancel : `cancel,
  124.                                   `next   : "Custom" ],
  125.  
  126.     "LoopEditWizard"     : $[ `abort  : "abort",
  127.                   `cancel : `cancel,
  128.                                   `next   : "Custom"],
  129.  
  130.     "ReallyInstPrepdisk" : $[ `abort  : `abort,
  131.                   `cancel : `cancel,
  132.                                   `finish : "PrepDiskEnd",
  133.                   `apply  : "PrepDiskApply" ],
  134.  
  135.         "Custom"             : $[ `abort         : "abort",
  136.                   `cancel        : `cancel,
  137.                                   `raid_wizard   : "RaidTypeWizard",
  138.                   `raid_settings : "RaidDeviceSettings",
  139.                                   `loop_create   : "LoopCreateWizard",
  140.                                   `loop_edit     : "LoopEditWizard",
  141.                   `backtoi       : `back,
  142.                   `sysnext       : "ReallyInstPrepdisk",
  143.                   `lvm           : "LvmPv",
  144.                   `lvmlv         : "LvmLv",
  145.                   `zfcp          : "S390Zfcp",
  146.                   `dasd          : "S390Dasd",
  147.                   `evms          : "Evms",
  148.                                   `again         : "Custom",
  149.                                   `apply         : "PrepDiskApply",
  150.                                   `instnext      : `next ],
  151.  
  152.     "LvmPv"            :  $[ `abort  : "abort",
  153.                   `cancel : `cancel,
  154.                   `next   : "LvmLv" ],
  155.  
  156.     "LvmLv"            :  $[ `abort  : "abort",
  157.                   `cancel : `cancel,
  158.                   `next   :  "Custom" ],
  159.  
  160.     "Evms"            :  $[ `abort  : "abort",
  161.                   `cancel : `cancel,
  162.                   `next   :  "Custom" ],
  163.  
  164.     "S390Zfcp"        :  $[ `abort  : "abort",
  165.                   `cancel : `cancel,
  166.                   `next   : "Custom" ],
  167.  
  168.     "S390Dasd"        :  $[ `abort  : "abort",
  169.                   `cancel : `cancel,
  170.                   `next   : "Custom" ],
  171.  
  172.     "PrepDiskApply"     :  $[ `abort  : "ReInitSettings",
  173.                   `cancel : `cancel,
  174.                                   `back   : "ReInitSettings",
  175.                                   `next   : "ReInitSettings" ],
  176.  
  177.     "PrepDiskEnd"       :  $[ `abort  : "ReInitSettings",
  178.                   `cancel : `cancel,
  179.                                   `back   : "ReInitSettings",
  180.                                   `next   : `next ],
  181.  
  182.     "ReInitSettings"    :  $[ `abort  : "abort",
  183.                   `cancea : `cancel,
  184.                   `next   : "Custom" ],
  185.  
  186.         "abort"             :  $[ `yes    : `abort,
  187.                   `cancel : `cancel]
  188.     ];
  189.  
  190.     boolean handle_dialog = Mode::normal() || Mode::repair();
  191.  
  192.  
  193.     if ( handle_dialog )  {
  194.         Wizard::CreateDialog();
  195.         Wizard::SetDesktopIcon("disk");
  196.     StorageClients::EnablePopup();
  197.     }
  198.  
  199.     /*************************************************/
  200.     /*   Let s do the work ...                       */
  201.     /*************************************************/
  202.     symbol ret = Sequencer::Run(aliases, sequence);
  203.     /*************************************************/
  204.     y2milestone( "Sequencer ret=%1 handle_dialog=%2", ret, handle_dialog );
  205.  
  206.  
  207.     if( handle_dialog )
  208.     {
  209.     UI::CloseDialog();
  210.     }
  211.     else
  212.     {
  213.     if( ret == `back || ret == `abort )
  214.         {
  215.         Storage::RestoreTargetBackup("disk");
  216.         }
  217.     else if( ret == `next )
  218.         {
  219.         Storage::DisposeTargetBackup("disk");
  220.         Storage::SetPartProposalActive(false);
  221.         }
  222.     }
  223.  
  224.     y2milestone("Disk module finished");
  225.     Storage::SaveExitKey( ret );
  226.     return( ret );
  227. }
  228.