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 / network_finish.ycp < prev    next >
Text File  |  2006-11-29  |  2KB  |  77 lines

  1. /**
  2.  * File:
  3.  *  network_finish.ycp
  4.  *
  5.  * Module:
  6.  *  Step of base installation finish
  7.  *
  8.  * Authors:
  9.  *  Jiri Srain <jsrain@suse.cz>
  10.  *
  11.  * $Id: network_finish.ycp 33360 2006-10-12 14:45:22Z locilka $
  12.  *
  13.  */
  14.  
  15. {
  16.  
  17. textdomain "installation";
  18.  
  19. import "Installation";
  20. import "ModulesConf";
  21. import "Arch";
  22. import "Linuxrc";
  23. import "String";
  24.  
  25. any ret = nil;
  26. string func = "";
  27. map param = $[];
  28.  
  29. /* Check arguments */
  30. if(size(WFM::Args()) > 0 && is(WFM::Args(0), string)) {
  31.     func = (string)WFM::Args(0);
  32.     if(size(WFM::Args()) > 1 && is(WFM::Args(1), map))
  33.     param = (map)WFM::Args(1);
  34. }
  35.  
  36. y2milestone ("starting network_finish");
  37. y2debug("func=%1", func);
  38. y2debug("param=%1", param);
  39.  
  40. if (func == "Info")
  41. {
  42.     return (any)$[
  43.     "steps" : 1,
  44.     // progress step title
  45.     "title" : _("Saving network configuration..."),
  46.     "when" : [ `installation, `update, `autoinst ]
  47.     ];
  48. }
  49. else if (func == "Write")
  50. {
  51.     if (Linuxrc::display_ip () || Linuxrc::vnc () || Linuxrc::usessh ())
  52.     {
  53.     y2milestone("Creating network interface");
  54.     WFM::Execute (.local.bash,
  55.         "/sbin/create_interface '" + String::Quote (Installation::destdir) + "'");
  56.     ModulesConf::RunDepmod (false);
  57.     }
  58.     // --------------------------------------------------------------
  59.     // Copy DHCP client cache so that we can request the same IP (#43974).
  60.     WFM::Execute (.local.bash, sformat (
  61.     "mkdir -p '%2%1'; /bin/cp -p %1/dhcpcd-*.cache '%2%1'",
  62.     "/var/lib/dhcpcd",
  63.     String::Quote (Installation::destdir)));
  64. }
  65. else
  66. {
  67.     y2error ("unknown function: %1", func);
  68.     ret = nil;
  69. }
  70.  
  71. y2debug("ret=%1", ret);
  72. y2milestone("network_finish finished");
  73. return ret;
  74.  
  75.  
  76. } /* EOF */
  77.