On Wed, 8 Nov 1995, Ian Jackson wrote: > Nils, in that case, could you add a `Source: web2c' field to their > control files ? Done. Will make it's way to debian next upload (I always takes three hours to rebuild everything, and that needs to be done because of the context diffs).
The need to recompile the whole source if only the control file or the pre/postinst scripts change is a major design flaw of the package building system. What I do here for all my packages is a standardized debian.rules that takes all it's information from the debian.control files and requires to add the right debian.{pre|post}{inst|rm} scripts, debian.copyrights and a debian.Makefile. The latter is used by debian.rules and has to supply the target all, install and clean, responsible for a) building the binaries This is almost the same as the supplied makefile would do, only e.g. supplying some CFLAGS, calling xmkmf or configure before,... b) install all required files This is the same as the install target of the original Makefile does, however the target directory is not / as usual but $(root) (set do / by default but to `pwd`/debian-tmp by debian.rules) because dpkg needs to make a package from it. c) making clean Delete all files generated mechanically during a). This way all debian specific handling is in a fixed debian.rules and all package specific things are in the other debian.* files. If we could agree on this scheme, we could also agree to distribute a) the generated .deb file b) the original source c) the context diff showing only modifications made to the source d) the debian.* files it would be much easier to fix control and installation specific things. And there had already been suggestions to distribute the original source and the patches to the original. Not that this matters much, but the essence of my proposal is to exclude the debian.* files from the patch and supply them separately. Nils