Changeset 2252 in ProjectBuilder for devel/pb/bin
- Timestamp:
- Aug 30, 2017, 5:07:32 PM (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
devel/pb/bin/pb
r2251 r2252 481 481 =head1 CONFIGURATION FILES 482 482 483 Each pb user may have a configuration in F<$HOME/.pbrc >. The values in this file may overwrite any other configuration file value.483 Each pb user may have a configuration in F<$HOME/.pbrc.yml>. The values in this file may overwrite any other configuration file value. 484 484 485 485 Here is an example of such a configuration file: … … 493 493 # svn+ssh, cvs+ssh, ... 494 494 # 495 pbconfurl linuxcoe = cvs+ssh://:ext:bcornec@linuxcoe.cvs.sourceforge.net:/cvsroot/linuxcoe/pbconf 495 pbconfurl: 496 linuxcoe : cvs+ssh://:ext:bcornec@linuxcoe.cvs.sourceforge.net:/cvsroot/linuxcoe/pbconf 496 497 497 498 # This is normaly defined in the project's configuration file 498 499 # Url of the project 499 500 # 500 pburl linuxcoe = cvs+ssh://:ext:bcornec@linuxcoe.cvs.sourceforge.net:/cvsroot/linuxcoe 501 pburl: 502 linuxcoe : cvs+ssh://:ext:bcornec@linuxcoe.cvs.sourceforge.net:/cvsroot/linuxcoe 501 503 502 504 # All these URLs needs to be defined here as the are the entry point 503 505 # for how to build packages for the project 504 506 # 505 pbconfurl pb = svn+ssh://svn.project-builder.org/mondo/svn/pb/pbconf 506 pbconfurl mondorescue = svn+ssh://svn.project-builder.org/mondo/svn/project-builder/mondorescue/pbconf 507 pbconfurl collectl = svn+ssh://bruno@svn.mondorescue.org/mondo/svn/project-builder/collectl/pbconf 508 pbconfurl netperf = svn+ssh://svn.mondorescue.org/mondo/svn/project-builder/netperf/pbconf 507 pbconfurl: 508 pb: svn+ssh://svn.project-builder.org/mondo/svn/pb/pbconf 509 pbconfurl: 510 mondorescue: svn+ssh://svn.project-builder.org/mondo/svn/project-builder/mondorescue/pbconf 511 pbconfurl: 512 collectl: svn+ssh://bruno@svn.mondorescue.org/mondo/svn/project-builder/collectl/pbconf 513 pbconfurl: 514 netperf: svn+ssh://svn.mondorescue.org/mondo/svn/project-builder/netperf/pbconf 509 515 510 516 # Under that dir will take place everything related to pb … … 512 518 # to your VMs/chroot/... 513 519 # if not defined then /var/cache 514 pbdefdir default = $ENV{'HOME'}/project-builder 515 pbdefdir pb = $ENV{'HOME'} 516 pbdefdir linuxcoe = $ENV{'HOME'}/LinuxCOE/cvs 517 pbdefdir mondorescue = $ENV{'HOME'}/mondo/svn 520 pbdefdir: 521 default: $ENV{'HOME'}/project-builder 522 pbdefdir: 523 pb: $ENV{'HOME'} 524 pbdefdir: 525 linuxcoe: $ENV{'HOME'}/LinuxCOE/cvs 526 pbdefdir: 527 mondorescue: $ENV{'HOME'}/mondo/svn 518 528 519 529 # pbconfdir points to the directory where the CMS content of the pbconfurl is checked out 520 530 # If not defined, pbconfdir is under pbdefdir/pbproj/pbconf 521 pbconfdir linuxcoe = $ENV{'HOME'}/LinuxCOE/cvs/pbconf 522 pbconfdir mondorescue = $ENV{'HOME'}/mondo/svn/pbconf 531 pbconfdir: 532 linuxcoe: $ENV{'HOME'}/LinuxCOE/cvs/pbconf 533 pbconfdir: 534 mondorescue: $ENV{'HOME'}/mondo/svn/pbconf 523 535 524 536 # pbdir points to the directory where the CMS content of the pburl is checked out 525 537 # If not defined, pbdir is under pbdefdir/pbproj 526 538 # Only defined if we have access to the dev of the project 527 pbdir linuxcoe = $ENV{'HOME'}/LinuxCOE/cvs 528 pbdir mondorescue = $ENV{'HOME'}/mondo/svn 539 pbdir: 540 linuxcoe: $ENV{'HOME'}/LinuxCOE/cvs 541 pbdir: 542 mondorescue: $ENV{'HOME'}/mondo/svn 529 543 530 544 # -daemonize doesn't work with qemu 0.8.2 531 vmopt default = -m 384 545 vmopt: 546 default: -m 384 532 547 533 548 =head1 COMMAND DETAILS … … 535 550 =head2 newproj 536 551 537 The newproj command creates a new project-builder project. To run this command you first need to define two variables in your ~/.pbrc file:552 The newproj command creates a new project-builder project. To run this command you first need to define two variables in your ~/.pbrc.yml file: 538 553 539 554 pbconfurl I<project> = file:///home/anderse/.git/project-builder-config/I<project> … … 588 603 =item Update your filters and build files. 589 604 590 You probably need to edit the files describing the build steps in one of the $pbdefdir/$project/pbconf/$version/$project/{deb,rpm,pkg} directories and the filters in $pbdefdir/$project/pbconf/$version/pbfilter. Note that you can define additional filters and transform s in the *.pbf files. The build files will be filtered by the filters defined in the *.pbffiles to generate the inputs to the build step. Therefore, if you change those files, you need to re-run the cms2build step.605 You probably need to edit the files describing the build steps in one of the $pbdefdir/$project/pbconf/$version/$project/{deb,rpm,pkg} directories and the filters in $pbdefdir/$project/pbconf/$version/pbfilter. Note that you can define additional filters and transformations in the filters files. The build files will be filtered by the filters defined in the filters files to generate the inputs to the build step. Therefore, if you change those files, you need to re-run the cms2build step. 591 606 592 607 =item Build the package. … … 606 621 =over 4 607 622 608 =item Update ~/.pbrc 609 610 Update your ~/.pbrc file to specify the vepath, velist, velogin, and vetype variables, e.g.: 611 612 vepath default = $ENV{HOME}/cache-project-builder/chroot 613 velist default = debian-6.0-i386 614 velogin default = pb 615 vetype default = chroot 623 =item Update ~/.pbrc.yml 624 625 Update your ~/.pbrc.yml file to specify the vepath, velist, velogin, and vetype variables, e.g.: 626 627 vepath: 628 default: $ENV{HOME}/cache-project-builder/chroot 629 velist: 630 default: debian-6.0-i386 631 velogin: 632 default: pb 633 vetype: 634 default: chroot 616 635 617 636 If you are building for rpm style OS's, update the verpmtype option, and install the appropriate tool. 618 637 619 verpmtype default = rpmbootstrap 638 verpmtype: 639 default: rpmbootstrap 620 640 621 641 You may also choose to specify a mirror for the OS packages, and optionally http/ftp proxies. You can specify the proxies either through environment variables ($http_proxy/$https_proxy/$ftp_proxy) or in the configuration file. The configuration file will be used if no corresponding environment variable has been set. For example, for debian and with a local squid proxy: 622 642 623 rbsmirrorsrv debian = http://mirrors1.kernel.org/debian/ 624 http_proxy default = http://localhost:3128/ 625 https_proxy default = http://localhost:3128/ 626 ftp_proxy default = http://localhost:3128/ 643 rbsmirrorsrv: 644 debian: http://mirrors1.kernel.org/debian/ 645 http_proxy: 646 default: http://localhost:3128/ 647 https_proxy: 648 default: http://localhost:3128/ 649 ftp_proxy: 650 default: http://localhost:3128/ 627 651 628 652 =item Run the cms2build command … … 648 672 You need to have a sshhost entry for setupve to work, so add one, even an invalid one, e.g.: 649 673 650 sshhost $project = foo.example.org 674 sshhost: 675 $project: foo.example.org 651 676 652 677 =item Setup the virtual environment … … 670 695 You need to have a valid sshdir and sshhost entry for build2ve to work, so add them. Note that you need to be able to ssh from the host you run the command on to the repository host, preferably without needing to type in a password, so using ssh-agent or having a special passwordless project-builder ssh key will make this step easier. 671 696 672 sshhost $project = localhost 673 sshdir $project = $home/cache-project-builder/repos 697 sshhost: 698 $project: localhost 699 sshdir: 700 $project: $home/cache-project-builder/repos 674 701 675 702 You may also need to specify additional repository files to use or rpms to install. Note the URL for repositories is not the URL of the repository, but the URL of a file that can be put in the yum.repos.d or apt.sources.d directory. 676 703 677 addrepo centos-5-i386 = http://localhost/pb/centos-extras.repo,http://mirror.centos.org/centos/5/extras/i386/RPMS/chrpath-0.13-3.el5.centos.i386.rpm 704 addrepo: 705 centos-5-i386: http://localhost/pb/centos-extras.repo,http://mirror.centos.org/centos/5/extras/i386/RPMS/chrpath-0.13-3.el5.centos.i386.rpm 678 706 679 707 =item Update your filters and build files 680 708 681 You may need to update your filter files (*.pbf)as in the build2pkg step if you are building for a new OS or architecture.709 You may need to update your filter files as in the build2pkg step if you are building for a new OS or architecture. 682 710 683 711 =item Build the packages and copy them to the repository … … 3384 3412 if (($action eq "build") || ($action eq "prep")) { 3385 3413 print SCRIPT "# Preparation for pb\n"; 3386 print SCRIPT "rm -f \$HOME/.pbrc \n";3387 print SCRIPT "cp .pbrc \$HOME\n";3414 print SCRIPT "rm -f \$HOME/.pbrc.yml\n"; 3415 print SCRIPT "cp .pbrc.yml \$HOME\n"; 3388 3416 # TODO: Why ? 3389 3417 print SCRIPT "cd ..\n";
Note:
See TracChangeset
for help on using the changeset viewer.