Changeset 986 in ProjectBuilder
- Timestamp:
- Feb 21, 2010, 7:16:55 PM (15 years ago)
- Location:
- devel
- Files:
-
- 2 added
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
devel/pb-doc/pb.conf.pod
r985 r986 17 17 The key could be also default, in which case it will be used as a default value if no more precise content is given for the key. 18 18 19 Each value is detailed below giving the nature of its use (Mandatory or Optional - only used for certain feature), the value of the key (could be the project, a distribution name, default, ...), the value of the parameter field and its format, the default configuration file in which it should be definedand an example of use.19 Each value is detailed below giving the nature of its use (Mandatory or Optional - only used for certain feature), the value of the key (could be the project, an OS name, default, ...), the value of the parameter field and its format, the default configuration file in which it should be defined (home $HOME/.pbrc, conf /etc/pb/pb.conf or /usr/local/etc/pb/pb.conf, VE vepath/.pbrc, VM vmpath/.pbrc, or project project.pb) and an example of use. 20 20 21 21 =head1 OPTIONS … … 261 261 Nature: Optional 262 262 Key: package (as provided in defpkgdir or extpkgdir) 263 Value: Tag that needs to be used in package name (on rpm: name-ver-tag.arch.rpm). Usefulwhen republishing a package due to package build modification (not code).263 Value: Tag that needs to be used in package name (on rpm: name-ver-tag.arch.rpm). Useful when different from the project version B<projtag> and when republishing a package due to package build modification (not code). 264 264 Conffile: project 265 265 Example: pkgtag mindi-busybox = 2 … … 269 269 Nature: Optional 270 270 Key: package (as provided in defpkgdir or extpkgdir) 271 Value: Version that needs to be used in package name (on rpm: name-ver-tag.arch.rpm). 272 Conffile: project 273 Example: 271 Value: Version that needs to be used in package name (on rpm: name-ver-tag.arch.rpm). Useful when different from the project version B<projver>. 272 Conffile: project 273 Example: pkgver mindi-busybox = 1.7.3 274 274 275 275 =item B<projtag> 276 277 Nature: Mandatory 278 Key: project (as defined in the -p option or PBPROJ environment variable) 279 Value: tag that will be used for all packages names (on rpm: name-ver-tag.arch.rpm) in the project. Each package can overwrite it using B<pkgtag>. 280 Conffile: project 281 Example: projtag mondorescue = 1 282 276 283 =item B<projver> 284 285 Nature: Mandatory 286 Key: project (as defined in the -p option or PBPROJ environment variable) 287 Value: version that will be used for all packages names (on rpm: name-ver-tag.arch.rpm) in the project. Each package can overwrite it using B<pkgver>. 288 Conffile: project 289 Example: projver mondorescue = 2.2.9 290 291 =item B<rbsconf> 292 293 Nature: Optional 294 Key: project (as defined in the -p option or PBPROJ environment variable) 295 Value: for mock it's the configuration directory. For rinse it's its configuration file. For rpmbootstrap it's not used yet. 296 Conffile: ve 297 Example: rbsconf default = /etc/mock, rbsconf default = /etc/pb/pb-rinse.conf 298 299 =item B<rbsb4pi> 300 301 Nature: Optional 302 Key: OS (could be from the most generic up to the most specific from ostype, osfamily, os, os-ver, os-ver-arch). The family name is generaly used here. 303 Value: for mock it's not used. For rinse it's the script to call before doing installation (in order change the mirror location). For rpmbootstrap it's not used yet. 304 Conffile: ve 305 Example: rbsb4pi centos = /home/rinse/bin/before-post-install.sh 306 277 307 =item B<supfiles> 308 309 Not used yet. 310 278 311 =item B<testver> 279 =item B<veb4pi> 280 =item B<veconf> 312 313 Nature: Optional 314 Key: project (as defined in the -p option or PBPROJ environment variable) 315 Value: true (meaning this is a test version, whose tag will be generated automatically, based on 0+date in order to allow regular updates, and still be inferior to tag 1 of the official version, and delivered under the test subdirectory of the ftp server). By default false. 316 Conffile: project 317 Example: testver mondorescue = true 318 281 319 =item B<vedebtype> 320 321 Nature: Mandatory 322 Key: project (as defined in the -p option or PBPROJ environment variable) 323 Value: debootstrap (no other tool to create deb distro based chroot) 324 Conffile: ve 325 Example: vedebtype default = debootstrap 326 282 327 =item B<velist> 328 329 Nature: Mandatory 330 Key: project (as defined in the -p option or PBPROJ environment variable) 331 Value: list of coma separated OS (under the form of os-ver-arch). 332 Conffile: ve 333 Example: velist default = centos-4-i386,centos-5-i386,centos-4-x86_64,centos-5-x86_64,debian-5.0-i386,debian-5.0-x86_64,lsb-4.0.1-i386,lsb-4.0.1-x86_64 334 283 335 =item B<velogin> 336 337 Nature: Mandatory 338 Key: project (as defined in the -p option or PBPROJ environment variable) 339 Value: account name to use in the VE to build packages. 340 Conffile: ve 341 Example: velogin default = pb 342 284 343 =item B<ventp> 344 345 Nature: Optional 346 Key: project (as defined in the -p option or PBPROJ environment variable) 347 Value: NTP server to contact for time accuracy with B<ventpcmd> before building. 348 Conffile: ve 349 Example: ventp default = 1.pool.ntp.org 350 285 351 =item B<ventpcmd> 352 353 Nature: Optional 354 Key: project (as defined in the -p option or PBPROJ environment variable) 355 Value: NTP command to use to perform time synchronization with the B<ventp> server. 356 Conffile: ve 357 Example: ventpcmd default = /usr/sbin/ntpdate 358 286 359 =item B<vepath> 360 361 Nature: Optional 362 Key: project (as defined in the -p option or PBPROJ environment variable) 363 Value: path where to find VEs. Ve will be created and used under that path. For each VE os-ver-arch, it will create a subdirectory tree os/ver/arch below that point. 364 Conffile: ve 365 Example: vepath default = /home/rpmbootstrap 366 287 367 =item B<vepi> 288 368 =item B<vepkglist> 289 369 =item B<verebuild> 290 370 =item B<verpmtype> 291 =item B<version>292 371 =item B<vesnap> 293 372 =item B<vetmout> 294 373 =item B<vetype> 374 295 375 =item B<vmhost> 296 376 =item B<vmlist> 377 378 Nature: Mandatory 379 Key: project (as defined in the -p option or PBPROJ environment variable) 380 Value: list of coma separated OS (under the form of os-ver-arch). 381 Conffile: vm 382 Example: vmlist default = asianux-2-i386,asianux-3-i386,mandrake-10.1-i386,mandrake-10.2-i386,mandriva-2006.0-i386,mandriva-2007.0-i386,mandriva-2007.1-i386,mandriva-2008.0-i386,mandriva-2008.1-i386,mandriva-2009.0-i386,mandriva-2009.1-i386,mandriva-2010.0-i386,redhat-7.3-i386,redhat-9-i386,fedora-4-i386,fedora-5-i386,fedora-6-i386,fedora-7-i386,fedora-8-i386,fedora-9-i386,fedora-10-i386,fedora-11-i386,fedora-12-i386,rhel-2.1-i386,rhel-3-i386,rhel-4-i386,rhel-5-i386,suse-10.0-i386,suse-10.1-i386,suse-10.2-i386,opensuse-10.3-i386,opensuse-11.0-i386,opensuse-11.1-i386,opensuse-11.2-i386,sles-9-i386,sles-10-i386,sles-11-i386,gentoo-nover-i386,debian-3.1-i386,debian-4.0-i386,debian-5.0-i386,ubuntu-6.06-i386,ubuntu-7.04-i386,ubuntu-7.10-i386,ubuntu-8.04-i386,ubuntu-8.10-i386,ubuntu-9.04-i386,ubuntu-9.10-i386,solaris-10-i386,asianux-2-x86_64,asianux-3-x86_64,mandriva-2007.0-x86_64,mandriva-2007.1-x86_64,mandriva-2008.0-x86_64,mandriva-2008.1-x86_64,mandriva-2009.0-x86_64,mandriva-2009.1-x86_64,mandriva-2010.0-x86_64,fedora-6-x86_64,fedora-7-x86_64,fedora-8-x86_64,fedora-9-x86_64,fedora-10-x86_64,fedora-11-x86_64,fedora-12-x86_64,rhel-3-x86_64,rhel-4-x86_64,rhel-5-x86_64,suse-10.2-x86_64,opensuse-10.3-x86_64,opensuse-11.0-x86_64,opensuse-11.1-x86_64,opensuse-11.2-x86_64,sles-10-x86_64,sles-11-x86_64,gentoo-nover-x86_64,debian-4.0-x86_64,debian-5.0-x86_64,ubuntu-7.04-x86_64,ubuntu-7.10-x86_64,ubuntu-8.04-x86_64,ubuntu-8.10-x86_64,ubuntu-9.04-x86_64,ubuntu-9.10-x86_64,solaris-10-x86_64 383 297 384 =item B<vmlogin> 298 385 =item B<vmmonport> -
devel/pb-modules/etc/pb.conf
r984 r986 246 246 rbsmindep fedora-11 = MAKEDEV,ConsoleKit-libs,audit-libs,basesystem,bash,beecrypt,bzip2-libs,chkconfig,compat-db45,coreutils,cpio,cracklib,cracklib-dicts,crontabs,cyrus-sasl-lib,db4,dbus,dbus-libs,device-mapper,device-mapper-libs,dhclient,dirmngr,e2fsprogs,e2fsprogs-libs,elfutils-libelf,ethtool,expat,fedora-release,fedora-release-notes,file,file-libs,filesystem,findutils,gamin,gawk,gdbm,glib2,glibc,glibc-common,gnupg2,gpgme,grep,info,initscripts,iproute,iputils,keyutils-libs,krb5-libs,libacl,libattr,libblkid,libcap,libcom_err,libcurl,libgcc,libgcrypt,libgpg-error,libidn,libksba,libselinux,libsepol,libstdc++,libusb,libvolume_id,libxml2,linux-atm-libs,logrotate,lua,mingetty,module-init-tools,ncurses,ncurses-base,ncurses-libs,net-tools,nspr,nss,openldap,openssl,pam,passwd,pcre,pinentry,popt,procps,psmisc,pth,pygpgme,python,python-iniparse,python-libs,python-pycurl,python-urlgrabber,readline,rpm,rpm-libs,rpm-python,rsyslog,sed,setup,shadow-utils,sqlite,sysvinit-tools,tzdata,udev,upstart,util-linux-ng,vim-minimal,xz-libs,yum,yum-metadata-parser,zlib 247 247 # 248 rbsmindep fedora-12 = MAKEDEV,ConsoleKit-libs,audit-libs,basesystem,bash,bzip2-libs,chkconfig,coreutils,cpio,cracklib,cracklib-dicts,crontabs,cyrus-sasl-lib,db4,dbus,dbus-libs,device-mapper,device-mapper-libs,dhclient,dirmngr,e2fsprogs,e2fsprogs-libs,elfutils-libelf,ethtool,expat,fedora-release,fedora-release-notes,file,file-libs,filesystem,findutils,gamin,gawk,gdbm,glib2,glibc,glibc-common,gnupg2,gpgme,grep,info,initscripts,iproute,iputils,keyutils-libs,krb5-libs,libacl,libattr,libcap,libc url,libgcc,libgcrypt,libgpg-error,libidn,libksba,libselinux,libsepol,libssh2,libstdc++,libusb,libxml2,linux-atm-libs,logrotate,lua,mingetty,module-init-tools,ncurses,ncurses-base,ncurses-libs,net-tools,nspr,nss,nss-softokn,nss-softokn-freebl,nss-util,openldap,openssl,pam,passwd,pcre,pinentry,popt,procps,psmisc,pth,pygpgme,python,python-iniparse,python-libs,python-pycurl,python-urlgrabber,readline,rpm,rpm-libs,rpm-python,rsyslog,sed,setup,shadow-utils,sqlite,sysvinit-tools,tzdata,udev,upstart,util-linux-ng,vim-minimal,xz-libs,yum,yum-metadata-parser,zlib248 rbsmindep fedora-12 = MAKEDEV,ConsoleKit-libs,audit-libs,basesystem,bash,bzip2-libs,chkconfig,coreutils,cpio,cracklib,cracklib-dicts,crontabs,cyrus-sasl-lib,db4,dbus,dbus-libs,device-mapper,device-mapper-libs,dhclient,dirmngr,e2fsprogs,e2fsprogs-libs,elfutils-libelf,ethtool,expat,fedora-release,fedora-release-notes,file,file-libs,filesystem,findutils,gamin,gawk,gdbm,glib2,glibc,glibc-common,gnupg2,gpgme,grep,info,initscripts,iproute,iputils,keyutils-libs,krb5-libs,libacl,libattr,libcap,libcom_err,libcurl,libgcc,libgcrypt,libgpg-error,libidn,libksba,libselinux,libsepol,libssh2,libstdc++,libusb,libxml2,linux-atm-libs,logrotate,lua,mingetty,module-init-tools,ncurses,ncurses-base,ncurses-libs,net-tools,nspr,nss,nss-softokn,nss-softokn-freebl,nss-util,openldap,openssl,pam,passwd,pcre,pinentry,popt,procps,psmisc,pth,pygpgme,python,python-iniparse,python-libs,python-pycurl,python-urlgrabber,readline,rpm,rpm-libs,rpm-python,rsyslog,sed,setup,shadow-utils,sqlite,sysvinit-tools,tzdata,udev,upstart,util-linux-ng,vim-minimal,xz-libs,yum,yum-metadata-parser,zlib 249 249 # 250 250 rbsmindep centos-4 = MAKEDEV,SysVinit,audit-libs,basesystem,bash,beecrypt,bzip2-libs,centos-release,coreutils,cracklib,cracklib-dicts,db4,device-mapper,e2fsprogs,elfutils-libelf,ethtool,expat,filesystem,findutils,gawk,gdbm,glib2,glibc,glibc-common,grep,info,initscripts,iproute,iputils,krb5-libs,libacl,libattr,libcap,libgcc,libidn,libselinux,libsepol,libstdc++,libsysfs,libtermcap,libxml2,libxml2-python,mcstrans,mingetty,mktemp,module-init-tools,ncurses,neon,net-tools,openssl,pam,pcre,popt,procps,psmisc,python,python-elementtree,python-sqlite,python-urlgrabber,readline,rpm,rpm-libs,rpm-python,sed,setup,shadow-utils,sqlite,sysklogd,termcap,tzdata,udev,util-linux,yum,yum-metadata-parser,zlib -
devel/pb/bin/pb
r982 r986 1174 1174 # Specific VE 1175 1175 $path = "vepath"; 1176 $conf = " veconf";1176 $conf = "rbsconf"; 1177 1177 $rebuild = "verebuild"; 1178 1178 } elsif ($cmt eq "Web") { … … 1252 1252 my ($sshhost,$sshlogin,$sshdir,$sshport) = pb_conf_get($host,$login,$dir,$port); 1253 1253 # 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"); 1255 1255 my ($vtmout,$vepath); 1256 1256 # ...Except those in virtual context … … 1261 1261 ($vtmout) = pb_conf_get($tmout); 1262 1262 } 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"); 1264 1264 1265 1265 my $mac; … … 1742 1742 1743 1743 # 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"); 1745 1745 my $vetype = $ptr->{$ENV{'PBPROJ'}}; 1746 1746 1747 1747 # 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"); 1749 1749 1750 1750 if (($vetype eq "chroot") || ($vetype eq "schroot")) { … … 1760 1760 1761 1761 my $verpmstyle = $verpmtype->{$ENV{'PBPROJ'}}; 1762 my $postinstall = pb_get_postinstall($ddir,$dver,$darch,$rbspi,$verpmstyle); 1762 1763 if ($verpmstyle eq "rinse") { 1763 1764 # Need to reshape the mirrors generated with local before-post-install script 1764 1765 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); 1766 1767 if ($postparam eq "") { 1767 1768 $b4post = ""; 1768 1769 } else { 1769 1770 $b4post .= $postparam; 1770 }1771 # Do we have a local post-install script1772 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;1778 1771 } 1779 1772 … … 1799 1792 $rinseverb = "--verbose" if ($pbdebug gt 0); 1800 1793 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"); 1802 1795 } elsif ($verpmstyle eq "rpmbootstrap") { 1803 1796 my $rbsverb = ""; 1804 1797 $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"); 1806 1799 } 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)"); 1808 1801 # 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"); 1810 1803 } else { 1811 1804 die "Unknown verpmtype type $verpmstyle. Report to dev team"; … … 1868 1861 my $v = shift; 1869 1862 1870 my ($ntp) = pb_conf_get ($vtype."ntp");1871 my $vntp = $ntp->{$ENV{'PBPROJ'}} ;1863 my ($ntp) = pb_conf_get_if($vtype."ntp"); 1864 my $vntp = $ntp->{$ENV{'PBPROJ'}} if (defined $ntp); 1872 1865 my $ntpline; 1873 1866 … … 2939 2932 } 2940 2933 2934 # 2935 # Return the postinstall line if needed 2936 # 2937 2938 sub pb_get_postinstall { 2939 2940 my $ddir = shift 2941 my $dver = shift 2942 my $darch = shift 2943 my $rbspi = shift 2944 my $vestyle = shift 2945 my $post = ""; 2946 2947 # Do we have a local post-install script 2948 if ($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); 2955 if ($postparam eq "") { 2956 $post = ""; 2957 } else { 2958 $post .= $postparam; 2959 } 2960 return($post); 2961 } 2962 2941 2963 1; -
devel/pb/lib/ProjectBuilder/Env.pm
r973 r986 465 465 #ventp default = pool.ntp.org 466 466 #velogin $ENV{'PBPROJ'} = pb 467 #vepath $ENV{'PBPROJ'} = /var/ lib/mock468 # veconf $ENV{'PBPROJ'} = /etc/mock467 #vepath $ENV{'PBPROJ'} = /var/cache/rpmbootstrap 468 #rbsconf $ENV{'PBPROJ'} = /etc/mock 469 469 #verebuild $ENV{'PBPROJ'} = false 470 470 -
devel/rpmbootstrap/bin/rpmbootstrap
r984 r986 251 251 # Manages architectures specificities 252 252 my $parch = $darch; 253 $parch = "i ?86" if ($darch eq "i386");253 $parch = "i[3456]86" if ($darch eq "i386"); 254 254 255 255 # Get the list of packages and their URL in this hash … … 313 313 if ($pbupd =~ /yum/) { 314 314 pb_log(1,"Link package into $vepath/var/cache/yum/core/packages\n"); 315 316 link("$cachedir/$p1","$vepath/var/cache/yum/$darch/$dver/");317 symlink("$vepath/var/cache/yum/core/packages/$p1","$vepath/var/cache/yum/updates-released/packages/");315 #link("$cachedir/$p1","$vepath/var/cache/yum/core/packages/"); 316 copy("$cachedir/$p1","$vepath/var/cache/yum/$darch/$dver/fedora/packages"); 317 symlink("$vepath/var/cache/yum/$darch/$dver/fedora/packages","$vepath/var/cache/yum/$darch/$dver/updates/packages"); 318 318 } 319 319
Note:
See TracChangeset
for help on using the changeset viewer.