I am trying to expand my knowledge on RPM building, I have followed the Fedora Packaging Guidelines and the RPM Packaging Guide. Both are good resources, but I’m trying to take my custom RPM’s to the next level and develop a good workflow and best practices.
- Use existing Fedora packages for the reference, e.g. GDM, USBGuard, tcpdump, etc.
- Learn how to automate building and publishing RPM packages with Fedora Copr.
If you package software that is still actively developed, you might want to set up some way to check for upstream updates. Especially once you have a few packages, and they are on different repository hosting sites, it’s time consuming to check one by one.
You can write a simple script, for example, fetch upstream latest tag and compare against the version in the spec file (or that you stored somewhere), and email/notify you if different. One way to organise it is have an individual script for each spec file / package, then a master script to call the other scripts, and a timer/cronjob to run the master script.
A tip for this, you can query git refs without cloning/fetching the repo:
$ git ls-remote --tags https://git.savannah.gnu.org/git/hello.git
Alternatively, you can use anitya to do the monitoring for you and access it by web API.