Changeset 1900 in ProjectBuilder
- Timestamp:
- Sep 30, 2014, 10:08:03 AM (10 years ago)
- Location:
- devel
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
devel/pb-modules/etc/pb.conf
r1891 r1900 402 402 rbsmindep mageia-2-x86_64 = basesystem,bash,chkconfig,coreutils,cpio,cracklib,cracklib-dicts,crontabs,curl,dbus,dhcp-client,dirmngr,e2fsprogs,ethtool,expat,file,filesystem,findutils,gamin,gawk,glibc,gnupg2,grep,info,initscripts,iputils,lib64acl1,lib64attr1,lib64blkid1,lib64bzip2_1,lib64cap2,lib64curl4,lib64db4.8,lib64elfutils1,lib64ext2fs2,lib64gcrypt11,lib64gpg-error0,lib64idn11,lib64krb53,lib64ksba8,lib64ldap2.4_2,lib64lua5.1,lib64lzma5,lib64magic1,lib64ncurses5,lib64ncursesw5,lib64nspr4,lib64nss3,lib64openssl1.0.0,lib64popt0,lib64readline6,lib64rpm2,lib64rpmbuild2,lib64sasl2,lib64sqlite3_0,lib64ssh2_1,lib64termcap2,lib64usb1.0_0,lib64uuid1,lib64xml2_2,lib64zlib1,libgcc1,logrotate,lua,mageia-release-common,meta-task,mingetty,ncurses,net-tools,nss,openldap,openssl,pam,passwd,pcre,perl,perl-base,perl-Config-IniFiles,perl-Locale-gettext,perl-MDV-Distribconf,perl-URPM,procps,psmisc,python,rpm,sed,setup,shadow-utils,systemd,udev,urpmi,util-linux,vim-minimal 403 403 # 404 rbsmindep mageia-3-i386 = basesystem,bash,chkconfig,coreutils,cpio,cracklib,cracklib-dicts,crontabs,curl,dbus,dhcp-client,dirmngr,e2fsprogs,ethtool,expat,file,filesystem,findutils,gamin,gawk,glibc,gnupg2,grep,info,initscripts,iputils,libacl1,libattr1,libblkid1,libbzip2_1,libcap2,libcurl4,libdb5.3,libelfutils1,libext2fs2,libgcc1,libgcrypt11,libgpg-error0,libidn11,libkrb53,libksba8,libldap2.4_2,liblua5. 2,liblzma5,libmagic1,libmount1,libncurses5,libncursesw5,libnspr4,libnss3,libopenssl1.0.0,libpopt0,libreadline6,librpm3,librpmbuild3,libsasl2,libsqlite3_0,libssh2_1,libstdc++6,libtermcap2,libudev1,libusb1.0_0,libuuid1,libxml2_2,libzlib1,logrotate,lua,mageia-release-common,meta-task,mingetty,ncurses,net-tools,nss,openldap,openssl,pam,passwd,pcre,perl,perl-base,perl-Config-IniFiles,perl-List-MoreUtils,perl-Locale-gettext,perl-MDV-Distribconf,perl-URPM,procps,psmisc,python,rpm,sed,setup,shadow-utils,systemd,urpmi,util-linux,vim-minimal405 rbsmindep mageia-3-x86_64 = basesystem,bash,chkconfig,coreutils,cpio,cracklib,cracklib-dicts,crontabs,curl,dbus,dhcp-client,dirmngr,e2fsprogs,ethtool,expat,file,filesystem,findutils,gamin,gawk,glibc,gnupg2,grep,info,initscripts,iputils,lib64acl1,lib64attr1,lib64blkid1,lib64bzip2_1,lib64cap2,lib64curl4,lib64db5.3,lib64elfutils1,lib64ext2fs2,lib64gcrypt11,lib64gpg-error0,lib64idn11,lib64krb53,lib64ksba8,lib64ldap2.4_2,lib64lua5. 2,lib64lzma5,lib64magic1,lib64mount1,lib64ncurses5,lib64ncursesw5,lib64nspr4,lib64nss3,lib64openssl1.0.0,lib64popt0,lib64readline6,lib64rpm3,lib64rpmbuild3,lib64sasl2,lib64sqlite3_0,lib64ssh2_1,lib64termcap2,lib64udev1,lib64usb1.0_0,lib64uuid1,lib64xml2_2,lib64zlib1,libgcc1,logrotate,lua,mageia-release-common,meta-task,mingetty,ncurses,net-tools,nss,openldap,openssl,pam,passwd,pcre,perl,perl-base,perl-Config-IniFiles,perl-List-MoreUtils,perl-Locale-gettext,perl-MDV-Distribconf,perl-URPM,procps,psmisc,python,rpm,sed,setup,shadow-utils,systemd,urpmi,util-linux,vim-minimal404 rbsmindep mageia-3-i386 = basesystem,bash,chkconfig,coreutils,cpio,cracklib,cracklib-dicts,crontabs,curl,dbus,dhcp-client,dirmngr,e2fsprogs,ethtool,expat,file,filesystem,findutils,gamin,gawk,glibc,gnupg2,grep,info,initscripts,iputils,libacl1,libattr1,libblkid1,libbzip2_1,libcap2,libcurl4,libdb5.3,libelfutils1,libext2fs2,libgcc1,libgcrypt11,libgpg-error0,libidn11,libkrb53,libksba8,libldap2.4_2,liblua5.1,liblzma5,libmagic1,libmount1,libncurses5,libncursesw5,libnspr4,libnss3,libopenssl1.0.0,libpopt0,libreadline6,librpm3,librpmbuild3,libsasl2,libsqlite3_0,libssh2_1,libstdc++6,libtermcap2,libudev1,libusb1.0_0,libuuid1,libxml2_2,libzlib1,logrotate,lua,mageia-release-common,meta-task,mingetty,ncurses,net-tools,nss,openldap,openssl,pam,passwd,pcre,perl,perl-base,perl-Config-IniFiles,perl-List-MoreUtils,perl-Locale-gettext,perl-MDV-Distribconf,perl-URPM,procps,psmisc,python,rpm,sed,setup,shadow-utils,systemd,urpmi,util-linux,vim-minimal 405 rbsmindep mageia-3-x86_64 = basesystem,bash,chkconfig,coreutils,cpio,cracklib,cracklib-dicts,crontabs,curl,dbus,dhcp-client,dirmngr,e2fsprogs,ethtool,expat,file,filesystem,findutils,gamin,gawk,glibc,gnupg2,grep,info,initscripts,iputils,lib64acl1,lib64attr1,lib64blkid1,lib64bzip2_1,lib64cap2,lib64curl4,lib64db5.3,lib64elfutils1,lib64ext2fs2,lib64gcrypt11,lib64gpg-error0,lib64idn11,lib64krb53,lib64ksba8,lib64ldap2.4_2,lib64lua5.1,lib64lzma5,lib64magic1,lib64mount1,lib64ncurses5,lib64ncursesw5,lib64nspr4,lib64nss3,lib64openssl1.0.0,lib64popt0,lib64readline6,lib64rpm3,lib64rpmbuild3,lib64sasl2,lib64sqlite3_0,lib64ssh2_1,lib64termcap2,lib64udev1,lib64usb1.0_0,lib64uuid1,lib64xml2_2,lib64zlib1,libgcc1,logrotate,lua,mageia-release-common,meta-task,mingetty,ncurses,net-tools,nss,openldap,openssl,pam,passwd,pcre,perl,perl-base,perl-Config-IniFiles,perl-List-MoreUtils,perl-Locale-gettext,perl-MDV-Distribconf,perl-URPM,procps,psmisc,python,rpm,sed,setup,shadow-utils,systemd,urpmi,util-linux,vim-minimal 406 406 # 407 407 rbsmindep mageia-4-i386 = basesystem,bash,chkconfig,coreutils,cpio,cracklib,cracklib-dicts,crontabs,curl,dbus,dhcp-client,dirmngr,e2fsprogs,ethtool,expat,file,filesystem,findutils,gamin,gawk,glibc,gnupg2,grep,info,initscripts,iputils,libacl1,libattr1,libblkid1,libbzip2_1,libcap2,libcurl4,libdb5.3,libelfutils1,libext2fs2,libgcc1,libgcrypt11,libgpg-error0,libidn11,libkrb53,libksba8,libldap2.4_2,liblua5.1,liblzma5,libmagic1,libmount1,libncurses5,libncursesw5,libnspr4,libnss3,libopenssl1.0.0,libpopt0,libreadline6,librpm3,librpmbuild3,libsasl2_3,libsqlite3_0,libssh2_1,libstdc++6,libudev1,libusb1.0_0,libuuid1,libxml2_2,libzlib1,logrotate,lua,mageia-release-common,meta-task,mingetty,ncurses,net-tools,nss,openldap,openssl,pam,passwd,pcre,perl,perl-base,perl-Config-IniFiles,perl-List-MoreUtils,perl-Locale-gettext,perl-MDV-Distribconf,perl-URPM,procps,psmisc,python,rpm,sed,setup,shadow-utils,systemd,urpmi,util-linux,vim-minimal … … 411 411 cachedir rpmbootstrap = /var/cache/rpmbootstrap 412 412 cachedir pbmkbm = /var/cache/pbmkbm 413 414 # When using docker some specific conf items 415 dockerregistry default = http://localhost:5000/pb 416 #dockerimage mageia-4-x86_64 = mageia-4-x86_64 417 #dockertag pb = pb 413 418 414 419 # Options to pass to rpmbootstrap command. By default keep downloaded packages -
devel/pb-modules/etc/pb.conf.pod
r1802 r1900 111 111 Example: delivery mondorescue = prod 112 112 113 =item B<dockerregistry> 114 115 Nature: Mandatory 116 Key: project (as defined in the -p option or PBPROJ environment variable) 117 Value: name of the docker registry to interact with 118 Conffile: project 119 Example: dockerregistry mondorescue = localhost:5900/mondorescue 120 113 121 =item B<extpkgdir> 114 122 … … 889 897 Nature: Mandatory 890 898 Key: project (as defined in the -p option or PBPROJ environment variable) 891 Value: chroot|schroot . There are two different ways of launching a chroot activity in pb. For the moment only chroot hasbeen tested.899 Value: chroot|schroot|docker. There are two different ways of launching a Virtual Environment activity in pb. For the moment only chroot and docker have been tested. 892 900 Conffile: ve 893 901 Example: vertype default = chroot -
devel/pb-modules/lib/ProjectBuilder/VE.pm
r1646 r1900 31 31 32 32 our @ISA = qw(Exporter); 33 our @EXPORT = qw(pb_ve_launch );33 our @EXPORT = qw(pb_ve_launch pb_ve_snap); 34 34 35 35 ($VERSION,$REVISION) = pb_version_init(); … … 43 43 =head1 DESCRIPTION 44 44 45 This modules provides functions to deal with Virtual Environements (VE), aka chroot .45 This modules provides functions to deal with Virtual Environements (VE), aka chroot/containers. 46 46 47 47 =head1 SYNOPSIS … … 60 60 =item B<pb_ve_launch> 61 61 62 This function launch a VE, creating it if necessary using multiple external potential tools.62 This function launches a VE, creating it if necessary using multiple external potential tools. 63 63 64 64 =cut … … 69 69 my $pbforce = shift || 0; # By default do not rebuild VE 70 70 my $locsnap = shift || 0; # By default do not snap VE 71 my $vetype = shift || undef; # By default no image 72 my $pbimage = shift || undef; # By default no image 73 74 my $dockerregistry = undef; 75 my $docrepo = undef; # By default no repository for docker available 71 76 72 77 # Get distro context … … 74 79 75 80 # Get VE context 76 my ($ptr,$vepath) = pb_conf_get("vetype","vepath"); 77 my $vetype = $ptr->{$ENV{'PBPROJ'}}; 78 81 if (not defined $vetype) { 82 my ($ptr) = pb_conf_get("vetype"); 83 $vetype = $ptr->{$ENV{'PBPROJ'}}; 84 } 79 85 confess "No vetype defined for $ENV{PBPROJ}" unless (defined $vetype); 80 86 pb_log(1, "Using vetype $vetype for $ENV{PBPROJ}\n"); 81 82 if (($vetype eq "chroot") || ($vetype eq "schroot")) { 87 my ($vepath) = pb_conf_get("vepath"); 88 89 if (($vetype eq "chroot") || ($vetype eq "schroot") || ($vetype eq "docker")) { 83 90 84 91 # We need to avoid umask propagation to the VE … … 87 94 # We can probably only get those params now we have the distro context 88 95 my ($rbsb4pi,$rbspi,$vesnap,$oscodename,$osmindep,$verebuild,$rbsmirrorsrv) = pb_conf_get_if("rbsb4pi","rbspi","vesnap","oscodename","osmindep","verebuild","rbsmirrorsrv"); 96 if ($vetype eq "docker") { 97 # Check acces to registry 98 ($dockerregistry) = pb_conf_get("dockerregistry"); 99 if ((defined $dockerregistry) && (defined $dockerregistry->{$ENV{'PBPROJ'}})) { 100 pb_ve_docker_registry($dockerregistry->{$ENV{'PBPROJ'}}); 101 } else { 102 die "When using docker you need to declare a dockerregistry parameter. Read the man page" 103 } 104 } 89 105 90 106 # Architecture consistency … … 98 114 if ($EFFECTIVE_USER_ID != 0) { 99 115 $sudocmd ="sudo "; 100 116 foreach my $proxy (qw/http_proxy ftp_proxy/) { 101 117 if (defined $ENV{$proxy}) { 102 118 open(CMD,"sudo sh -c 'echo \$$proxy' |") or die "can't run sudo sh?: $!"; … … 113 129 114 130 my $root = pb_path_expand($vepath->{$ENV{PBPROJ}}); 115 if (((defined $verebuild) && ($verebuild->{$ENV{'PBPROJ'}} =~ /true/i)) || ($pbforce == 1)) { 131 132 if (((((defined $verebuild) && ($verebuild->{$ENV{'PBPROJ'}} =~ /true/i)) || ($pbforce == 1)) && ($vetype ne "docker")) 133 # For docker we may have a reference image that we'll use 134 || (((not defined $pbimage) || ($pbimage eq "")) && ($vetype eq "docker"))) { 135 116 136 my ($verpmtype,$vedebtype) = pb_conf_get("verpmtype","vedebtype"); 117 137 my ($rbsopt1) = pb_conf_get_if("rbsopt"); … … 250 270 251 271 # Test if an existing snapshot exists and use it if appropriate 252 # And also use it of no local extracted VE is present272 # And also use it if no local extracted VE is present 253 273 if ((-f "$root/$pbos->{'name'}-$pbos->{'version'}-$pbos->{'arch'}.tar.gz") && 254 274 (((defined $vesnap->{$v}) && ($vesnap->{$v} =~ /true/i)) || … … 266 286 pb_system("$sudocmd $command 755 $root/$pbos->{'name'} $root/$pbos->{'name'}/$pbos->{'version'} $root/$pbos->{'name'}/$pbos->{'version'}/$pbos->{'arch'}","Fixing permissions"); 267 287 288 # If docker, create the image and remove the now temp dir except if we had one already 289 if ($vetype eq "docker") { 290 if ((not defined $pbimage) || ($pbimage eq "")) { 291 # Snaphot the VE to serve as an input for docker 292 pb_ve_snap($pbos,$root); 293 # Create the docker image from the previous bootstrap 294 my $cmd1 = pb_check_req("docker",0); 295 $docrepo = pb_ve_docker_repo($dockerregistry->{$ENV{'PBPROJ'}}); 296 pb_system("$cmd1 import - $docrepo:$pbos->{'name'}-$pbos->{'version'}-$pbos->{'arch'} < $root/$pbos->{'name'}-$pbos->{'version'}-$pbos->{'arch'}.tar.gz"); 297 pb_system("$cmd1 push $docrepo:$pbos->{'name'}-$pbos->{'version'}-$pbos->{'arch'}"); 298 #} else { 299 } 300 } 301 268 302 # Nothing more to do for VE. No real launch 269 303 } else { … … 299 333 } 300 334 335 # Snapshot the VE 336 sub pb_ve_snap { 337 338 my $pbos = shift; 339 my $root = shift; 340 my $tpdir = "$root/$pbos->{'name'}/$pbos->{'version'}/$pbos->{'arch'}"; 341 pb_system("sudo tar cz -C $tpdir -f $root/$pbos->{'name'}-$pbos->{'version'}-$pbos->{'arch'}.tar.gz .","Creating a snapshot of $tpdir"); 342 } 343 344 # Returns the docker registry to interact with 345 sub pb_ve_docker_registry { 346 347 my $dockerreg = shift || undef; 348 my $wget = pb_check_req("wget",0); 349 my ($scheme, $account, $host, $port, $path) = pb_get_uri($dockerreg); 350 my $docreg = $scheme."://"; 351 $docreg .= $account."@" if ((defined $account) && ($account ne "")); 352 $docreg .= $host; 353 $docreg .= ":$port" if ((defined $port) && ($port ne "")); 354 open(FD,"$wget $docreg -q -O -|") || die "Unable to talk to the docker registry $docreg"; 355 my $found = undef; 356 while (<FD>) { 357 $found = 1 if (/docker-registry/); 358 } 359 close(FD); 360 die "No correct docker-registry answering at $docreg. Please check your configuration" if (not defined $found); 361 # 362 return($docreg); 363 } 364 365 # Returns the docker repository to interact with 366 sub pb_ve_docker_repo { 367 368 my $dockerreg = shift || undef; 369 my $docrepo = ""; 370 my ($scheme, $account, $host, $port, $path) = pb_get_uri($dockerreg); 371 $docrepo .= $host; 372 $docrepo .= ":$port" if ((defined $port) && ($port ne "")); 373 $docrepo .= "$path"; 374 return($docrepo); 375 } 301 376 302 377 =head1 WEB SITES -
devel/pb/bin/pb
r1886 r1900 62 62 my $pbport; # Port to use to connect to the VM/RM 63 63 my $newver; # New version to create 64 my $iso = undef; # ISO image for the VM to create 64 my $pbimage = undef; # ISO image for the VM to create or docker image for the VE 65 my $vetype = undef; # Type of Virtual environment to deal with 65 66 66 67 my @date = pb_get_date(); … … 85 86 =head1 SYNOPSIS 86 87 87 pb [-vhSq][-r pbroot][-p project][[-s script -a account -P port][- t [os-ver-arch]][-m os-ver-arch[,...]]][-g][-i iso] <action> [<pkg1> ...]88 89 pb [--verbose][--help][--man][--quiet][--snapshot][--revision pbroot][--project project][[--script script --account account --port port][- -target [os-ver-arch]][--machine os-ver-arch[,...]]][--nographic][--iso iso][--rebuild] <action> [<pkg1> ...]88 pb [-vhSq][-r pbroot][-p project][[-s script -a account -P port][-T VEtype][-t [os-ver-arch]][-m os-ver-arch[,...]]][-g][-i image] <action> [<pkg1> ...] 89 90 pb [--verbose][--help][--man][--quiet][--snapshot][--revision pbroot][--project project][[--script script --account account --port port][-T VEtype][--target [os-ver-arch]][--machine os-ver-arch[,...]]][--nographic][--image image][--rebuild] <action> [<pkg1> ...] 90 91 91 92 =head1 OPTIONS … … 124 125 All if none precised (or use the env variable PBV). 125 126 127 =item B<-T|--vetype VEtype]> 128 129 Type of Virtual Environments (VE) 130 Can be chroot or docker. 131 126 132 =item B<-s|--script script> 127 133 … … 132 138 Do not launch VMs in graphical mode. 133 139 134 =item B<-i|--iso iso_image> 135 136 Name of the ISO image of the distribution you want to install on the related VMs. 140 =item B<-i|--image image> 141 142 It could be either: 143 - The name of the ISO image of the distribution you want to install on the related VMs 144 - The name of the docker image of the distribution you want to install on the related VEs 145 137 146 138 147 =item B<-a|--account account> … … 670 679 671 680 GetOptions("help|?|h+" => \$opts{'h'}, 681 "account|a=s" => \$opts{'a'}, 682 "force|f" => \$opts{'f'}, 683 "nographic|g" => \$opts{'g'}, 684 "image|i=s" => \$opts{'i'}, 685 "log-files|l=s" => \$opts{'l'}, 686 "machines|mock|m=s" => \$opts{'m'}, 672 687 "man" => \$opts{'man'}, 673 "verbose|v+" => \$opts{'v'},674 "snapshot|S" => \$opts{'S'},675 "quiet|q" => \$opts{'q'},676 "log-files|l=s" => \$opts{'l'},677 "force|f" => \$opts{'f'},678 "account|a=s" => \$opts{'a'},679 "revision|r=s" => \$opts{'r'},680 "script|s=s" => \$opts{'s'},681 "machines|mock|m=s" => \$opts{'m'},682 "target|t:s" => \$opts{'t'},683 "nographic|g" => \$opts{'g'},684 688 "port|P=i" => \$opts{'P'}, 685 689 "project|p=s" => \$opts{'p'}, 690 "quiet|q" => \$opts{'q'}, 691 "revision|r=s" => \$opts{'r'}, 686 692 "rebuild" => \$opts{'rebuild'}, 687 "iso|i=s" => \$opts{'i'}, 693 "snapshot|S" => \$opts{'S'}, 694 "script|s=s" => \$opts{'s'}, 695 "type|T:s" => \$opts{'T'}, 696 "target|t:s" => \$opts{'t'}, 688 697 "version|V=s" => \$opts{'V'}, 698 "verbose|v+" => \$opts{'v'}, 689 699 "keep|k" => \$opts{'k'}, 690 700 "stop-on-error!" => \$Global::pb_stop_on_error, … … 743 753 } 744 754 if (defined $opts{'i'}) { 745 $ iso= $opts{'i'};755 $pbimage = $opts{'i'}; 746 756 } 747 757 if (defined $opts{'t'}) { 748 758 $pbtarget = $opts{'t'}; 759 } 760 if (defined $opts{'T'}) { 761 $vetype = $opts{'T'}; 749 762 } 750 763 … … 2353 2366 my ($shcmd,$shcmdroot,$cpcmd,$cptarget,$cp2target); 2354 2367 my $tpdir; 2368 my $tp; 2355 2369 if ($cmt =~ /^VE/) { 2356 my$tp = pb_path_expand($vepath->{$ENV{'PBPROJ'}});2370 $tp = pb_path_expand($vepath->{$ENV{'PBPROJ'}}); 2357 2371 $tpdir = pb_path_expand("$tp/$pbos->{'name'}/$pbos->{'version'}/$pbos->{'arch'}"); 2358 my ($ptr) = pb_conf_get("vetype"); 2359 my $vetype = $ptr->{$ENV{'PBPROJ'}}; 2372 if (not defined $vetype) { 2373 my ($ptr) = pb_conf_get("vetype"); 2374 $vetype = $ptr->{$ENV{'PBPROJ'}}; 2375 } 2360 2376 my $arch = pb_get_arch(); 2361 2377 if ($vetype eq "chroot") { … … 2364 2380 } elsif ($vetype eq "schroot") { 2365 2381 $shcmd = "schroot $tp -u $mac -- "; 2382 } elsif ($vetype eq "docker") { 2383 # docker manages the storage so rely on it 2384 $shcmdroot = "sudo /usr/bin/docker $tpdir "; 2385 $shcmd = "$shcmdroot /bin/su - $mac -c "; 2366 2386 } 2367 2387 $shcmd = "setarch i386 $shcmd" if (($pbos->{'arch'} =~ /i[3456]86/) && ($arch eq 'x86_64')); … … 2533 2553 } 2534 2554 if (($cmt =~ /^VE/) && ($snapme != 0)) { 2535 my $tpdir = "$vepath->{$ENV{'PBPROJ'}}/$pbos->{'name'}/$pbos->{'version'}/$pbos->{'arch'}"; 2536 pb_system("sudo tar cz -C $tpdir -f $vepath->{$ENV{'PBPROJ'}}/$pbos->{'name'}-$pbos->{'version'}-$pbos->{'arch'}.tar.gz .","Creating a snapshot of $tpdir"); 2555 pb_ve_snap($pbos,$tp); 2537 2556 } 2538 2557 } … … 2617 2636 # Launch the VMs/VEs 2618 2637 if ($vtype eq "vm") { 2619 die "-i i so parameter needed" if (((not defined $iso) || ($isoeq "")) && ($create != 0));2638 die "-i image parameter needed" if (((not defined $pbimage) || ($pbimage eq "")) && ($create != 0)); 2620 2639 2621 2640 my ($ptr,$ptr2,$vmpath,$vmport,$vms) = pb_conf_get("vmtype","vmcmd","vmpath","vmport","vmsize"); … … 2683 2702 if (($vmtype eq "qemu") || ($vmtype eq "kvm")) { 2684 2703 $vmm = "$vmpath->{$ENV{'PBPROJ'}}/$v.qemu"; 2685 if (($create != 0) || (defined $ iso)) {2686 $ENV{'PBVMOPT'} .= " -cdrom $ iso-boot d";2704 if (($create != 0) || (defined $pbimage)) { 2705 $ENV{'PBVMOPT'} .= " -cdrom $pbimage -boot d"; 2687 2706 } 2688 2707 # Always redirect the network and always try to use a 'pb' snapshot … … 2746 2765 } elsif ($vtype eq "ve") { 2747 2766 # Force the creation of the VE and no snapshot usable 2748 pb_ve_launch($v,$create,$usesnap );2767 pb_ve_launch($v,$create,$usesnap,$vetype,$pbimage); 2749 2768 } else { 2750 2769 # RM here … … 3504 3523 # And shouldn't we be getting the one that matches the current pb version? 3505 3524 # For the moment, just take the latest stable one 3506 $cmdget = "wget --passive-ftp ftp://ftp.project-builder.org/src/ProjectBuilder-latest.tar.gz; wget --passive-ftp ftp://ftp.project-builder.org/src/project-builder-latest.tar.gz"; 3525 my $wget = pb_check_req("wget",0); 3526 $cmdget = "$wget --passive-ftp ftp://ftp.project-builder.org/src/ProjectBuilder-latest.tar.gz; $wget --passive-ftp ftp://ftp.project-builder.org/src/project-builder-latest.tar.gz"; 3507 3527 } 3508 3528 print SCRIPT << 'EOF'; -
devel/pbmkbm/bin/pbmkbm
r1702 r1900 404 404 if ($opts{'b'} eq "ve") { 405 405 # Use project-builder VE mecanism to create a good VE ! 406 # TODO: This call is now assuming default vetype and image 406 407 pb_ve_launch($ENV{'PBV'},1); 407 408 } elsif ($opts{'b'} eq "native") { -
devel/rpmbootstrap/bin/rpmbootstrap
r1894 r1900 64 64 =head1 SYNOPSIS 65 65 66 rpmbootstrap [-vhmqpdk][-s script][-i i so][-a pkg1[,pkg2,...]] distribution-version-arch [target-dir] [mirror [script]]66 rpmbootstrap [-vhmqpdk][-s script][-i image][-a pkg1[,pkg2,...]] distribution-version-arch [target-dir] [mirror [script]] 67 67 68 68 rpmbootstrap [--verbose][--help][--man][--quiet][--print-rpms][--download-only] 69 [--keep][--script script][--i so iso][--add pkg1,[pkg2,...]] distribution-version-arch [target-dir] [mirror [script]]69 [--keep][--script script][--image image][--add pkg1,[pkg2,...]] distribution-version-arch [target-dir] [mirror [script]] 70 70 71 71 =head1 OPTIONS … … 110 110 You can use the chroot command to execute actions in the VE. 111 111 112 =item B<-i|--i so iso_image>113 114 Name of the ISO image o f the distribution you want to install on the related VE.112 =item B<-i|--image image> 113 114 Name of the ISO image or the docker image of the distribution you want to install on the related VE. 115 115 116 116 =item B<-a|--add pkg1[,pkg2,...]> … … 194 194 "download-only|d" => \$opts{'d'}, 195 195 "keep|k" => \$opts{'k'}, 196 "i so|i=s" => \$opts{'i'},196 "image|i=s" => \$opts{'i'}, 197 197 "add|a=s" => \$opts{'a'}, 198 198 "version|V=s" => \$opts{'V'}, … … 224 224 #} 225 225 #if (defined $opts{'i'}) { 226 #$i so= $opts{'i'};226 #$image = $opts{'i'}; 227 227 #} 228 228
Note:
See TracChangeset
for help on using the changeset viewer.