Changeset 670 in ProjectBuilder for devel/pb/bin
- Timestamp:
- Feb 9, 2009, 8:12:00 PM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
devel/pb/bin/pb
r669 r670 1354 1354 $vmexist = 0; 1355 1355 } 1356 } else { 1357 #VE 1358 $vmexist = 0; 1359 $vmpid = 0; 1356 1360 } 1357 1361 … … 1469 1473 # Get VE context 1470 1474 my ($ptr,$vetmout,$vepath,$verebuild,$veconf,$vepostinstall) = pb_conf_get("vetype","vetmout","vepath","verebuild","veconf"); 1471 my ($veb4pi ) = pb_conf_get_if("veb4pi");1475 my ($veb4pi,$vepkglist) = pb_conf_get_if("veb4pi","vepkglist"); 1472 1476 my $vetype = $ptr->{$ENV{'PBPROJ'}}; 1473 1477 … … 1483 1487 } 1484 1488 1489 my ($verpmtype) = pb_conf_get("verpmtype"); 1485 1490 if (($create != 0) || ($verebuild->{$ENV{'PBPROJ'}} eq "true") || ($force == 1)) { 1486 1491 # We have to rebuild the chroot 1487 1492 if ($dtype eq "rpm") { 1488 # This was originaly planed to be used with mock => rinse 1489 #pb_system("sudo /usr/sbin/mock --init --resultdir=\"/tmp\" --configdir=\"$veconf->{$ENV{'PBPROJ'}}\" -r $v","Creating the mock VE"); 1490 # Once setup we need to install some packages, the pb account, ... 1491 #pb_system("sudo /usr/sbin/mock --install --configdir=\"$veconf->{$ENV{'PBPROJ'}}\" -r $v su","Configuring the mock VE"); 1492 my $post = "--before-post-install "; 1493 if (defined $veb4pi->{"$ddir-$dver-$darch"}) { 1494 $post .= $veb4pi->{"$ddir-$dver-$darch"}; 1495 } elsif (defined $veb4pi->{"$ddir-$dver"}) { 1496 $post .= $veb4pi->{"$ddir-$dver"}; 1497 } elsif (defined $veb4pi->{"$ddir"}) { 1498 $post .= $veb4pi->{"$ddir"}; 1499 } elsif (defined $veb4pi->{"default"}) { 1500 $post .= $veb4pi->{"default"}; 1501 } else { 1502 $post = ""; 1493 1494 my $verpmstyle = pb_get_dist_param($ddir,$dver,$darch,$verpmtype); 1495 if ($verpmstyle eq "rinse") { 1496 # Need to reshape the mirrors generated 1497 my $post = "--before-post-install "; 1498 my $postparam = pb_get_dist_param($ddir,$dver,$darch,$veb4pi); 1499 if ($postparam eq "") { 1500 $post = ""; 1501 } else { 1502 $post .= $postparam; 1503 } 1504 1505 # Need to reshape the package list for pb 1506 my $addpkgs; 1507 $postparam = pb_get_dist_param($ddir,$dver,$darch,$vepkglist); 1508 if ($postparam eq "") { 1509 $addpkgs = ""; 1510 } else { 1511 my $pkgfile = "$ENV{'PBTMP'}/addpkgs.lis"; 1512 open(PKG,"> $pkgfile") || die "Unable to create $pkgfile"; 1513 foreach my $p (split(/,/,$postparam)) { 1514 print PKG "$p\n"; 1515 } 1516 close(PKG); 1517 $addpkgs = "--add-pkg-list $pkgfile"; 1518 } 1519 my $rinseverb = "--verbose" if ($pbdebug gt 0); 1520 1521 pb_system("sudo /usr/sbin/rinse --directory \"$vepath->{$ENV{'PBPROJ'}}/$ddir/$dver/$darch\" --arch \"$darch\" --distribution \"$ddir-$dver\" --config \"$veconf->{$ENV{'PBPROJ'}}\" $post $addpkgs $rinseverb","Creating the rinse VE for $ddir-$dver ($darch)", "verbose"); 1522 } elsif ($verpmstyle eq "mock") { 1523 pb_system("sudo /usr/sbin/mock --init --resultdir=\"/tmp\" --configdir=\"$veconf->{$ENV{'PBPROJ'}}\" -r $v","Creating the mock VE for $ddir-$dver ($darch)"); 1524 # Once setup we need to install some packages, the pb account, ... 1525 pb_system("sudo /usr/sbin/mock --install --configdir=\"$veconf->{$ENV{'PBPROJ'}}\" -r $v su","Configuring the mock VE"); 1503 1526 } 1504 pb_system("sudo /usr/sbin/rinse --directory \"$vepath->{$ENV{'PBPROJ'}}/$ddir/$dver/$darch\" --arch \"$darch\" --distribution \"$ddir-$dver\" --config \"$veconf->{$ENV{'PBPROJ'}}\" $post","Creating the rinse VE for $ddir-$dver ($darch)", "verbose");1505 1527 } elsif ($dtype eq "deb") { 1506 1528 pb_system("","Creating the pbuilder VE"); … … 2463 2485 } 2464 2486 2487 sub pb_get_dist_param { 2488 2489 my $param = ""; 2490 my $ddir = shift; 2491 my $dver = shift; 2492 my $darch = shift; 2493 my $opt = shift; 2494 2495 if (defined $opt->{"$ddir-$dver-$darch"}) { 2496 $param = $opt->{"$ddir-$dver-$darch"}; 2497 } elsif (defined $opt->{"$ddir-$dver"}) { 2498 $param = $opt->{"$ddir-$dver"}; 2499 } elsif (defined $opt->{"$ddir"}) { 2500 $param = $opt->{"$ddir"}; 2501 } elsif (defined $opt->{"default"}) { 2502 $param = $opt->{"default"}; 2503 } else { 2504 $param = ""; 2505 } 2506 return($param); 2507 } 2508 2465 2509 1;
Note:
See TracChangeset
for help on using the changeset viewer.