Hit Lists - Packaging workflow for the weekend contributor
Overview
Right now to become a Fedora contributor, one needs to become a packaging expert. Everyone who gets through this gauntlet has their own workflow but still more people give up because the process is so daunting. Hit Lists is a project born out of the Fedora Community belief that by streamlining workflow while using the tools we have, we can get more people to participate and produce higher quality packages. We are calling this Hit Lists because instead of targeting seasoned packagers who already have their own workflow, we are targeting the casual contributor who might want to fix a quick bug or try out new packages and then submit the results for review. It is the hope that by lowering the barrier to contributing will give users a greater sense of inclusion in Fedora, as well as drawing them into longer term roles such as maintaining new packages.
Focus
Hit Lists revolves around streamlining three areas of packaging:
- Creating and proposing new packages as well as their dependencies
- Updating packages to their latest version
- Fixing bugs in packages
Web UI
Hit Lists will be integrated into the Fedora Community package maintenance UI. Fedora Community will be expanded to provide quick views into packages as well as adding status messages for all the active branches. For instance, prominent bugs will be highlighted and automated package review reports posted. If there is a dependency issue or the spec file doesn't pass rpmlint muster we can show those issues within the UI.
The Web UI will also provide alerts for things like manual package reviews where another developer must sign off before a package is added to Fedora's main repositories.
Some other possible features:
- a web based IDE for quick edits of spec files which would then generate a patch and bug report for the maintainer to review
- personal repo management for testing out new packages or fixes before they go into Fedora's main repos
Fedora Integration
Not everything can be done via the Web. In order to provide a complete workflow we must bridge the gap between the Desktop and the Web. The main focus here will be easy access to our repositories through plugins to the user's file manager as well as patch management and new package generation.
The file manager plugin should provide UI for searching Fedora PackageDB and pulling down the package CVS files from our servers. Patch management could be handled by creating a local git repo which we pull changes out of and provide UI to either submit to a bug report or update package CVS directly (if the user has the permission to do so). We would also provide a method to pull patches directly from a bug report and apply it, as well as providing a way to refactor a spec file to add and remove patches.
Some other possible features:
- Eclipse/ide integrations - automatically generate workspaces/project files; upload/download directly from the IDE
- Browser plugin (needs security consideration) - click a button on the Web UI to setup a local copy of the package CVS files or submit changes done on the local copy
Design
Forthcoming