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

  1. /**
  2.  * File:
  3.  *  copy_logs_finish.ycp
  4.  *
  5.  * Module:
  6.  *  Step of base installation finish
  7.  *
  8.  * Authors:
  9.  *  Jiri Srain <jsrain@suse.cz>
  10.  *
  11.  * $Id: copy_logs_finish.ycp 29684 2006-04-04 18:07:34Z jsrain $
  12.  *
  13.  */
  14.  
  15. {
  16.  
  17. textdomain "installation";
  18.  
  19. import "Directory";
  20. include "installation/misc.ycp";
  21.  
  22. any ret = nil;
  23. string func = "";
  24. map param = $[];
  25.  
  26. /* Check arguments */
  27. if(size(WFM::Args()) > 0 && is(WFM::Args(0), string)) {
  28.     func = (string)WFM::Args(0);
  29.     if(size(WFM::Args()) > 1 && is(WFM::Args(1), map))
  30.     param = (map)WFM::Args(1);
  31. }
  32.  
  33. y2milestone ("starting copy_logs_finish");
  34. y2debug("func=%1", func);
  35. y2debug("param=%1", param);
  36.  
  37. if (func == "Info")
  38. {
  39.     return (any)$[
  40.     "steps" : 1,
  41.     // progress step title
  42.     "title" : _("Copying log files to installed system..."),
  43.     "when" : [ `installation, `update, `autoinst ],
  44.     ];
  45. }
  46. else if (func == "Write")
  47. {
  48.     list<string> log_files = (list<string>) WFM::Read(.local.dir, Directory::logdir );
  49.  
  50.     foreach ( string file, log_files,
  51.     {
  52.     if ( file == "y2log" || regexpmatch( file, "y2log-[0-9]+" ) )
  53.     {
  54.         // Prepare y2log, y2log-* for log rotation
  55.  
  56.         integer target_no = 1;
  57.  
  58.        if ( size( file ) > size( "y2log-" ) )
  59.         target_no = 1 + tointeger( substring( file, size( "y2log-" ), 5 ) );
  60.  
  61.        InjectRenamedFile( Directory::logdir, file, sformat( "y2log-%1", target_no ) );
  62.     }
  63.     else if ( file == "zypp.log" )
  64.     {
  65.         // Save zypp.log from the inst-sys
  66.        InjectRenamedFile( Directory::logdir, file, "zypp.log-1");
  67.     }
  68.     else    // not y2log, y2log-*
  69.     {
  70.         InjectFile( Directory::logdir + "/" + file );
  71.     }
  72.     });
  73. }
  74. else
  75. {
  76.     y2error ("unknown function: %1", func);
  77.     ret = nil;
  78. }
  79.  
  80. y2debug("ret=%1", ret);
  81. y2milestone("copy_logs_finish finished");
  82. return ret;
  83.  
  84.  
  85. } /* EOF */
  86.