Manage an overlay repository of RPMs from upstream git.
$ python3 -m unittest discover tests/
$ sudo dnf copr enable rpmsoftwaremanagement/rpm-gitoverlay
$ sudo dnf install rpm-gitoverlay
- Create
overlay.yml
file (see reference below) - Build: Every option is self-discoverable, just run
rpm-gitoverlay --help
Parameter | Required | Type | Comments |
---|---|---|---|
aliases | no | list | List of aliases, same as url.<base>.insteadOf in git |
chroot | yes | str | Chroot name (will be used for building RPMs |
components | yes | list | List of component and settings to build in overlay |
Parameter | Required | Type | Comments |
---|---|---|---|
name | yes | str | Prefix |
url | yes | str | URL |
Parameter | Required | Type | Comments |
---|---|---|---|
name | yes | str | Name of component (e.g. libsolv ) |
git | no | dict | Settings for upstream git repository |
distgit | no | dict | Settings for distro/RPM specific git repository |
You must set one or both from git
/distgit
.
- If you set only
git
: it will use<name>.spec
from top directory of git repo and make archive fromgit
repo - If you set only
distgit
: it will rebuild component from distgit - If you set both
git
anddistgit
: it will use<name>.spec
fromdistgit
and make archive fromgit
repo
Parameter | Required | Type | Comments |
---|---|---|---|
src | yes | str | URL to git repo (can use aliases set above) |
freeze | no | str | Commit to freeze repo on |
branch | no | str | Branch to freeze repo on |
latest-tag | no | bool | Find latest tag from used branch and use it |
spec-path | no | str | Path to spec file (relative from top-dir) |
freeze
orbranch
can be used at the same timefreeze
orlatest-tag
can be used at the same time
In case latest-tag
is True
and there are no git tags in used branch - exception will be raised.
Parameter | Required | Type | Comments |
---|---|---|---|
patches | no | str | What to do with patches: keep (default), drop |
type | no | str | What type of distgit it is?: auto (default), dist-git , git-lfs , git |
Plus all parameters from git
structure except latest-tag
and spec-path
.
---
aliases:
- name: github
url: https://github.com/
- name: fedorapkgs
url: git://pkgs.fedoraproject.org/rpms/
chroot: fedora-24-x86_64
components:
- name: libsolv
git:
src: github:openSUSE/libsolv.git
distgit:
src: fedorapkgs:libsolv.git
- name: libhif
git:
src: github:rpm-software-management/libhif.git