How does...?

Mike McLean mikem at redhat.com
Mon Apr 23 18:01:09 UTC 2012


On 04/20/2012 12:34 PM, Moray Henderson wrote:
> So basically I'd really like to know the steps that Fedora's Koji goes
> through to build packages like anaconda - which has an old Makefile, and has
> no URL to say where to find the sources.

The allowed_scms option in kojid specifies which scms can be used and 
how kojid should use them. The format of the option is:

"""
a space-separated list of host:repository[:use_common[:source_cmd]] 
tuples.  Incorrectly-formatted tuples will be ignored.

If use_common is not present, kojid will attempt to checkout a common/ 
directory from the repository.  If use_common is set to no, off, false, 
or 0, it will not attempt to checkout a common/ directory.

source_cmd is a shell command (args separated with commas instead of 
spaces) to run before building the srpm. It is generally used to 
retrieve source files from a remote location.  If no source_cmd is 
specified, "make sources" is run by default.
"""

So...
- if you were using an old dist-cvs setup, you'd set use_common to yes 
and leave source_cmd as the default.
- with a dist-git setup, you'd set use_common to no and source_cmd to 
fedpkg,sources
- for simpler setups, you might simply set use_common to no, leave 
source_cmd as the default, and ensure that each package to be built 
includes a Makefile with a sources target that does the right thing.

Which of these options is best depends greatly on your situation.


More information about the buildsys mailing list