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

  1. /**
  2.  * File:
  3.  *  save_hw_status_finish.ycp
  4.  *
  5.  * Module:
  6.  *  Step of base installation finish
  7.  *
  8.  * Authors:
  9.  *  Jiri Srain <jsrain@suse.cz>
  10.  *
  11.  * $Id: save_hw_status_finish.ycp 33076 2006-09-25 08:59:36Z jsrain $
  12.  *
  13.  */
  14.  
  15. {
  16.  
  17. textdomain "installation";
  18.  
  19. import "Mode";
  20. import "HwStatus";
  21. import "HWConfig";
  22.  
  23. any ret = nil;
  24. string func = "";
  25. map param = $[];
  26.  
  27. /* Check arguments */
  28. if(size(WFM::Args()) > 0 && is(WFM::Args(0), string)) {
  29.     func = (string)WFM::Args(0);
  30.     if(size(WFM::Args()) > 1 && is(WFM::Args(1), map))
  31.     param = (map)WFM::Args(1);
  32. }
  33.  
  34. y2milestone ("starting save_hw_status_finish");
  35. y2debug("func=%1", func);
  36. y2debug("param=%1", param);
  37.  
  38. if (func == "Info")
  39. {
  40.     return (any)$[
  41.     "steps" : 1,
  42.     // progress step title
  43.     "title" : _("Saving hardware configuration..."),
  44.     "when" : [ `installation, `update, `autoinst ],
  45.     ];
  46. }
  47. else if (func == "Write")
  48. {
  49.     // FIXME this agent needn't be installed
  50.     list<string> parports = (list<string>)SCR::Read (.proc.parport.devices);
  51.     if (parports != nil && size (parports) > 0)
  52.     {
  53.     HWConfig::SetValue ("static-printer", "STARTMODE", "auto");
  54.     HWConfig::SetValue ("static-printer", "MODULE", "lp");
  55.     }
  56.     // PS/2 mouse on PPC
  57.     map out = (map)SCR::Execute (.target.bash_output,
  58. "#!/bin/sh
  59. set -e
  60. if test -f /etc/sysconfig/hardware/hwcfg-static-psmouse
  61. then
  62.  exit 0
  63. fi
  64. if test -d /proc/device-tree
  65. then
  66. cd /proc/device-tree
  67. if find * -name name -print0 | xargs -0 grep -qw 8042
  68. then
  69. cat > /etc/sysconfig/hardware/hwcfg-static-psmouse <<EOF
  70. MODULE='psmouse'
  71. EOF
  72. fi
  73. fi
  74. ");
  75.     if ((integer) out["exit"]:0 != 0) {
  76.     y2error ("Error saving PS/2 mouse: %1", out);
  77.     } else {
  78.     y2milestone ("PS/2 mouse saving process returnes: %1", out);
  79.     }
  80.  
  81.     y2milestone ("PS/2 mouse saving process returnes: %1", out);
  82.     if (Mode::update ())
  83.     {
  84.     // ensure "no" status for all pci and isapnp devices
  85.     HwStatus::Update();
  86.     }
  87.  
  88.     // write "yes" status for known devices (mouse, keyboard, storage, etc.)
  89.     HwStatus::Save();
  90. }
  91. else
  92. {
  93.     y2error ("unknown function: %1", func);
  94.     ret = nil;
  95. }
  96.  
  97. y2debug("ret=%1", ret);
  98. y2milestone("save_hw_status_finish finished");
  99. return ret;
  100.  
  101.  
  102. } /* EOF */
  103.