Man Linux: Main Page and Category List

NAME

       mock - build SRPMs in a chroot

SYNTAX

       mock  [options] --rebuild SRPM [SRPM...]

       mock  [options] --chroot <cmd>

       mock  [options] {--init|clean|shell}

       mock  [options] --installdeps {SRPM|RPM}

       mock  [options] --install PACKAGE

       mock  [options] --update

       mock  [options] --orphanskill

       mock  [options] --copyin path [path...] destination

       mock  [options] --copyout path [path...] destination

DESCRIPTION

       Mock  is  a simple program that will build source RPMs inside a chroot.
       It doesn’t do anything terribly fancy other than populate a chroot with
       the  contents  specified  by a configuration file, then build any input
       SRPM(s) in that chroot.

       The content of a chroot is specified  by  the  configuration  specified
       with    the    -r   option.   The   default   configuration   file   is
       /etc/mock/default.cfg, which  is  usually  a  symlink  to  one  of  the
       installed configurations.

       There  is  a site-wide configuration file, /etc/mock/site-defaults.cfg,
       which can be used to specify site-wide options. The shipped version  of
       this  file  has  no  active options, but does have a list of all of the
       configuration options, examples of how to set them, and  their  default
       values.

       For  backwards  compatibility,  old-style commands, ("rebuild", "init",
       "clean", etc.)  without  leading  ’--’  are  still  accepted,  but  are
       deprecated.  See  COMMANDS  section, below, for detailed listing of all
       commands.

COMMANDS

       --clean
              Purge the chroot tree

       --init Initialize a chroot (clean, install chroot packages, etc.)

       --rebuild
              If no command is specified, rebuild  is  assumed.  Rebuilds  the
              specified  SRPM(s). The buildroot is cleaned first, unless --no-
              clean is specified.

       --shell
              Run the specified command interactively within the chroot (which
              must  already  be initialized -- no ’clean’ is performed). If no
              command specified, /bin/sh is run.

       --chroot
              Run the specified command non-interactively  within  the  chroot
              (which  must already be initialized -- no ’clean’ is performed).
              Command output will be sent to the log files.

       --installdeps
              Find out deps for SRPM or RPM, and do a yum install to put  them
              in  the  buildroot.  Buildroot must already be initialized -- no
              ’clean’ is performed

       --install
              Do a yum install PACKAGE inside the  buildroot.  Buildroot  must
              already be initialized -- no ’clean’ is performed

       --update
              Do  a yum update inside the buildroot. Buildroot must already be
              initialized -- no ’clean’ is performed

       --orphanskill
              No-op mode that  simply  checks  that  no  stray  processes  are
              running  in  the chroot. Kills any processes that it finds using
              specified root.

       --copyin
              Copies the source paths (files  or  directory  trees)  into  the
              chroot at the specified destination path.

       --copyout
              Copies  the  source  paths  (files  or directory trees) from the
              chroot to the specified destination path.

OPTIONS

       -r CHROOT, --root=CHROOT
              Uses   specified   chroot   configuration    as    defined    in
              /etc/mock/<chroot>.cfg.  If  none  specified,  uses  the  chroot
              linked to by /etc/mock/default.cfg

       --offline
              Run in ’offline’ mode where we tell ’yum’ to run completely from
              local  cache. Also disables cache expiry for the mock yum cache.

       --no-clean
              Do not clean chroot before building package.

       --cleanup-after
              Clean chroot after building. Use with --resultdir.  Only  active
              for ’--rebuild’.

       --no-cleanup-after
              Don’t  clean  chroot  after  building.  If  automatic cleanup is
              enabled, use this to disable.

       --target=ARCH
              This argument is passed to rpmbuild to specify the  target  arch
              to  build.  It  defaults to whatever is specified for --arch, or
              whatever    is    specified    in    the    config    file    as
              config_opts[’target_arch’].

       --arch=ARCH
              Calls  the  linux  personality()  syscall  to tell the kernel to
              emulate a secondary architecture.  For  example,  building  i386
              packages on an x86_64 buildhost.

       -D "MACRO EXPR", --define="MACRO EXPR"
              Specify  macro  definitions used for the build.  This option may
              be used multiple times, just as the rpmbuild --define option can
              be.  For example:

              --define "with_extra_cheese 1" --define="packager Monkey"

       --with=OPTION
              Enable  configure  OPTION  for  build.   This option may be used
              multiple times.  For example:

              --with=extra_cheese

       --without=OPTION
              Disable configure OPTION for build.  This  option  may  be  used
              multiple times.  For example:

              --without=anchovies

       --resultdir=RESULTDIR
              Change directory where resulting files (RPMs and build logs) are
              written. Resultdir can contain python-string  substitutions  for
              any variable in the chroot config. For example:

              --resultdir=./my/"%(dist)s"/"%(target_arch)s"/

       --uniqueext=text
              Arbitrary,  unique  extension  to  append to buildroot directory
              name

       --configdir=CONFIGDIR
              Change directory where config files are found

       --rpmbuild_timeout=SECONDS
              Fail build if rpmbuild takes longer than ’timeout’ seconds

       --unpriv
              Drop privileges before running command when using --chroot

       --cwd=DIR
              Change to the  specified  directory  (relative  to  the  chroot)
              before running command when using --chroot

       -q, --quiet
              Be quiet.

       -v, --verbose
              Output verbose progress information.

       --trace
              Enables  verbose  tracing  of  function enter/exit with function
              arguments and return codes. Useful for debugging mock itself.

       -h, --help
              Show usage information and exit.

       --version
              Show version number and exit.

FILES

       /etc/mock/ - default configuration directory

       /var/lib/mock - directory where chroots are created

EXAMPLES

       To rebuild test.src.rpm under the default chroot.  The output RPMs will
       be placed under /var/lib/mock/CHROOT/results/ by default.

            mock --rebuild /path/to/your.src.rpm

       To specify a different chroot, which must be defined in /etc/mock/. The
       argument to -r is the  name  of  the  file  in  /etc/mock  without  the
       trailing .cfg.

            mock -r fedora-8-i386 --rebuild /path/to/your.src.rpm

       To  specify  a different chroot and place the output RPMs and logs in a
       specified location.

            mock       -r        fedora-8-i386        --resultdir=./my-results
            /path/to/your.src.rpm

BUGS

       To report bugs in mock, go to:

            http://bugzilla.redhat.com/bugzilla.

       Select  the  query  option,  using  product  Fedora Hosted Projects and
       component mock and press the Start Search button. If  there  is  a  bug
       similar  to  the  one  you  are  seeing,  add  your  information to the
       comments. If not, go to the new bug page using  the  same  product  and
       component and fill in the form.

AUTHORS

       Michael Brown <mebrown@michaels-house.net>

       Clark Williams <williams@redhat.com>

       Seth Vidal <skvidal@linux.duke.edu>

       and a cast of...tens

SEE ALSO

       yum(8) rpmbuild(8) http://fedoraproject.org/wiki/Projects/Mock