On Thu, 2008-09-18 at 08:52 -0500, Andrew Gaffney wrote:
> Amit Dor-Shifer wrote:
> > Is that the way autoresume's intended to work? If so, should I clear
> > autoresume points upon every modification in a conf file?
> Catalyst doesn't store any metadata about the spec file for a particular build,
> so it has no way to know if the spec has changed. That will probably chance in
> the future. For now, just make sure to use -a when you change the spec file.
The general rule I use is to use -a if I changed anything that affects
dependencies, or if I'm making a change in a section that has already
been processed. The autoresume support was really designed to recover
from failed merges, rather than to be a robust solution. As Andrew
said, I'd eventually like to make the autoresume much smarter, which
means we'd likely need to store the spec file in the autoresume data.
If the keys in the spec for a particular function has changed and that
function has already been run, delete the autoresume for that function.
As we make things more and more modular, this could allow for an
"autoresume" of a nearly-completed build where only the changes need to
be processed. Using your "rcadd" as an example, let's say you were at
the point of the ISO being made and realized that you forgot to add a
service. You hit CTRL+C, edit the spec, then re-run catalyst, which
would see that only the rcadd changed, so it would remove the autoresume
data for the rc-update function
(targets/livecd-stage2/livecd-stage2-controller.sh) and process only
that function and the remaining ones, giving you an ISO with the least
amount of processing time.