Chris Waters <[EMAIL PROTECTED]> writes: > Joey Hess <[EMAIL PROTECTED]> writes: > > > debian/rules clean is already required to reverse the effects of the build. > > In theory, yes. But unless you audit the .diff.gz, it's not > necessarily obvious if this fails.
In fact there are packages where it's nearly impossible to get debian/rules clean to do the right thing perfectly. And there's really not much point in doing it either. There is a nice simple solution that would make our lives infinitely easier in lots of other ways: Build outside the source tree! This is how autoconf is intended to be used and it makes things a lot easier to manage. When building outside the source tree you set up a build tree and autoconf generates Makefiles there which refer to the source tree using VPATH. debian/rules clean becomes simply "rm -rf build debian/tmp". This would also make building shared libraries alongside static libraries much easier -- just build in separate build trees. This would let dependencies work properly and not force a complete recompilation for a single file modification just because the static object files have all been cleaned to make way for the shared build. And it would make it easier to handle other varieties of multi-option builds. Things like building -i binaries packages from the same source tree as -us binary packages. -- greg