Planning the Fedora 11 Mass Rebuild

Jesse Keating jkeating at redhat.com
Mon Feb 16 20:58:20 UTC 2009


On Fri, 2009-02-13 at 11:53 -0800, Jesse Keating wrote:
> So again, if you wish to play a part in this task, or otherwise have
> opinions on how it should be done, please reply here and/or show up at
> the releng meeting Monday in #fedora-meeting at 1800 UTC.

A short recap of the meeting:

The goal is to rebuild every single Fedora package, regardless of
content, before the Fedora 11 Feature Freeze (March 3rd).  Specific
features driving this rebuild and the changes required for them:


https://fedoraproject.org/wiki/Features/ArchitectureSupport 
  This requires a change in redhat-rpm-config for the i586 flags, as
well as a koji config change to build for i586 rather than i386 by
default.  These two changes can happen at any time, and will likely
happen this week to shake out any bugs.  Dennis Gilmore and Jon Masters
are responsible for getting these changes in place.


https://fedoraproject.org/wiki/Features/gcc4.4
  This requires gcc 4.4.0-0.19 in the buildroots before the mass rebuild
begins.  Jakub is responsible for getting this built this week.


https://fedoraproject.org/wiki/Features/StrongerHashes
  This requires redhat-rpm-config changes for default hash, as well as
koji code changes to handle the hash.  Mike Bonnet and Miloslav Trmač
are responsible for getting the koji changes done upstream.  Miloslav
Trmač and Jon Masters are responsible for getting the redhat-rpm-config
changes in place, which depend on the koji changes being live first.  A
koji outage is scheduled for this weekend to deploy a new version of
koji, which will include changes for this feature.  An updated
redhat-rpm-config will be deployed shortly thereafter to ensure hash
changes are in effect.


Given the changes required for the above features and the given
schedules, Release Engineering will be ready to start scripted rebuilds
on Monday the 23rd.

Release Engineering would like to give maintainers the ability to
opt-out of the scripted rebuild in order to do the build on their own.
Note that every single package needs to be rebuild, regardless of the
contents.

In order to opt-out of the scripted rebuild, a maintainer will need to
check a file into their package's devel/ branch, called "noautobuild".
This file should contain a short rationality of why you wish to do the
build yourself.

If my auto-build script encounters such a file, it will skip that
module.  However, given the tight deadlines (Feature freeze being the
3rd of March), a very short grace period will be given for completing
the builds on your own.  If your build has not been attempted by the
26th of Feb, my script will no longer honor the noautobuild request and
will attempt to rebuild your package.  If, however, a rebuild has been
attempted, the script will bypass your module.  This should prevent
multiple attempts to build something that fails for one reason or
another.

Release Engineering will also be developing a script to query dist-f11
and report on packages that have yet to be rebuilt.  Results of these
queries will be delivered to various places, yet to be determined,
broken down by maintainer for easier discovery of work needed.

Here is a high level overview of how the rebuild script will operate
(subject to change as code is written):

Generate a list of all packages in dist-f11
Loop through each package:
  Query if a build has already been attempted/completed since koji
changes went live.
  If so, move to next package.
  If not, check out CVS
  Check for a noautobuild file
  If so, move to next package.
  If not, rpmdev-bumpspec
  cvs commit;tag
  make (background) build
  Move on to next package.


Each step will have some error catching and logging so that I or others
can clean up the various failures for whatever reasons.  The builds will
be background builds, which will allow other builds done to take higher
priority when a builder has a free slot.  However maintainers should
take care when doing this so that the background build won't take
'latest' president when it finishes.  Asking rel-eng to kill the
scripted build will typically be enough.

One final note, I'd really appreciate it if somebody could turn this
thread into a wiki page covering the Fedora 11 Mass Rebuild.  I'm
somewhat lacking the patience to do it this week, but it would be a
great help so that we can direct announcements and whatnot at the page,
as well as track progress.

Questions/comments/concerns should be directed at this list, or
#fedora-devel on freenode IRC.

-- 
Jesse Keating
Fedora -- Freedom² is a feature!
identi.ca: http://identi.ca/jkeating
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 197 bytes
Desc: This is a digitally signed message part
URL: <http://listman.redhat.com/archives/fedora-devel-list/attachments/20090216/c69a9b6c/attachment.sig>


More information about the fedora-devel-list mailing list