Changeset 1672 in ProjectBuilder for devel/pbmkbm/bin
- Timestamp:
- Nov 10, 2012, 6:10:54 AM (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
devel/pbmkbm/bin/pbmkbm
r1671 r1672 237 237 } 238 238 if (defined $opts{'l'}) { 239 open(pbLOG,"> $opts{'l'}") || die "Unable to log to $opts{'l'}: $!";239 open(pbLOG,"> $opts{'l'}") || confess "ERROR: Unable to log to $opts{'l'}: $!"; 240 240 $pbLOG = \*pbLOG; 241 241 $pbdebug = 0 if ($pbdebug == -1); … … 276 276 277 277 # After that we will need root access 278 die "$appname needs to be run as root" if ($EFFECTIVE_USER_ID != 0);278 confess "ERROR: $appname needs to be run as root" if ($EFFECTIVE_USER_ID != 0); 279 279 280 280 # … … 412 412 pb_mkbm_create_busybox_ve(\%targettree); 413 413 } else { 414 die "Unknown method $opts{'b'} used to create the media content";414 confess "ERROR: Unknown method $opts{'b'} used to create the media content"; 415 415 } 416 416 … … 422 422 } 423 423 # And copy dirs for those 424 foreach my $d (split(/,/,$bdirs)) { 425 if (-d $d) { 426 $targettree{$d} = "recurdir"; 427 } elsif (-l $d) { 428 $targettree{$d} = "link:$d"; 429 } else { 430 pb_log(1,"INFO: Directory $d doesn't exist\n"); 431 } 432 } 433 foreach my $f (split(/,/,$bfiles)) { 434 $targettree{$f} = "file"; 435 } 424 foreach my $d (split(/,/,$bfiles),split(/,/,$bdirs)) { 425 pb_mkbm_store_in_tree($d,\%targettree); 426 } 427 pb_log(2,"INFO: Target Tree is now: ".Dumper(%targettree)."\n"); 436 428 # Once the environment is made, add what is needed for this boot media to it. 437 429 # Keyboard … … 445 437 my %tkernel; 446 438 pb_mkbm_find_kernel(\%rkernel); 439 pb_mkbm_find_modules($rkernel{"release"},\%targettree,\%rkernel); 447 440 # Initrd 448 441 # init … … 462 455 463 456 my $busycmd = pb_distro_get_param($pbos,pb_conf_get("ospathcmd-busybox")); 464 open(BUSY,"$busycmd |") || die "Unable to execute $busycmd";457 open(BUSY,"$busycmd |") || confess "ERROR: Unable to execute $busycmd"; 465 458 my $cmdlist = 0; 466 459 while (<BUSY>) { … … 500 493 pb_log(1,"Analyzing your keyboard's configuration\n"); 501 494 my $keyfile = pb_distro_get_param($pbos,pb_conf_get("ospathcmd-keyfile")); 502 die "Unable to read the keyfile $keyfile" if ((not defined $keyfile) || (! -r $keyfile));495 confess "ERROR: Unable to read the keyfile $keyfile" if ((not defined $keyfile) || (! -r $keyfile)); 503 496 my $keymapdir = pb_distro_get_param($pbos,pb_conf_get("ospathcmd-keymapdir")); 504 die "Unable to read the keymapdir $keymapdir" if ((not defined $keymapdir) || (! -d $keymapdir));497 confess "ERROR: Unable to read the keymapdir $keymapdir" if ((not defined $keymapdir) || (! -d $keymapdir)); 505 498 my $keymapre = pb_distro_get_param($pbos,pb_conf_get("ospathcmd-keymapre")); 506 die "Unable to read the keymapre $keymapre" if (not defined $keymapre);499 confess "ERROR: Unable to read the keymapre $keymapre" if (not defined $keymapre); 507 500 508 501 # if a direct keymap file is given as keyfile, use only the first existing one and return … … 511 504 next if ($f !~ /\.gz$/); 512 505 $foundkmap = 1; 513 if (-l $f) { 514 $tgtree->{$f} = "link:$f"; 515 pb_log(1,"Using Keymap file $f\n"); 516 last; 517 } elsif (-r $f) { 518 $tgtree->{$f} = "file"; 506 if ((-l $f) || (-r $f)) { 507 pb_mkbm_store_in_tree($f,$tgtree); 519 508 pb_log(1,"Using Keymap file $f\n"); 520 509 last; … … 527 516 pb_log(1,"Using Keyfile $keyfile and Keymap directory $keymapdir\n"); 528 517 my $locale=""; 529 open(KEYMAP,"$keyfile") || die "Unable to read $keyfile";518 open(KEYMAP,"$keyfile") || confess "ERROR: Unable to read $keyfile"; 530 519 # Depending on the format of the keymap we look for various strings 531 520 while (<KEYMAP>) { … … 544 533 pb_log(1,"Analyzing your terminfo's configuration\n"); 545 534 my $termdir = pb_distro_get_param($pbos,pb_conf_get("ospathcmd-termdir")); 546 die "Unable to read the keymapdir $termdir" if ((not defined $termdir) || (! -d $termdir));535 confess "ERROR: Unable to read the keymapdir $termdir" if ((not defined $termdir) || (! -d $termdir)); 547 536 $tgtree->{$termdir} = "recurdir"; 548 537 … … 571 560 } else { 572 561 $kernel->{"dir"} = pb_distro_get_param($pbos,pb_conf_get("mkbmkerneldir")); 573 die"ERROR: The mkbmkerneldir content ($kernel->{'dir'}) doesn't refer to a directory\n" if (! -d $kernel->{"dir"});562 confess "ERROR: The mkbmkerneldir content ($kernel->{'dir'}) doesn't refer to a directory\n" if (! -d $kernel->{"dir"}); 574 563 pb_log(1,"INFO: Analyzing directory $kernel->{'dir'} to find your kernel\n"); 575 564 $kernel->{"namere"} = pb_distro_get_param($pbos,pb_conf_get("mkbmkernelnamere")); … … 579 568 # to have a better guess 580 569 my $dh; 581 die"ERROR: Unable to open the mkbmkerneldir content ($kernel->{'dir'})\n" if (! opendir($dh,$kernel->{"dir"}));570 confess "ERROR: Unable to open the mkbmkerneldir content ($kernel->{'dir'})\n" if (! opendir($dh,$kernel->{"dir"})); 582 571 while (readdir $dh) { 583 572 pb_log(3,"Potential kernel file: $_\n"); … … 595 584 if ($@) { 596 585 # File::MimeInfo not found 597 die("ERROR: Install File::MimeInfo to handle kernel file detection\n");586 confess "ERROR: Install File::MimeInfo to handle kernel file detection\n"; 598 587 } 599 588 my $mm = mimetype("$kernel->{'dir'}/$_"); … … 615 604 } 616 605 606 sub pb_mkbm_find_modules { 607 608 my $krel = shift; 609 my $tgtree = shift; 610 my $kernel = shift; 611 612 my $lsmod = pb_distro_get_param($pbos,pb_conf_get("ospathcmd-lsmod")); 613 my $depmod = pb_distro_get_param($pbos,pb_conf_get("ospathcmd-depmod")); 614 open(LSMOD,"$lsmod") || confess "ERROR: Unable to read $lsmod: $!"; 615 while (<LSMOD>) { 616 my ($mod,$void) = split(/\s+/); 617 open(DEPMOD,"$depmod -S $kernel->{'release'} $mod |") || confess "ERROR: Unable to read $depmod -S $kernel->{'release'} $mod: $!"; 618 while (<DEPMOD>) { 619 chomp(); 620 s/^insmod //; 621 s/\s+$//; 622 pb_mkbm_store_in_tree($_,$tgtree); 623 } 624 close(DEPMOD); 625 } 626 close(LSMOD); 627 } 628 617 629 sub pb_mkbm_create_media { 618 630 631 } 632 633 634 sub pb_mkbm_store_in_tree { 635 636 my $f = shift; 637 my $tgtree = shift; 638 639 if (-d $f) { 640 $tgtree->{$f} = "recurdir"; 641 } elsif (-l $f) { 642 $tgtree->{$f} = "link:$f"; 643 pb_log(3,"INFO: Storing link $f in tree\n"); 644 } elsif (-r $f) { 645 $tgtree->{$f} = "file"; 646 pb_log(3,"INFO: Storing file $f in tree\n"); 647 } else { 648 pb_log(3,"INFO: file $f doesn't exist\n"); 649 } 619 650 } 620 651
Note:
See TracChangeset
for help on using the changeset viewer.