Changeset 1414 in ProjectBuilder for devel/pbmkbm
- Timestamp:
- Feb 23, 2012, 8:44:04 PM (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
devel/pbmkbm/bin/pbmkbm
r1413 r1414 16 16 use File::Basename; 17 17 use File::Copy; 18 use File::Find; 18 19 use POSIX qw(strftime); 19 20 … … 254 255 pb_env_init_pbrc(); # to get content of HOME/.pbrc 255 256 257 # Global hash containing all the configuration information 258 my %mkbm; 259 256 260 # 257 261 # Check target dir 258 262 # Create if not existent and use default if none given 259 263 # 260 my $targetdir= shift @ARGV;264 $mkbm{'targetdir'} = shift @ARGV; 261 265 262 266 # … … 272 276 # Where is our build target directory 273 277 # 274 if (not defined $ targetdir) {275 $ targetdir= "/var/cache/pbmkbm";278 if (not defined $mkbm{'targetdir'}) { 279 $mkbm{'targetdir'} = "/var/cache/pbmkbm"; 276 280 my ($vestdpath) = pb_conf_get("mkbmpath"); 277 $ targetdir= "$vestdpath->{'default'}/$pbos->{'name'}/$pbos->{'version'}/$pbos->{'arch'}" if (defined $vestdpath->{'default'});278 pb_log(1,"No target-dir specified, using $ targetdir\n");281 $mkbm{'targetdir'} = "$vestdpath->{'default'}/$pbos->{'name'}/$pbos->{'version'}/$pbos->{'arch'}" if (defined $vestdpath->{'default'}); 282 pb_log(1,"No target-dir specified, using $mkbm{'targetdir'}\n"); 279 283 } 280 284 281 285 # Point to the right subdir and create it if needed 282 pb_mkdir_p($ targetdir) if (! -d $targetdir);286 pb_mkdir_p($mkbm{'targetdir'}) if (! -d $mkbm{'targetdir'}); 283 287 284 288 # Log information on our system … … 426 430 # Once the environment is made, add what is needed for this boot media to it. 427 431 # Keyboard 432 pb_mkbm_find_keyboard(\%targettree); 428 433 # Terminfo 429 434 # List of commands … … 476 481 } 477 482 } 478 pb_log( 2,"Target Tree is now: ".Dumper($tgtree)."\n");483 pb_log(1,"Target Tree is now: ".Dumper($tgtree)."\n"); 479 484 close(BUSY); 480 485 pb_log(1,"End of busybox analysis\n"); … … 483 488 sub pb_mkbm_find_keyboard { 484 489 490 my $tgtree = shift; 491 485 492 pb_log(1,"Analyzing your keyboard's configuration\n"); 486 493 my $keyfile = pb_distro_get_param($pbos,pb_conf_get("ospathcmd-keyfile")); 487 die "Unable to read the keyfile $keyfile" if ( ! -r $keyfile);494 die "Unable to read the keyfile $keyfile" if ((not defined $keyfile) || (! -r $keyfile)); 488 495 my $keymapdir = pb_distro_get_param($pbos,pb_conf_get("ospathcmd-keymapdir")); 489 die "Unable to read the keymapdir $keymapdir" if (! -d $keymapdir); 496 die "Unable to read the keymapdir $keymapdir" if (not defined $keymapdir) || (! -d $keymapdir)); 497 my $keymapre = pb_distro_get_param($pbos,pb_conf_get("ospathcmd-keymapre")); 498 die "Unable to read the keymapre $keymapre" if (not defined $keymapre); 499 500 # if a direct keymap file is given as keyfile, use only the first existing one it and return 501 my $foundkmap = 0; 502 foreach my $f (split(/,/,$keyfile)) { 503 next if ($f !~ /\.gz$/); 504 $foundkmap = 1; 505 if (-l $f) { 506 $tgtree->{$f} = "link:$f"; 507 pb_log(1,"Using Keymap file $f\n"); 508 last; 509 } elsif (-r $f) { 510 $tgtree->{$f} = "file"; 511 pb_log(1,"Using Keymap file $f\n"); 512 last; 513 } else { 514 next; 515 } 516 } 517 return() if ($foundkmap eq 1); 518 519 pb_log(1,"Using Keyfile $keyfile and Keymap directory $keymapdir\n"); 520 my $locale=""; 521 open(KEYMAP,"$keyfile") || die "Unable to read $keyfile"; 522 # Depending on the format of the keymap we look for various strings 523 while (<KEYMAP>) { 524 $locale =~ $keymapre; 525 } 526 close(KEYMAP); 527 pb_log(1,"Found locale $locale\n"); 490 528 491 529 pb_log(1,"End of keyboard analysis\n");
Note:
See TracChangeset
for help on using the changeset viewer.