Package Forge
Most documentation for the Package Forge service is available at
https://pkgforge.inf.ed.ac.uk/doc/
This page documents the Informatics configuration of the service. It also holds a wishlist for future features/bug fixes.
Common issues
- A package build fails because "One of the configured repositories failed (el7world), and yum doesn't have enough cached data to continue. At this point the only safe thing yum can do is fail"
- The fix is to run
rm -rf /disk/scratch/mock/*; om mock restart
on the affected build host.
Wishlist
In no particular order, here is a list of features it might be nice to add. Feel free to add to the list, preferably with your name and a date.
General:
- When reporting via email the build daemon should show the list of sources attempted and those (if any) which failed.
- If an error occurs and an email report is sent it should contain the error message.
- Command-line support for retrieving build results (packages and log files).
- Ability to set options for a specific build system (e.g. mock/rpmbuild).
- Reports via other mechanisms (e.g. jabber).
- Passive nagios monitoring for the daemons.
- Support for killing mock cleanly if it is running when a build daemon is shutdown.
- Add a QA Testing phase, i.e. runs tests on generated packages (such as rpmlint) after building but before submission.
- Add a package signing phase after QA Testing but before submission
- Ability to use a different package submission tool instead of pkgsubmit (and opt out of submission altogether for individual jobs).
- Support for separate failure "types" depending on where the error occurred (e.g. environment initialisation, build, test, submit stages).
- Add support for a
.tar.gz
source type.
- Add a MacOSX build daemon
- Add support for pluggable validity checkers in the incoming processor. This would allow checking for gpg signed jobs/packages, for instance.
- Add support to lcfg-reltool to submit packages to PkgForge.
- Case-insensitive platform (& bucket?) matching --gdutton
- The 'submit' command ought to display the full URL for the job-view rather than just the top-level website address --gdutton (for squinney)
Website:
- Make it prettier.
- Support for cancelling jobs/tasks before they are attempted.
- Support for retrying failed jobs/tasks when this was due to environment issues (e.g. mock/yum configs or bad packages already in a repository) which have since been fixed.
- The component needs to be able to configure the website.
- The website should have support for uploading jobs.
- RSS feeds listing jobs for each platform.
--
StephenQuinney - 09 Feb 2011