rebuilding from old cvs tags

Mike McLean mikem at redhat.com
Wed Feb 27 00:14:44 UTC 2008


I ran into an interesting problem while replicating some older Fedora 
builds in a test environment. Consider this build:

http://koji.fedoraproject.org/koji/buildinfo?buildID=6144

It was built by task 1648 using this cvs url:
cvs://cvs.fedoraproject.org/cvs/pkgs?rpms/sparse/devel#sparse-0_3-1_fc7

The problem is that if you rebuild this now, you get DIST=fc9, because 
devel has moved on. In my case, I am replicating the buildroot, which 
includes the package that provides the original DIST=fc7. This leads to 
a mismatch. Koji thinks it is building sparse-0.3-1.fc9, but the actual 
result is sparse-0.3-1.fc7. The build completes but import fails. I'm 
trying to reproduce the build as closely as possible, so I want .fc7, 
not .fc9.

It occurred to me that Makefile.common could be smarter about this. When 
you checkout a specific revision with cvs, that revision is noted in 
CVS/Tag. It would be possible (though perhaps messy) for Makefile.common 
to note this and behave a little differently.

Why? Better repeatability. If you checkout a specific revision from a 
time when dist has a different value, you probably ought to be using 
that dist and not the current one.

I suppose the real problem is that although we're building from a 
specific revision of the main checkout, we're always using the HEAD of 
common. Solving that even more of a mess though (and even if we do, we 
still have a whole bunch of builds from unrecorded revisions of common 
in the system).

So what do folks think? Am I crazy? Would a Makefile.common patch for 
this be welcome?




More information about the Fedora-buildsys-list mailing list