Wichert Akkerman writes: > * there is a dpkg-patch tool that can apply or reverse patches. It will > check if patches are applied in order, and can unpack the original source > and produce a diff from that to the current source so we can easily > generate a new patch. The status for each patch (applied/not applied) > will be stores in a debian/status file.
what exactly is a patch? You consider diff files only. Consider patches to files which are used to generate other files (*.y -> *.c, configure.in -> configure). Having more than one patch for those files is likely to be rejected, if the patch for the generated file is included (usage of an older autoconf version in an upstream patch). There should be some support to regenerate files after the patch is applied. > * when building a binary package we apply all patches. We don't support > conditional patches since if a patch doesn't work under all conditions > it is broken anyway. Maybe broken, but necessary in few situations: - Some Debian patches for gcc alpha make m68k fail on bootstrap. - Some languages in gcc don't build for a target, so it's unnecessary to unpack and patch them or you to make sure these languages are not built by default. I agree that this should not be the default. > * when building a source package all patches are reversed. Any patches > that remain are will be the debian-ization patch. although that's unrelated: the debian-ization patch and the clean arget often become smaller if source and build directories are distinct. would it be helpful to add a recommendation to the packaging manual to extract sources in a src dir and build in a build dir?

