Fedora 14 branching and dist-git roll out
jkeating at redhat.com
Sat Jul 24 06:54:53 UTC 2010
Hey all! It's that time again, we're gearing up to branch for Fedora 14
this coming Tuesday! There is a major twist this time around, we're
going to attempt a roll out of dist-git!
Dist-git is our replacement for the CVS system we are currently using.
This is a pretty big deal, but we're going to try to make it as smooth
as possible. In the next few days I'll be finalizing our git server
setup and polishing up the user interface tool you all will be using to
interact with the source control and build system.
The conversion will take a couple days, which means our normal short
outage for branching will be a bit extended. I wish there was another
way, but converting over 9K cvs repos into git repos does take some
time. I really feel that this move is worth the extended outage.
The tool you all will use to interact with git and the buildsystem is
called "fedpkg". It comes from the fedora-packager package. There is a
version of it available now in all active Fedora and EPEL releases,
although it is built to work against our staging environment where we
have been testing the setup for a while. This setup is slightly
different than the final version, but you can install it and poke around
the help system to get a feel for what's going on. Most of the make
targets have made it over and are named the same; build, sources, srpm,
etc... Many of the targets can take arguments and options. Where the
make system used shell variables, fedpkg uses options and arguments.
Each target takes a --help argument that will show any available
options. Fedpkg does not yet have a man page, that may be coming soon.
We're also going to be working on wiki pages to document the new stuff
and archive the old stuff. We're going to need help on this too, so if
you want to pitch in, by all means!
As I mentioned above, this is an attempt. We are trying this pretty
early, which I wouldn't normally do. However we have a good roll back
plan. We are going to keep the CVS server as is, although turned
read-only during and after the dist-git rollout. If something fails
beyond reasonable repair with the dist-git attempt we will re-enable
write access to the CVS server (after we branch it for Fedora 14).
Otherwise we will keep it around, in some capacity, as a read-only
I'm certain we will run into some bumps along the way, and some wrinkles
to iron out. I ask that you are patient with us as we work through
these, and as we either get updates pushed out of fedpkg or make
adjustments to the git repos on the git server. This transition has
been a long time coming, and I'm really happy to be the one to make it
happen. Keep in mind that this will be the first iteration of our
transition, and it will operate mostly the same as dist-cvs did with a
few improvements. Later on we will start to explore more interesting
advancements such as automatic patch management with exploded sources,
linking to upstream source repositories, automatic %changelog generation
from git changelogs, or things I haven't even thought about. Most of
all, we won't be using CVS any more and that feels really good to me.
If you're curious about how the new system will work or have concerns,
or want to help, you can reply to this email thread or find me on IRC as
"Oxf13" (that's an o, not a zero). If you run across bugs in fedpkg,
you can file them in the fedora-packager hosted trac space
https://fedorahosted.org/fedora-packager/ or just find me on IRC as well.
Thanks again for your patience, both in waiting so long for us to make
this move, and for bearing with us during the transition.
Fedora -- Freedom² is a feature!
More information about the devel-announce