Changeset 986 in ProjectBuilder for devel/pb


Ignore:
Timestamp:
Feb 21, 2010, 7:16:55 PM (14 years ago)
Author:
Bruno Cornec
Message:

r3700@localhost: bruno | 2010-02-20 16:35:59 +0100

  • Continue to improve pb.conf documentation
  • veconf renamed as rbsconf
  • ve4pi renamed rbs4pi
  • new pb_get_postinstall generic function for rinse and rpmbootstrap
  • ventp/vmntp is now optional
  • licom_err needed by fedora 12
  • make rpmbootstrap work for i386 distros
Location:
devel/pb
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • devel/pb/bin/pb

    r982 r986  
    11741174        # Specific VE
    11751175        $path = "vepath";
    1176         $conf = "veconf";
     1176        $conf = "rbsconf";
    11771177        $rebuild = "verebuild";
    11781178    } elsif ($cmt eq "Web") {
     
    12521252    my ($sshhost,$sshlogin,$sshdir,$sshport) = pb_conf_get($host,$login,$dir,$port);
    12531253    # Not mandatory...
    1254     my ($vrebuild,$veconf,$testver) = pb_conf_get_if($rebuild,$conf,"testver");
     1254    my ($vrebuild,$rbsconf,$testver) = pb_conf_get_if($rebuild,$conf,"testver");
    12551255    my ($vtmout,$vepath);
    12561256    # ...Except those in virtual context
     
    12611261        ($vtmout) = pb_conf_get($tmout);
    12621262    }
    1263     pb_log(2,"ssh: ".Dumper(($sshhost,$sshlogin,$sshdir,$sshport,$vtmout,$vrebuild,$vepath,$veconf))."\n");
     1263    pb_log(2,"ssh: ".Dumper(($sshhost,$sshlogin,$sshdir,$sshport,$vtmout,$vrebuild,$vepath,$rbsconf))."\n");
    12641264
    12651265    my $mac;
     
    17421742
    17431743        # Get VE context
    1744         my ($ptr,$vetmout,$vepath,$verebuild,$veconf) = pb_conf_get("vetype","vetmout","vepath","verebuild","veconf");
     1744        my ($ptr,$vetmout,$vepath,$verebuild,$rbsconf) = pb_conf_get("vetype","vetmout","vepath","verebuild","rbsconf");
    17451745        my $vetype = $ptr->{$ENV{'PBPROJ'}};
    17461746
    17471747        # We can probably only get those params now we have the distro context
    1748         my ($veb4pi,$vepi,$vesnap,$oscodename,$vepkglist,$osmindep) = pb_conf_get_if("veb4pi","vepi","vesnap","oscodename","vepkglist","osmindep");
     1748        my ($rbsb4pi,$rbspi,$vesnap,$oscodename,$vepkglist,$osmindep) = pb_conf_get_if("rbsb4pi","rbspi","vesnap","oscodename","vepkglist","osmindep");
    17491749
    17501750        if (($vetype eq "chroot") || ($vetype eq "schroot")) {
     
    17601760
    17611761                    my $verpmstyle = $verpmtype->{$ENV{'PBPROJ'}};
     1762                    my $postinstall = pb_get_postinstall($ddir,$dver,$darch,$rbspi,$verpmstyle);
    17621763                    if ($verpmstyle eq "rinse") {
    17631764                        # Need to reshape the mirrors generated with local before-post-install script
    17641765                        my $b4post = "--before-post-install ";
    1765                         my $postparam = pb_distro_get_param($ddir,$dver,$darch,$veb4pi);
     1766                        my $postparam = pb_distro_get_param($ddir,$dver,$darch,$rbsb4pi);
    17661767                        if ($postparam eq "") {
    17671768                            $b4post = "";
    17681769                        } else {
    17691770                            $b4post .= $postparam;
    1770                         }
    1771                         # Do we have a local post-install script
    1772                         my $post = "--post-install ";
    1773                         $postparam = pb_distro_get_param($ddir,$dver,$darch,$vepi);
    1774                         if ($postparam eq "") {
    1775                             $post = "";
    1776                         } else {
    1777                             $post .= $postparam;
    17781771                        }
    17791772
     
    17991792                        $rinseverb = "--verbose" if ($pbdebug gt 0);
    18001793
    1801                         pb_system("sudo /usr/sbin/rinse --directory \"$vepath->{$ENV{'PBPROJ'}}/$ddir/$dver/$darch\" --arch \"$darch\" --distribution \"$ddir-$dver\" --config \"$veconf->{$ENV{'PBPROJ'}}\" $b4post $post $addpkgs $rinseverb","Creating the rinse VE for $ddir-$dver ($darch)", "verbose");
     1794                        pb_system("sudo /usr/sbin/rinse --directory \"$vepath->{$ENV{'PBPROJ'}}/$ddir/$dver/$darch\" --arch \"$darch\" --distribution \"$ddir-$dver\" --config \"$rbsconf->{$ENV{'PBPROJ'}}\" $b4post $postinstall $addpkgs $rinseverb","Creating the rinse VE for $ddir-$dver ($darch)", "verbose");
    18021795                    } elsif ($verpmstyle eq "rpmbootstrap") {
    18031796                        my $rbsverb = "";
    18041797                        $rbsverb = "--verbose" if ($pbdebug gt 0);
    1805                         pb_system("sudo /usr/bin/rpmbootstrap $ddir-$dver-$darch $rbsverb","Creating the rpmbootstrap VE for $ddir-$dver ($darch)", "verbose");
     1798                        pb_system("sudo /usr/bin/rpmbootstrap $postinstall $ddir-$dver-$darch $rbsverb","Creating the rpmbootstrap VE for $ddir-$dver ($darch)", "verbose");
    18061799                    } elsif ($verpmstyle eq "mock") {
    1807                         pb_system("sudo /usr/sbin/mock --init --resultdir=\"/tmp\" --configdir=\"$veconf->{$ENV{'PBPROJ'}}\" -r $v","Creating the mock VE for $ddir-$dver ($darch)");
     1800                        pb_system("sudo /usr/sbin/mock --init --resultdir=\"/tmp\" --configdir=\"$rbsconf->{$ENV{'PBPROJ'}}\" -r $v","Creating the mock VE for $ddir-$dver ($darch)");
    18081801                        # Once setup we need to install some packages, the pb account, ...
    1809                         pb_system("sudo /usr/sbin/mock --install --configdir=\"$veconf->{$ENV{'PBPROJ'}}\" -r $v su","Configuring the mock VE");
     1802                        pb_system("sudo /usr/sbin/mock --install --configdir=\"$rbsconf->{$ENV{'PBPROJ'}}\" -r $v su","Configuring the mock VE");
    18101803                    } else {
    18111804                        die "Unknown verpmtype type $verpmstyle. Report to dev team";
     
    18681861my $v = shift;
    18691862
    1870 my ($ntp) = pb_conf_get($vtype."ntp");
    1871 my $vntp = $ntp->{$ENV{'PBPROJ'}};
     1863my ($ntp) = pb_conf_get_if($vtype."ntp");
     1864my $vntp = $ntp->{$ENV{'PBPROJ'}} if (defined $ntp);
    18721865my $ntpline;
    18731866
     
    29392932}
    29402933
     2934#
     2935# Return the postinstall line if needed
     2936#
     2937
     2938sub pb_get_postinstall {
     2939
     2940my $ddir = shift
     2941my $dver = shift
     2942my $darch = shift
     2943my $rbspi = shift
     2944my $vestyle = shift
     2945my $post = "";
     2946
     2947# Do we have a local post-install script
     2948if ($vestyle eq "rinse") {
     2949    $post = "--post-install ";
     2950} elsif ($vestyle eq "rpmbootstrap") {
     2951    $post = "-s ";
     2952}
     2953
     2954$postparam = pb_distro_get_param($ddir,$dver,$darch,$rbspi);
     2955if ($postparam eq "") {
     2956    $post = "";
     2957} else {
     2958    $post .= $postparam;
     2959}
     2960return($post);
     2961}
     2962
    294129631;
  • devel/pb/lib/ProjectBuilder/Env.pm

    r973 r986  
    465465#ventp default = pool.ntp.org
    466466#velogin $ENV{'PBPROJ'} = pb
    467 #vepath $ENV{'PBPROJ'} = /var/lib/mock
    468 #veconf $ENV{'PBPROJ'} = /etc/mock
     467#vepath $ENV{'PBPROJ'} = /var/cache/rpmbootstrap
     468#rbsconf $ENV{'PBPROJ'} = /etc/mock
    469469#verebuild $ENV{'PBPROJ'} = false
    470470
Note: See TracChangeset for help on using the changeset viewer.