diff options
author | Zhang Qiang <qiang.z.zhang@intel.com> | 2014-04-03 15:53:09 +0800 |
---|---|---|
committer | Zhang Qiang <qiang.z.zhang@intel.com> | 2014-04-03 15:53:09 +0800 |
commit | b979ae3b9b879ce19582770e2ba89eb3e66f964a (patch) | |
tree | 758e7684bbaa43d8899ccbc49b133ff0112d3a88 /build.1 | |
download | build-b979ae3b9b879ce19582770e2ba89eb3e66f964a.tar.gz build-b979ae3b9b879ce19582770e2ba89eb3e66f964a.tar.bz2 build-b979ae3b9b879ce19582770e2ba89eb3e66f964a.zip |
Imported Upstream version 2013.11.12upstream/2013.11.12
Diffstat (limited to 'build.1')
-rw-r--r-- | build.1 | 169 |
1 files changed, 169 insertions, 0 deletions
@@ -0,0 +1,169 @@ +.de TQ \"follow a TP item with several TQ items to define several +. \"entities with one shared description. +.br +.ns +.TP \\$1 +.. +.TH build 1 "(c) 1997-2008 SuSE Linux AG Nuernberg, Germany" +.SH NAME +build \- build SuSE Linux RPMs in a chroot environment +.SH SYNOPSIS +.B build +.RB [ --clean | --no-init] +.RB [ --rpms +.IR path1 : path2 : ... ] +.RB [ --arch +.IR arch1 : arch2 : ... ] +.RB [ --root +.IR buildroot ] +.RB [ specfile | srcrpm ] +.br +.B build +.B --help +.br +.B build +.B --verify +.SH DESCRIPTION +\fBbuild\fR is a tool to build SuSE Linux RPMs in a safe and clean way. +.B build +will install a minimal SuSE Linux as build system into some directory +and will chroot to this system to compile the package. +This way you don't risk to corrupt your working system (due to a broken spec +file for example), even if the package does not use BuildRoot. + +.B build +searches the spec file for a +.I BuildRequires: +line; if such a line is found, all the specified rpms are installed. +Otherwise a selection of default packages are used. Note that +.B build +doesn't automatically resolve missing dependencies, so the specified +rpms have to be sufficient for the build. +.P +If a spec file is specified on the command line, +.B build +will use this file and all other files in the directory for building +the package. If a srcrpm is specified, +.B build +automatically unpacks it for the build. +If neither is given, +.B build +will use all the specfiles in the current directory. +.P +.SH OPTIONS +.TP +.B --clean +remove the build system and reinitialize it from scratch. +.TP +.B --no-init +skip the build system initialization and start with build immediately. +.TP +.B --list-state +list rpms that would be used to create a fresh build root. +Does not create the build root or perform a build. +.TP +.BI "\-\-rpms " path1 : path2 : path3\fR...\fP +Where build can find the SuSE Linux RPMs needed to create the +build system. This option overrides the BUILD_RPMS environment +variable. +.TP +.BI "\-\-arch " arch1 : arch2 : arch3\fR...\fP +What architectures to select from the RPMs. +.B build +automatically sets this to a sensible value for your host if you +don't specify this option. +.TP +.BI "\-\-repo " url_or_dir +Also use the specified repository to create the build system. +The repositories may be either of type rpmmd, yast2 (susetags), +or a simple directory. Multiple --repo options may be given. +As a special form, 'zypp://reponame' can be used to specify +a system repository. 'zypp://' selects all enabled system +repositories. This is also the default if BUILD_RPMS is not +set and no --rpms or --repo option is used. +.TP +.BI "\-\-root " buildroot +Specifies where the build system is set up. Overrides the +BUILD_ROOT enviroment variable. +.TP +.B --useusedforbuild +Tell build not to do dependency expansion, but to extract the +list of packages to install from "# usedforbuild" lines or, if none +are found, from all "BuildRequires" lines. This option is useful +if you want to re-build a package from a srcrpm with exactly the +same packages used for the srcrpm build. +.TP +.B --norootforbuild + +.TP +.B --help +Print a short help text. +.TP +.B --verify +verify the files in an existing build system. +.TP +.BI "\-\--dist " distribution +Set the distribution. If this option is not given, build tries to +calculate the distribution by looking at the rpm package used in the +build. +The specified distribution can either be a string +like "11.2" or "sles9", or the pathname of the build configuration to +use. + +.SH .spec FILE OPTIONS +The +.B build +command interprets some special control comments in the specfile: +.TP +.B # norootforbuild +.TQ +.B # needsrootforbuild +.B build +uses either user +.I root +or user +.I abuild +in the build system to do the build. For non-SUSE distros as well as +since SUSE 10.2, the default build user is +.I abuild. +For 10.2 and before, the default build user is +.I root. +These two flags in the spec file allow to deviate from the defaults +and force-set the build user to +.I abuild +and +.I root +.RI "(for " "#\ norootforbuild" " and " "#\ needsrootforbuild" " respectively." +.TP +.B # needsbinariesforbuild +provide the binary rpms that have been used to set up the build root +in +.I /.build.binaries +within the build root. +.SH ENVIRONMENT +.TP +.B BUILD_ROOT +The directory where build should install the chrooted build system. +"/var/tmp/build-root" is used by default. +.TP +.B BUILD_RPMS +Where build can find the SuSE Linux RPMs. build needs them to create the +build system. +.TP +.B BUILD_RPM_BUILD_STAGE +The rpm build stage (-ba, -bb, ...). This is just passed through to +rpm, check the rpm manpage for a complete list and descriptions. +"-ba" is the default. +You can use this to add more options to RPM. + +.SH SEE ALSO +.BR rpm (8), +.TP +.BR "Maximum RPM": +.I http://www.rpm.org/max-rpm/ +.TP +.BR "cross distribution packaging": +.I http://en.opensuse.org/openSUSE:Build_Service_cross_distribution_howto +.TP +.BR "openSUSE packaging standards and guidelines": +.I http://en.opensuse.org/Portal:Packaging |