docs: Add documentation for scm_dict
Signed-off-by: Lubomír Sedlář <lsedlar@redhat.com>
This commit is contained in:
parent
cae202c17b
commit
7e03133c8f
3 changed files with 76 additions and 14 deletions
55
doc/scm_support.rst
Normal file
55
doc/scm_support.rst
Normal file
|
|
@ -0,0 +1,55 @@
|
|||
.. _scm_support:
|
||||
|
||||
Exporting files from SCM
|
||||
========================
|
||||
|
||||
Multiple places in Pungi can use files from external storage. The configuration
|
||||
is similar independently of the backend that is used, although some features
|
||||
may be different.
|
||||
|
||||
The so-called ``scm_dict`` is always put into configuration as a dictionary,
|
||||
which can contain following keys.
|
||||
|
||||
* ``scm`` -- indicates which SCM system is used. This is always required.
|
||||
Allowed values are:
|
||||
|
||||
* ``file`` -- copies files from local filesystem
|
||||
* ``git`` -- copies files from a Git repository
|
||||
* ``cvs`` -- copies files from a CVS repository
|
||||
* ``rpm`` -- copies files from a package in the compose
|
||||
|
||||
* ``repo`` -- for Git and CVS backends URL to the repository, for RPM a shell
|
||||
glob for matching package names (or a list of such globs); for ``file``
|
||||
backend this option should be empty (or left out)
|
||||
|
||||
* ``branch`` -- branch name for Git and CVS backends, with ``master`` and
|
||||
``HEAD`` as defaults. Ignored for other backends.
|
||||
|
||||
* ``file`` -- a list of files that should be exported.
|
||||
|
||||
* ``dir`` -- a directory that should be exported. All its contents will be
|
||||
exported. This option is mutually exclusive with ``file``.
|
||||
|
||||
* ``command`` -- defines a shell command to run after Git clone to generate the
|
||||
needed file (for example to run ``make``). Only supported in Git backend.
|
||||
|
||||
|
||||
``file`` vs. ``dir``
|
||||
--------------------
|
||||
|
||||
Exactly one of these two options has to be specified. Documentation for each
|
||||
configuration option should specify whether it expects a file or a directory.
|
||||
|
||||
For ``extra_files`` phase either key is valid and should be chosen depending on
|
||||
what the actual use case.
|
||||
|
||||
|
||||
Caveats
|
||||
-------
|
||||
|
||||
The ``rpm`` backend can only be used in phases that would extract the files
|
||||
after ``pkgset`` phase finished. You can't get comps file from a package.
|
||||
|
||||
Depending on Git repository URL configuration Pungi can only export the
|
||||
requested content using ``git archive``. When a command should run this is not
|
||||
possible and a clone is always needed.
|
||||
Loading…
Add table
Add a link
Reference in a new issue