From Fedora Project Wiki

(update mclazy url)
(mclazy is now archived project)
 
(14 intermediate revisions by 6 users not shown)
Line 1: Line 1:
<!-- page was renamed from Extras/UsefulScripts
<!-- page was renamed from Extras/UsefulScripts
-->
-->
= Scripts that wrap fedpkg =
= 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.
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 layered on top of fedpkg/koji.
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.
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.
Line 11: Line 11:
=== tito ===
=== tito ===


http://rm-rf.ca/tito
https://github.com/dgoodwin/tito


Probably the most advanced layered tool; spec file changelog generation, interaction with koji.
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|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'''.
=== fedobuild ===
https://pagure.io/fedobuild/
=== rebase-helper ===
https://github.com/rebase-helper/rebase-helper
A project which intends to help package maintainers in Fedora with rebasing their packages.


=== rdopkg ===
=== rdopkg ===


https://github.com/redhat-openstack/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
Used by Red Hat/OpenStack: https://openstack.redhat.com/Main_Page
=== gofed ===
For golang: https://github.com/gofed/gofed/


=== anaconda/scripts/makebumpver ===
=== anaconda/scripts/makebumpver ===


https://git.fedorahosted.org/cgit/anaconda.git/tree/scripts/makebumpver
https://github.com/rhinstaller/anaconda/blob/master/scripts/makebumpver


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


=== mclazy ===
https://github.com/hughsie/mclazy
Pulls tarballs, edits spec files, interacts with chain-build.
=== rebase-helper ===
https://github.com/phracek/rebase-helper


=== the-new-hotness ===
=== the-new-hotness ===
Line 44: Line 65:


https://github.com/pypingou/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


[[Category:Package Maintainers]]
[[Category:Package Maintainers]]

Latest revision as of 23:29, 16 June 2023

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.

fedobuild

https://pagure.io/fedobuild/

rebase-helper

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

A project which intends to help package maintainers in Fedora with rebasing their packages.

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.


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