Xorg 7: The new world order
Adam Jackson
ajax at nwnk.net
Thu Dec 22 11:37:45 PST 2005
On Thursday 22 December 2005 02:21, Kean Johnston wrote:
> If you can precis what exactly the RM job will entail I'd be
> interested in stepping up to the plate.
Good question!
A lot of this will depend on the style of the RM themselves, but I think
there's some themes we can identify here. From sort of the management level,
it looks like:
- Set a schedule
- Compile the set of appropriate fixes
- Manage marshalling them into the tree
- Establish a testing process
- Press release, wiki updates, etc.
Scheduling is something of a black art. Since the stable branches are
probably going to go into updates/service packs/etc. for the different
distributors, there may be a common timeframe that works well for the
majority of the interested parties. The RM will probably need to figure that
out, which can be tricky since those schedules aren't always public
information. The advice I'd give here is pick one and stick with it, and if
that means rejecting some patches or being inconvenient for someone's
schedule, oh well. Distro versions are always going to diverge anyway.
The usual approach taken for stable series' is that if there's not a patch
around to address the problem, then it's not serious enough to try to fix in
the stable tree. For 6.8.2 we did a lot of diff reduction relative to the
various vendor trees. Debian, Red Hat, SuSE, etc. all had long lists of
patches they applied to their released versions, and many of them had been
shared back and forth over the years, so those sorts of fixes went in without
much contention.
So the hard part is determining what sorts of changes are sufficiently
low-impact for a given release train. Security updates pretty much always
qualify, as do fixes for crashes, nonconformance, etc. Device support is a
bit of a gray area, it sort of depends on how much impact it would have on
the rest of the tree. Personally I'd say 6.8.x shouldn't be seeing any new
device support, and 6.9 should only get new device support if adding it is a
matter of just adding the PCI IDs, but I'm hardline like that. Again, some
politics here to work out what's acceptable to all the players.
You'll need some sort of workflow for getting these issues tracked and merged.
My suggestion would be to use the patch approval flags in bugzilla, with
unique bug IDs for each bug (ie, not the same bug for both HEAD and 6.9.1).
Bugzilla 2.20 has a lovely "clone" feature that makes it easy to take an
issue relative to one release train and retarget it at another one, and I'd
like to get 2.20 installed in the next month or so. In the absense of that,
just open new bugs pointing back at the original one, either in the URL field
or in the initial description, with the Milestone field set to 6.8.3 or 6.9.1
(if the appropriate milestone doesn't exist, poke me and I'll make it exist).
To avoid regressions, all patches (or their moral equivalent if the
implementation has moved) should be applied to all the later branches first.
This means nothing in 6.9.1 until it's been fixed in the appropriate new
world module, and nothing in 6.8.3 until it's been fixed in 6.9.1. Again
this sounds harsh, but it should serve to keep each train successively more
conservative. This probably means doing 6.9.1 before 6.8.3, which I think is
fine, no one's been pushing too hard for 6.8.3 yet.
So much for tracking. 6.8.2's merge process was that Roland was the only
person allowed to commit. I don't think that scaled very well, personally.
I would prefer to have a known stable team for each release, and as various
bugs get approved by team decision they get assigned to whoever's free.
Again, style issue, you might have a better process. If you want to enforce
gated commits we can probably hack that into the commit_prep script, but I'm
of the opinion that social pressure works better there.
The testing process is still up in the air, even for 7.x. I would suggest
something along the lines of comparing xts5 results from the .0 release
against those of the branch, with xts5 being considered a moving target (ie,
as tests get added, update the results profile of both the .0 release and the
tip of the branch). We really need to start expanding the test suite to
cover both the bugs we fix, and the larger code profile of R6.9 relative to
R5 (Render and such). If I were being really hardline about it, I'd insist
on a testcase in xts5 for all non-hardware bugs before the commit could be
approved, but that's probably insane. But again, this is social, figure out
what level of assurance all the players require to be comfortable with the
release and work towards that.
Doc updates should be more or less mechanical by now, kem and alanc can give
more detail on what's required for that. Personally I'm not completely clear
on how we go from the SGML source to HTML/PDF/whatever else. Wiki updates
are mostly about finding all the mentions of that release train and adding a
link to the description page for the next one. I don't know that stable
branch releases really warrant a press release, they should be utterly boring
events, but PR is so very not my thing so feel free to do one if you want.
Leon has handled that for all the Xorg releases since at least 6.7, so he'd
be the guy to talk to.
I don't know if that answered your question or not, but hopefully it helped a
little. If there's anything I left out please let me know.
- ajax
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
URL: <http://lists.x.org/archives/xorg/attachments/20051222/bb8edfb8/attachment.pgp>
More information about the xorg
mailing list