So, apparently, BuildSystem creates a working directory for external packages specified with the --download-package option. This seems like a perfect place to do scratch work for the external package but this folder is not cleaned out when the configure options change. Example:<div>

<br></div><div>$ export PETSC_ARCH=arch-test</div><div>$ ./configure --download-metis</div><div>$ ls externalpackages/metis-5.0.2/arch-test/</div><div>FILE1 FILE2 FILE3</div><div><br></div><div>Now, I would expect BuildSystem to clean this directory, at the very least, when options change:</div>

<div><br></div><div>$ ./configure --download-metis --with-precision=single</div><div>$ ls externalpackages/metis-5.0.2/arch-test/</div><div>FILE1 FILE2 FILE3</div><div><br></div><div>The same files exist which could spell trouble in this case. Does every package *have* to implement its own clean-up (this sounds crazy!!) or can I safely put this into BuildSystem without the Tower of Babel crumbling around my feet? If this change is "good" then how does BuildSystem determine that the options changed (self.installNeeded?)? Or should it just blow away this directory every time?</div>