Subversion Repositories camp_sysinfo_client_3

Rev

Rev 129 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 129 Rev 132
Line 52... Line 52...
52
   return '';
52
   return '';
53
}
53
}
54
 
54
 
55
sub userConfirmation {
55
sub userConfirmation {
56
   my $config = shift;
56
   my $config = shift;
57
   my $temp;
-
 
58
   
57
   
59
   $$config{'clientName'} = &getAnswer( "Client Name ", ($$config{'clientName'}) );
-
 
60
   $$config{'serialNumber'} = &getAnswer( "Serial Number ", ($$config{'serialNumber'}) );
-
 
61
   $$config{'UUID'} = &getAnswer( "UUID ", ($$config{'UUID'}) );
-
 
62
   $$config{'hostname'} = &getAnswer( "Host Name ", ($$config{'hostname'}) );
-
 
63
 
-
 
64
   $temp = join( ",", @{ $$config{ 'moduleDirs' } } ) if $config->{ 'moduleDirs' };
-
 
65
   $temp = &getAnswer( "Locations to search for modules (comma separated) ", ($temp) );
-
 
66
   $$config{ 'moduleDirs' } = [ split( ',', $temp ) ];
-
 
67
 
-
 
68
   $temp = join( ",", @{ $$config{ 'scriptDirs' } } ) if $config->{'scriptDirs'};
-
 
69
   $temp = &getAnswer( "Locations to search for scripts (comma separated) ", ($temp) );
-
 
70
   $$config{ 'scriptDirs' } = [ split( ',', $temp ) ];
-
 
71
 
-
 
72
}
58
}
73
 
59
 
74
sub setUpTransport {
60
sub setUpTransport {
75
   my ($priority, $transport, $fields, $type ) = @_;
61
   my ($priority, $transport, $fields, $type ) = @_;
76
   $priority = getAnswer( 'Priority', $priority );
62
   $priority = getAnswer( 'Priority', $priority );
Line 198... Line 184...
198
      print "Can not automatically do this at this time\nManually edit the file (press enter to continue)";
184
      print "Can not automatically do this at this time\nManually edit the file (press enter to continue)";
199
      my $t = <>;
185
      my $t = <>;
200
   }
186
   }
201
}
187
}
202
 
188
 
-
 
189
sub help {
-
 
190
   print "$0 version $VERSION\n";
-
 
191
   print "Reads one or more sysinfo configuration file and\nallows user to edit the values\n\n";
-
 
192
   print "$0 --verbose --file=/full/paht/to/input -output=/full/path/to/sysinfo-client.yaml\n";
-
 
193
   print "   --verbose may be entered more than one time to increase verbosity\n";
-
 
194
   print "   --file may be entered multiple times and may contain a comma delimited group of files\n";
-
 
195
   print "   --output is the file which will be written to\n\n";
-
 
196
   print "All parameters are optional\n";
-
 
197
   print "Will search common locations for sysinfo-client.yaml and, if found, append this to the end\n";
-
 
198
   print "of the input file list.\n";
-
 
199
   print "If no --output is passed, will write to the last --file passed or the file which was found\n";
-
 
200
   print "in the search\n";
-
 
201
   print "All parameters accept the short flag, ie -v, -f, -o and -h\n";
-
 
202
   exit;
-
 
203
}
-
 
204
 
-
 
205
 
203
my @confFileName;
206
my @confFileName;
-
 
207
my $outputFile;
204
my $verbose;
208
my $verbose;
205
my $help;
209
my $help;
206
my $version;
210
my $version;
207
 
211
 
208
# handle any command line parameters that may have been passed in
212
# handle any command line parameters that may have been passed in
209
# verbose is incremental, so for example, -vv would give more info than -v
213
# verbose is incremental, so for example, -vv would give more info than -v
210
# there can be multiple files passed, and an entry can have a comma
214
# there can be multiple files passed, and an entry can have a comma
211
# separated list. The files will be processed in order, with the last
215
# separated list. The files will be processed in order, with the last
212
# one passed in being the one that overrides everything.
216
# one passed in being the one that overrides everything.
213
GetOptions (
217
GetOptions (
214
            "verbose|v+" => \$verbose, # verbosity level, 0-9
218
            "verbose|v+"  => \$verbose, # verbosity level, 0-9
215
            'file|f=s'      => \@confFileName,
219
            'file|f=s'    => \@confFileName, # array of files to read
-
 
220
            'output|o=s'  => \$outputFile, # file to save to
216
            'help|h'      => \$help
221
            'help|h'      => \$help
217
            ) or die "Error parsing command line\n";
222
            ) or die "Error parsing command line\n";
218
                  
223
                  
219
if ( $help ) { &help() ; exit; }
224
if ( $help ) { &help() ; exit; }
220
if ( $version ) { print "$0 version $VERSION\n"; exit; }
-
 
221
 
225
 
222
# if they passed something like -f file1,file2,file3, parse it out
226
# if they passed something like -f file1,file2,file3, parse it out
223
@confFileName = split(/,/,join(',',@confFileName));
227
@confFileName = split(/,/,join(',',@confFileName));
224
 
228
 
225
# look for the standard configuration file in the standard place
229
# look for the standard configuration file in the standard place
226
( $confDir, $sysinfo3 ) = &findConf( $sysinfo3 );
230
( $confDir, $sysinfo3 ) = &findConf( $sysinfo3 );
227
# add it at the tail end of the list
231
# add it at the tail end of the list
228
push @confFileName, $confDir . "/" . $sysinfo3 if ( $confDir );
232
push @confFileName, $confDir . "/" . $sysinfo3 if ( $confDir );
-
 
233
$outputFile = $confFileName[-1] unless $outputFile;
229
 
234
 
230
print "Loading defaults from existing configs\n";
235
print "Loading defaults from existing configs\n";
231
$config = &makeConfig( @confFileName  );
236
$config = &makeConfig( @confFileName  );
232
 
237
 
233
my $selection;
238
my $selection;
234
while ( ( $selection = &displayEditScreen( $config ) ) ne 'd' ) {
239
while ( ( $selection = &displayEditScreen( $config ) ) ne 'd' ) {
235
   &editSelection( $selection );
240
   &editSelection( $selection );
236
}
241
}
237
 
242
 
238
die;
-
 
-
 
243
if ( &yesno( "Ready to write configuration to $outputFile, ok?" ) ) {
239
#&userConfirmation( $config );
244
   &writeConfig( $outputFile, &showConf( $config ) );
-
 
245
}
240
 
246
 
241
#use Data::Dumper;
247
#use Data::Dumper;
242
#print Dumper( $config ); die;
248
#print Dumper( $config ); die;
243
 
249
 
244
&doTransports( $$config{'transports'} );
250
#&doTransports( $$config{'transports'} );
245
 
-
 
246
print "The following is the configuration I'll write out\n" . '-'x40 . "\n";
-
 
247
print &showConf( $config );
-
 
248
print '-'x40 . "\n";
-
 
249
$confName = $confDir . '/' . $confName;
-
 
250
print &writeConfig( $confName, &showConf( $config ) ) if &yesno( "Write this configuration to $confName" );
-
 
251
 
-
 
252
 
251
 
253
print "sysinfo-client has been installed configured. You can return to\nthis screen at any time by running config.pl\n";
-
 
254
 
252
 
255
1;
253
1;