************************ elbe-pbuilder ************************ .. __name: NAME ==== elbe-pbuilder - High Level Interface to the ELBE Package Build System. Allows one to create a package builder for a project and to build Debian packages. .. __synopsis: SYNOPSIS ======== :: elbe pbuilder build [--project | --xmlfile ] elbe pbuilder create [--project | --xmlfile ] [--writeproject ] .. __description: DESCRIPTION =========== Creates a pbuilder for a specified project and builds the Debian package like pbuilder, but for the configured ELBE project. .. __options: OPTIONS ======= --project *key* (/var/cache/elbe/ for the project inside the initvm to use. Use *elbe control list_projects* to get a list of the available projects. Another option would be to use the --writeproject option, when the pbuilder is created. --xmlfile This file is used to create a new ELBE project including the pbuilder environment. --cpuset When this value is not -1 (the default), the pbuilder is run using *taskset * which allows one to limit the number of cpus used for the build. This is useful when multithreading and qemu-user yield problem with e.g. java. --profile string Specify the build profile(s) to build. (dpkg-buildpackage -P) Provide multiple profiles as a comma separated list. --cross Combined with the create command it creates a chroot environment to make crossbuilding possible. Combined with the build command it will use this environment for crossbuilding. --no-ccache The compiler cache *ccache* is activated by default. Use this option with the *create* command to deactivate it. --ccache-size Use this option to configure the limit of the compiler cache. Should be a number followed by an optional suffix: k, M, G, T. Use 0 for no limit. .. __xml_options: XML OPTIONS =========== --variant comma separated list of variants --proxy add proxy to mirrors .. __commands: COMMANDS ======== *create* A pbuilder environment for the given project or xml File will be created. If --cross is given the pbuilder environment will be created to crossbuild packages. (If --cross is given with the create command you have to use --cross with the build command also.) The compiler cache ``ccache`` gets installed by default to speed up recompilations. To deactivate use ``--no-ccache`` with the create command. It is possible to change the size with ``--ccache-size `` where string should be a number followed by an optional suffix: k, M, G, T. For no limit use 0. *build* Build the *Debianized Project* in the current working directory. (A valid ./debian directory needs to exist.) If --project was specified, the specified build environment will be used. If --xmlfile is specified, a new build environment will be created for the given ELBE XML File, and the *Debianized Project* in the current working directory will be built. The result of the package build is stored in ../ like pbuilder does. .. __notes: NOTES ===== In this benchmark all opportunitys for creating a pbuilder environment and building a package with it were tested. All environments were created with the *armhf-ti-beaglebone-black.xml* example and with cross, ccache, no-cross or no-ccache in all possible variations. The build command was tested with the zlib package. All times are real-time captures. The build command with ccache was tested twice to see the impact of ccache. pbuilder no-ccache create 6m35,003s pbuilder no-ccache build 7m19,467s pbuilder no-ccache cross create 4m2,553s pbuilder no-ccache build 2m39,151s pbuilder ccache create 6m44,117s pbuilder ccache build 1. 7m36,130s 2. 4m47,050s pbuilder ccache cross create 4m4,190s pbuilder ccache cross build 1. 2m40,159s 2. 2m32,650s .. __examples: EXAMPLES ======== - Build a pbuilder for *myarm.xml*. Save project name into myarm.prj :: # elbe pbuilder create --xmlfile myarm.xml --writeproject myarm.prj - Use the pbuilder we have built, to build *program*, using the prj File generated in parent directory :: # cd program # elbe pbuilder build --project `cat ../myarm.prj` - Use the pbuilder we have built, to build *program*, using the prj File generated in parent directory. And don’t use more than one CPU as a workaround for qemu-user and java problems. :: # cd program # elbe pbuilder build --project `cat ../myarm.prj` --cpuset 1 .. __see_also: SEE ALSO ======== elbe-control1 elbe-initvm1 pdebuild1 .. __elbe: ELBE ==== Part of the elbe1 suite