From Fedora Project Wiki

(Created page with "<!-- page was renamed from Extras/UsefulScripts --> = Scripts that wrap fedpkg = fedpkg interacts with only one package, whereas the reality is many maintainers work with mul...")
 
m (correct info about rebase-helper)
 
(22 intermediate revisions by 5 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.
 +
 
 +
=== 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|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 ===
 
=== 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.
Line 15: Line 59:
 
=== mclazy ===
 
=== mclazy ===
  
https://gitorious.org/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
  
Syncs from GNOME ftp via tarballs.  Builds many packages.  Also has code for interacting with COPR.
+
=== dgroc ===
  
=== tito ===
+
https://github.com/pypingou/dgroc
 +
 
 +
=== Cockpit (cockpituous) ===
  
http://rm-rf.ca/tito
+
https://github.com/cockpit-project/cockpituous/tree/master/release
  
Probably the most advanced layered tool.
+
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 12:59, 20 August 2018

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.

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