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.ymlfile (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>.specfrom top directory of git repo and make archive fromgitrepo - If you set only
distgit: it will rebuild component from distgit - If you set both
gitanddistgit: it will use<name>.specfromdistgitand make archive fromgitrepo
| 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) |
freezeorbranchcan be used at the same timefreezeorlatest-tagcan 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