Patch systems in packages

Stephan Hermann sh at
Fri Aug 22 06:14:13 BST 2008

On Thu, Aug 21, 2008 at 04:36:20PM -0400, Phillip Susi wrote:
> Stephan Hermann wrote:
> > I think the problem is, that many people don't know, that debian
> > source packages do have this diff.gz handling, which is also a "patch"
> > system. Not the best one, but actually it works.
> And that's exactly the problem.  You don't WANT patches munged up into
> the single massive .diff.gz because then it becomes extremely hard to do
> things like fix them so they apply cleanly to a new upstream, or break
> them out and send them to upstream to apply, or easily remove them once
> upstream has accepted the patch.

I never said, you should do it...but you have packages where this
behaviour (debianized tree, patching sources directly in this tree,
changes are in .diff.gz) is used (with or without intention), and it's a
legal way to do it. 
If this way is a good one, this is written on another paper :)

> > A debianized source tree (with debian/ already applied) can be changed
> > outside debian/ dir and those changes are going in the resulting
> > diff.gz. No orig.tar.gz source is being touched.
> And then when you drop in a new .orig.tar.gz from upstream, you have
> dozens of errors applying the .diff.gz and since it's all one monolithic
> patch, it's much, much harder to sort out.  With a patch system the old
> .diff.gz will always apply cleanly to a new upstream tarball since it
> only adds files to debian/, and then when you build it tries to apply
> each patch individually and if one fails, disabling it or fixing it is
> much simpler when you are dealing with an individual smaller patch with
> its own documentation.

Again, we don't have to discuss the pros and cons of a patch system. We
have them, and we should use them, but on Ubuntu, when the original
maintainer in debian doesn't use a patch system, we shouldn't introduce
one but using the way the debian maintainer is using.


Stephan '\sh' Hermann		| OSS Developer & Systemadministrator
JID: sh at	|
GPG ID: 0xC098EFA8		|
3D8B 5138 0852 DA7A B83F  DCCB C189 E733 C098 EFA8

More information about the Ubuntu-motu mailing list