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 / yast_inf_finish.ycp < prev   
Text File  |  2006-11-29  |  3KB  |  116 lines

  1. /**
  2.  * File:
  3.  *  yast_inf_finish.ycp
  4.  *
  5.  * Module:
  6.  *  Step of base installation finish
  7.  *
  8.  * Authors:
  9.  *  Jiri Srain <jsrain@suse.cz>
  10.  *
  11.  * $Id: yast_inf_finish.ycp 27936 2006-02-13 20:01:14Z olh $
  12.  *
  13.  */
  14.  
  15. {
  16.  
  17. textdomain "installation";
  18.  
  19. import "Mode";
  20. import "Linuxrc";
  21. import "AutoinstConfig";
  22. import "Bootloader";
  23. import "Language";
  24. import "Keyboard";
  25. import "Directory";
  26.  
  27. include "installation/misc.ycp";
  28.  
  29. any ret = nil;
  30. string func = "";
  31. map param = $[];
  32.  
  33. /* Check arguments */
  34. if(size(WFM::Args()) > 0 && is(WFM::Args(0), string)) {
  35.     func = (string)WFM::Args(0);
  36.     if(size(WFM::Args()) > 1 && is(WFM::Args(1), map))
  37.     param = (map)WFM::Args(1);
  38. }
  39.  
  40. y2milestone ("starting yast_inf_finish");
  41. y2debug("func=%1", func);
  42. y2debug("param=%1", param);
  43.  
  44. if (func == "Info")
  45. {
  46.     return (any)$[
  47.     "steps" : 1,
  48.     // progress step title
  49.     "title" : _("Writing YaST Configuration..."),
  50.     "when" : [ `installation, `update, `autoinst ],
  51.     ];
  52. }
  53. else if (func == "Write")
  54. {
  55.     // write boot information for linuxrc
  56.     // collect data for linuxrc, will be written to /etc/yast.inf
  57.     map<string,string> linuxrc = $[];
  58.  
  59.     // always do hard reboot to ensure that all stuff is initializes
  60.     // correctly. but no reboot message form linuxrc.
  61.     linuxrc["Root"] = "reboot";
  62.     linuxrc["RebootMsg"] = "0";
  63.     // Override linuxrc settings in autoinst mode
  64.     if ( Mode::autoinst () )
  65.     {
  66.         if (AutoinstConfig::ForceBoot )
  67.         {
  68.             linuxrc["Root"] = Bootloader::getRootDevice ();
  69.         }
  70.         else if (AutoinstConfig::RebootMsg)
  71.         {
  72.             linuxrc["RebootMsg"] = "1";
  73.         }
  74.         else if (AutoinstConfig::Halt)
  75.         {
  76.             linuxrc["Root"] = "halt";
  77.         }
  78.     }
  79.  
  80.     linuxrc["Language"] = Language::language;
  81.     linuxrc["Keytable"] = Keyboard::keymap;
  82.  
  83.     Linuxrc::WriteYaSTInf (linuxrc);
  84.  
  85.     // --------------------------------------------------------------
  86.     // Copy blinux configuration
  87.  
  88.     if (Linuxrc::braille ())
  89.     {
  90.         InjectFile ("/etc/suse-blinux.conf");
  91.     }
  92.  
  93.     // --------------------------------------------------------------
  94.     // Tell new boot scripts to launch yast2, once the
  95.     // new system has done its virgin boot. The Write call
  96.     // creates any missing directory :-).
  97.  
  98.     string runme_at_boot = Directory::vardir + "/runme_at_boot";
  99.     if (!SCR::Write (.target.string, runme_at_boot, ""))
  100.     {
  101.         y2error ("Couldn't create target %1", runme_at_boot );
  102.     }
  103. }
  104. else
  105. {
  106.     y2error ("unknown function: %1", func);
  107.     ret = nil;
  108. }
  109.  
  110. y2debug("ret=%1", ret);
  111. y2milestone("yast_inf_finish finished");
  112. return ret;
  113.  
  114.  
  115. } /* EOF */
  116.