User:Tibbs/Packager and Package Care

From FedoraProject

Jump to: navigation, search

This document is an outline of the duties of an entity within the Fedora project overseeing the care of packagers and packages within the distribution.

Contents

Scope of committee/SIG involvement

The committee/SIG should be involved in all phases of both packager and package lifetime. This basically amounts to refining proposals and directing what effort is available towards implementing them.

Packagers and packages go through several stages together:

Packages also go EOL or are handed off to others. Packagers start in a non-sponsored state and have their status upgraded and will occasionally leave the project.

The committee/SIG should oversee all of this, resolving disputes where necessary, identifying bottlenecks or problem areas and directing effort at solving them. Disputes can occur at almost any stage of the process, and the committee needs to be prepared to step in wherever necessary.

Per-sponsorship and initial review

New packagers must go through a somewhat arduous process over and above the difficulty of learning how to actually package software. Our procedures are extremely front-loaded; the procedure gets simpler once a package is in but initially it's pretty tough to navigate. Some of this (such as the new account and CLA process) is beyond the scope of packager care and has gotten much easier lately, but we still have several complicated processes involved.

Users basically have to post a package somewhere, and create a review ticket. They have to manually set up things like the NEEDSPONSOR blocker.

This breaks down for several reasons:

Some ideas for helping:

For the packager's second and further packages, things get simpler. They've seen the process, generally know how to use koji and may know how to do a scratch build. They don't have to wait for a sponsor. However, they do still have to wait for a review, and reviews are complicated in any case.

Proposal:

Note: We have qa-assistant in the repo already which does some of this. I'm not sure how current it is in regards to our guidelines since I haven't used it in quite awhile. - bpepple

CVS admin and checkin

This isn't terribly complicated; it would be nice to reduce the round-trip through the CVS admin (perhaps by allowing the reviewer to initiate the CVS admin bit themselves) but currently this happens pretty quickly.

We do have nothing in place to ensure the package which was reviewed is the one that is checked in. After checkin all changes are logged and broadcasted but this is a significant window where anything can happen. If the reviewer did the CVS admin as above, they could also do the initial checkin.

Package build and push

These are pretty good at the moment; make update really helps. Some might perhaps wish for a GUI wrapped around the process, but I don't see this as a priority.

Maintenance

The triage team is going a good job of helping out with bugs; they could certainly use more help but I don't see much else that could be done.

Currently there's not too much in the way of post-commit review. We have the FTBFS system which has recently come up helping somewhat, and various reports about broken dependencies, upgrade paths, Source: URLs and such. These are all good and they do help, but we certainly need more. Periodic rpmlint runs would be nice (with an opt-out mechanism, for either specific complaints or the whole thing) and periodic re-reviews would be great if the new package review queue was down at 20 instead of 800. Definitely open to suggestions here.

FESCo has already approved various responsibility policies relating to package maintenance.

Packager promotion

General issues