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?

--
Fedora-buildsys-list mailing list
[email protected]
https://www.redhat.com/mailman/listinfo/fedora-buildsys-list

Reply via email to