Changeset 2488 in ProjectBuilder for devel/pb/bin/pb


Ignore:
Timestamp:
Mar 30, 2020, 8:21:44 PM (4 years ago)
Author:
Bruno Cornec
Message:

Improve debug messages

  • pb_distro_get_param now an internal function printing name of hash members
  • use pb_distro_guess instead of pb_distro_get
  • pb_distro_get and pb_distro_get_if introduced to replace call to pb_conf_get(_if)* + and old pb_distro_get_param
  • add pb_distro_get_in_conf_if for another use case of old pb_distro_get_param
  • fix all calls to these functions
File:
1 edited

Legend:

Unmodified
Added
Removed
  • devel/pb/bin/pb

    r2485 r2488  
    13961396                        my ($patchcmd,$patchopt);
    13971397                        if ($pbos->{'type'} eq "deb") {
    1398                             ($patchcmd,$patchopt) = pb_distro_get_param($pbos,pb_conf_get_if("ospatchcmd","ospatchopt"));
     1398                            ($patchcmd,$patchopt) = pb_distro_get_if($pbos,("ospatchcmd","ospatchopt"));
    13991399                            open(SCRIPT,"> $dest/pbconf/$v/pbpatch/pbapplypatch") || confess "Unable to create $dest/pbconf/$v/pbpatch/pbapplypatch";
    14001400                            print SCRIPT "#!/bin/bash\n";
     
    20942094
    20952095    # Find the appropriate check cmd/opts
    2096     my ($chkcmd,$chkopt) = pb_distro_get_param($pbos,pb_conf_get_if("oschkcmd","oschkopt"));
     2096    my ($chkcmd,$chkopt) = pb_distro_get_if($pbos,("oschkcmd","oschkopt"));
    20972097
    20982098    my $ret = "";
     
    23292329    }
    23302330    if ($cmt =~ /^(V|R)M/) {
    2331         $vtmout = pb_distro_get_param($pbos,pb_conf_get_if($tmout));
     2331        $vtmout = pb_distro_get_if($pbos,$tmout);
    23322332    }
    23332333    my $remhost = $sshhost->{$ENV{'PBPROJ'}};
     
    23352335    if ($cmt =~ /^V[EM]|RM/) {
    23362336        # In that case our real host is in the xxhost with the OS as key, not project as above
    2337         $remhost = pb_distro_get_param($pbos,$sshhost);
     2337        $remhost = pb_distro_get($pbos,$host);
    23382338    }
    23392339    pb_log(2,"ssh: ".Dumper(($remhost,$sshlogin,$remdir,$sshport,$vepath,$rbsconf))."\n");
     
    23932393        open(PBS,"> $pbscript{$v}") || confess "Unable to create $pbscript{$v}";
    23942394        if ($pbos->{'type'} eq "rpm") {
    2395             my $pbsha = pb_distro_get_param($pbos,pb_conf_get("ossha"));
     2395            my $pbsha = pb_distro_get($pbos,"ossha");
    23962396            my ($gpgcheck) = pb_conf_get_if("pbgpgcheck");
    23972397            my $pbgpgcheck;
     
    28582858    if ($cmt =~ /^VE/) {
    28592859        if ($vetype ne "docker") {
    2860             my $sudomode = pb_distro_get_param($pbos,pb_conf_get("ossudoersmode"));
     2860            my $sudomode = pb_distro_get($pbos,"ossudoersmode");
    28612861            my $res = pb_system("$shcmdroot sed -i '/requiretty/d' /etc/sudoers","Removing potential requiretty in sudoers","quiet");
    28622862            pb_system("$shcmdroot sed '/requiretty/d' /etc/sudoers > /tmp/sudoers.new ; mv /tmp/sudoers.new $tpdir/tmp/sudoers.new ; $shcmdroot mv /tmp/sudoers.new /etc/sudoers ; $shcmdroot chown root:root /etc/sudoers ; $shcmdroot chmod $sudomode /etc/sudoers","Removing again potential requiretty in sudoers as sed -i failed") if (($res ne 0) && (-f "$tpdir/etc/sudoers"));
     
    30533053        }
    30543054        my $hoption = "-p";
    3055         my $hpath = pb_distro_get_param($pbos,pb_conf_get("ospathcmd-halt"));
     3055        my $hpath = pb_distro_get($pbos,"ospathcmd-halt");
    30563056        # Solaris doesn't support -p of halt
    30573057        if ($pbos->{'type'} eq "pkg") {
     
    32113211# Launch the VMs/VEs
    32123212if ($vtype eq "vm") {
    3213     my ($ptr,$ptr2,$vmpath,$vmport,$vms) = pb_conf_get("vmtype","vmcmd","vmpath","vmport","vmsize");
    3214     my ($vmopt,$vmmm,$vmtmout,$vmsnap,$vmbuildtm,$vmmonport) = pb_conf_get_if("vmopt","vmmem","vmtmout","vmsnap","vmbuildtm","vmmonport");
    3215     my $vmsize = pb_distro_get_param($pbos,$vms);
     3213    my ($ptr,$ptr2,$vmpath,$vmport) = pb_conf_get("vmtype","vmcmd","vmpath","vmport");
     3214    my ($vmopt,$vmtmout,$vmsnap,$vmbuildtm,$vmmonport) = pb_conf_get_if("vmopt","vmtmout","vmsnap","vmbuildtm","vmmonport");
     3215    my $vmsize = pb_distro_get($pbos,"vmsize");
    32163216
    32173217    my $vmtype = $ptr->{$ENV{'PBPROJ'}};
     
    32363236
    32373237    # How much memory to allocate for VMs
    3238     if (defined $vmmm) {
    3239         my $vmmem = pb_distro_get_param($pbos,$vmmm);
    3240         if (defined $vmmem) {
    3241             $ENV{'PBVMOPT'} .= " -m $vmmem";
    3242         }
     3238    my $vmmem = pb_distro_get_if($pbos,"vmmem");
     3239    if (defined $vmmem) {
     3240        $ENV{'PBVMOPT'} .= " -m $vmmem";
    32433241    }
    32443242
     
    34093407    pb_log(2,"ntp server is $vntp\n");
    34103408    # ntp command depends on pbos
    3411     my $vntpcmd = pb_distro_get_param($pbos,pb_conf_get("oscmdntp"));
     3409    my $vntpcmd = pb_distro_get($pbos,"oscmdntp");
    34123410    $ntpline = "sudo $vntpcmd $vntp";
    34133411}
     
    40774075    # Try to restrict security to what is really needed
    40784076    if ($vtype =~ /^vm/) {
    4079         my $hpath = pb_distro_get_param($pbos,pb_conf_get("ospathcmd-halt"));
     4077        my $hpath = pb_distro_get($pbos,"ospathcmd-halt");
    40804078        my @sudocmds = pb_get_sudocmds($pbos,$ntpline,"sudo $hpath","sudo /bin/date");
    40814079        print SCRIPT << "EOF";
     
    41014099EOF
    41024100    }
    4103     my $sudomode = pb_distro_get_param($pbos,pb_conf_get("ossudoersmode"));
     4101    my $sudomode = pb_distro_get($pbos,"ossudoersmode");
    41044102    print SCRIPT << 'EOF';
    41054103close(PBOUT);
     
    41324130
    41334131EOF
    4134     my $itype = pb_distro_get_param($pbos,pb_conf_get("pbinstalltype"));
     4132    my $itype = pb_distro_get($pbos,"pbinstalltype");
    41354133    # Install from sandbox mean a file base install
    41364134    $itype = "file" if (defined $sbx);
    41374135    $itype = $installtype if (defined $installtype);
    41384136    if ($itype =~ /^file/) {
    4139         my ($addrepo) = pb_conf_read("$ENV{'PBDESTDIR'}/pbrc.yml","addbuildrepo");
    4140         my $pbrepo = pb_distro_get_param($pbos,$addrepo);
     4137            #my ($addrepo) = pb_conf_read("$ENV{'PBDESTDIR'}/pbrc.yml","addbuildrepo");
     4138            #my $pbrepo = pb_distro_get_param($pbos,$addrepo);
     4139        my $pbrepo = pb_distro_get_in_conf_if($pbos,"$ENV{'PBDESTDIR'}/pbrc.yml","addbuildrepo");
    41414140        print SCRIPT << 'EOF';
    41424141
    41434142# First install all required packages
    4144 my ($ospkgdep) = pb_conf_get_if("ospkgdep");
    4145 my $pkgdep = pb_distro_get_param($pbos,$ospkgdep);
     4143my $pkgdep = pb_distro_get_if($pbos,"ospkgdep");
    41464144my $forcerepo;
    41474145EOF
     
    41774175        print SCRIPT << 'EOF';
    41784176# Then install manually the missing perl modules
    4179 my ($osperldep,$osperlver) = pb_conf_get_if("osperldep","osperlver");
     4177my ($osperlver) = pb_conf_get("osperlver");
    41804178   
    4181 my $perldep = pb_distro_get_param($pbos,$osperldep);
     4179my $osperldep = pb_distro_get_if($pbos,"osperldep");
    41824180my $bashopt = "";
    41834181$bashopt = "-x" if ($pbdebug ge 1);
    41844182my $verbopt = "mayfail";
    41854183$verbopt = "mayfailverbose" if ($pbdebug ge 1);
    4186 foreach my $m (split(/,/,$perldep)) {
     4184foreach my $m (split(/,/,$osperldep)) {
    41874185    # Skip empty deps
    41884186    next if ($m =~ /^\s*$/);
     
    42024200        # pkg based install. We need to point to the project-builder.org repository
    42034201        print SCRIPT << 'EOF';
    4204 my $pkgforpb = pb_distro_get_param($pbos,pb_conf_get_if("ospkg"));
     4202my $pkgforpb = pb_distro_get_if($pbos,"ospkg");
    42054203my $forcerepo = pb_distro_setuposrepo($pbos);
    42064204pb_distro_installpkgs($pbos,pb_distro_only_deps_needed($pbos,join(' ',split(/,/,$pkgforpb))));
Note: See TracChangeset for help on using the changeset viewer.