Mock

From FedoraProject

(Difference between revisions)
Jump to: navigation, search
(cleanup page and add the current reference)
(delete this page)
 
(47 intermediate revisions by 7 users not shown)
Line 1: Line 1:
{{autolang|base=yes}}
 
  
= Mock =
 
  
Mock creates chroots and builds packages in them. Its only task is to reliably populate a chroot and attempt to build a package in that chroot.
+
= This page is not maintained anymore. It has been moved to https://github.com/rpm-software-management/mock/wiki =
 
+
== Status ==
+
Mock is currently being used for all Fedora builds. It is called by [[Koji]] to build chroots and packages.
+
 
+
== Download ==
+
https://fedorahosted.org/mock/ has all the latest builds.  It can be installed with "yum install mock".
+
 
+
To check out the current code:
+
* <code>git clone git://git.fedorahosted.org/git/mock.git mock</code>
+
 
+
== Setup ==
+
All users that are to use mock must be added to the 'mock' group.
+
 
+
<code>usermod -a -G mock [User name] && newgrp mock</code>
+
 
+
Configuration files are in /etc/mock.  Mock versions 0.8.0 and higher cache the downloaded rpm packages (via the yum_cache plugin), which speeds up subsequent builds by a considerable margin. Nevertheless, you may wish to change the default configuration to point to local repositories to speed up builds.
+
 
+
By default, builds are done in /var/lib/mock, so be sure you have room. Starting with mock 0.8.0 and higher, you can change this via the 'basedir' config option.
+
 
+
== Using Mock outside your git sandbox ==
+
Create your SRPM using 'rpmbuild -bs'. Then change to the directory where your srpm was created.
+
 
+
Now you can start mock with
+
 
+
<code>mock -r <configname> rebuild package-1.2-3.src.rpm</code>
+
 
+
where <configname> is the name of a configuration from /etc/mock/, without the /etc/mock path prefix and without the .cfg suffix.
+
 
+
If using mock version older than 0.8.8 or on a system with python 2.4, and building i386 packages on x86_64, prepend setarch i386 to the mock command line: setarch i386 mock -r <configfile> rebuild package-1.2-3.src.rpm. Newer versions of mock no longer need the setarch command, although it does not hurt anything if it is there.
+
 
+
Note that you can track the progress of mock using the logs stored in <code>/var/lib/mock/<configfile>/result</code>
+
 
+
== Problems ==
+
If you encounter a bug running mock, please file it in [https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&component=mock Bugzilla], product "Fedora", component mock ([https://bugzilla.redhat.com/buglist.cgi?query_format=advanced&product=Fedora&component=mock&bug_status=NEW&bug_status=ASSIGNED&bug_status=MODIFIED&bug_status=ON_DEV&bug_status=ON_QA&bug_status=VERIFIED&bug_status=FAILS_QA&bug_status=RELEASE_PENDING&bug_status=POST Open Bugs]).
+
 
+
If your problem is specific to EPEL, then [https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora%20EPEL&component=mock file it] against the "Fedora EPEL" product instead ([https://bugzilla.redhat.com/buglist.cgi?query_format=advanced&product=Fedora%20EPEL&component=mock&bug_status=NEW&bug_status=ASSIGNED&bug_status=MODIFIED&bug_status=ON_DEV&bug_status=ON_QA&bug_status=VERIFIED&bug_status=FAILS_QA&bug_status=RELEASE_PENDING&bug_status=POST Open Bugs]).
+
 
+
== See Also ==
+
 
+
* [[Using_Mock_to_test_package_builds]]  has some useful tips for using mock.
+
* [[Docs/Drafts/MockSetupUsingLocalMirror]]  Setting up a local mirror using Mock.
+
* [[Legacy/Mock]]  has some useful tips for building packages in mock for older Fedora and Red Hat Linux releases.
+

Latest revision as of 11:36, 11 October 2016


[edit] This page is not maintained anymore. It has been moved to https://github.com/rpm-software-management/mock/wiki