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

  1. /**
  2.  * File:
  3.  *  save_config_finish.ycp
  4.  *
  5.  * Module:
  6.  *  Step of base installation finish
  7.  *
  8.  * Authors:
  9.  *  Jiri Srain <jsrain@suse.cz>
  10.  *
  11.  * $Id: save_config_finish.ycp 33835 2006-10-30 12:02:22Z locilka $
  12.  *
  13.  */
  14.  
  15. {
  16.  
  17. textdomain "installation";
  18.  
  19. import "Directory";
  20. import "Mode";
  21. import "Mouse";
  22. import "Timezone";
  23. import "Language";
  24. import "Keyboard";
  25. import "ProductFeatures";
  26. import "AutoInstall";
  27. import "Console";
  28. import "Product";
  29. import "Progress";
  30. import "SignatureCheckDialogs";
  31. import "Stage";
  32.  
  33. any ret = nil;
  34. string func = "";
  35. map param = $[];
  36.  
  37. /* Check arguments */
  38. if(size(WFM::Args()) > 0 && is(WFM::Args(0), string)) {
  39.     func = (string)WFM::Args(0);
  40.     if(size(WFM::Args()) > 1 && is(WFM::Args(1), map))
  41.     param = (map)WFM::Args(1);
  42. }
  43.  
  44. y2milestone ("starting save_config_finish");
  45. y2debug("func=%1", func);
  46. y2debug("param=%1", param);
  47.  
  48. if (func == "Info")
  49. {
  50.     return (any)$[
  51.     "steps" : Mode::autoinst () ? 8 : (Mode::update() ? 6 : 7),
  52.     "when" : [ `installation, `update, `autoinst ],
  53.     ];
  54. }
  55. else if (func == "Write")
  56. {
  57.     // Bugzilla #209119
  58.     // ProductFeatures::Save() moved here from inst_kickoff.ycp
  59.     // (After the SCR is switched)
  60.     if (Stage::initial ()) {
  61.     y2milestone ("Saving ProductFeatures...");
  62.     SCR::Execute (.target.bash, "/bin/mkdir -p '/etc/YaST2'");
  63.     SCR::Execute (.target.bash, "touch '/etc/YaST2/ProductFeatures'");
  64.     ProductFeatures::Save();
  65.     }
  66.  
  67.     // progress step title
  68.     Progress::Title (_("Saving mouse configuration..."));
  69.     Mouse::Save();
  70.     Progress::NextStep ();
  71.     // progress step title
  72.     Progress::Title (_("Saving time zone..."));
  73.     Timezone::Save();
  74.     Progress::NextStep ();
  75.     if (!Mode::update ())
  76.     {
  77.     // progress step title
  78.     Progress::Title (_("Saving language..."));
  79.     Language::Save();
  80.     Progress::NextStep ();
  81.     }
  82.     // save the update language for the second stage (F300572)
  83.     else
  84.     {
  85.     string lang    = Language::language;
  86.     string file     = Directory::vardir + "/language.ycp";
  87.     y2milestone ("saving %1 to %2 for 2nd stage of update", lang, file);
  88.     SCR::Write (.target.ycp, file, $[ "second_stage_language" : lang ]);
  89.     }
  90.     // progress step title
  91.     Progress::Title (_("Saving keyboard configuration..."));
  92.     Keyboard::Save(true);
  93.     Progress::NextStep ();
  94.     // progress step title
  95.     Progress::Title (_("Saving product information..."));
  96.     ProductFeatures::Save();
  97.     if (Mode::autoinst ())
  98.     {
  99.     Progress::NextStep ();
  100.     // progress step title
  101.     Progress::Title (_("Saving automatical installation settings..."));
  102.     AutoInstall::Save();
  103.     }
  104.     Progress::NextStep ();
  105.     // progress step title
  106.     Progress::Title (_("Saving console configuration..."));
  107.     Console::Save();
  108.  
  109.     Progress::NextStep ();
  110.     // progress step title
  111.     Progress::Title (_("Configuring the superuser's environment..."));
  112.     SCR::Write (.sysconfig.suseconfig.CWD_IN_USER_PATH,
  113.                 contains (Product::flags, "usercwd") ? "yes" : "no");
  114.     SCR::Write (.sysconfig.suseconfig, nil);
  115.  
  116.     // FIXME text freeze: progress (update count in Info too)
  117.     SCR::Write (.sysconfig.security.CHECK_SIGNATURES,
  118.         SignatureCheckDialogs::CheckSignatures ());
  119.     SCR::Write (.sysconfig.security, nil);
  120.  
  121. }
  122. else
  123. {
  124.     y2error ("unknown function: %1", func);
  125.     ret = nil;
  126. }
  127.  
  128. y2debug("ret=%1", ret);
  129. y2milestone("save_config_finish finished");
  130. return ret;
  131.  
  132.  
  133. } /* EOF */
  134.