Layered build scripts for package maintainers

From FedoraProject

Jump to: navigation, search

Contents

Tools for package automation

fedpkg interacts with only one package, whereas the reality is many maintainers work with multiple RPMs, often with inter-build dependencies, from potentially multiple source code locations.

This page is attempting to gather together lists of scripts and tools which edit spec files programmatically and are either layered on top of fedpkg/koji/copr, or act as a more agile bypass.

Hopefully, you will find one of these tools useful. However, the author of this page has as a real motivation arguing that the underlying infrastructure should support some of this directly.

tito

https://github.com/dgoodwin/tito

Probably the most advanced layered tool; spec file changelog generation, interaction with koji.

rpmdistro-gitoverlay

https://github.com/cgwalters/rpmdistro-gitoverlay

A tool that helps build a series of packages from upstream git; can be run locally as a developer tool, or as an unattended continuous delivery mechanism.

rpm-gitoverlay

https://github.com/ignatenkobrain/rpm-gitoverlay

Project is the same as rpmdistro-gitoverlay, but has different code base, python 3 support, building in COPR, documentation and tests.

Unfortunately it is python 3.5+ only. Also currently it supports building RPMs only through COPR when rpmdistro-gitoverlay supports building only through mock.

rebase-helper

https://github.com/phracek/rebase-helper

Project which intends to help package maintainers in Fedora with rebasing their packages. It is also integrated with the Upstream Release Monitoring service.

rdopkg

https://github.com/redhat-openstack/rdopkg And the newer https://github.com/yac/pwnpkg

Used by Red Hat/OpenStack: https://openstack.redhat.com/Main_Page

gofed

For golang: https://github.com/gofed/gofed/

anaconda/scripts/makebumpver

https://github.com/rhinstaller/anaconda/blob/master/scripts/makebumpver

Interacts with upstream git + Bugzilla, generates spec file data.

mclazy

https://github.com/hughsie/mclazy

Pulls tarballs, edits spec files, interacts with chain-build.

the-new-hotness

https://github.com/fedora-infra/the-new-hotness

dgroc

https://github.com/pypingou/dgroc

Cockpit (cockpituous)

https://github.com/cockpit-project/cockpituous/tree/master/release

Delivery scripts for Cockpit: build tarball, koji, copr, dockerhub, bodhi, documentation to http, debian, ubuntu-ppa