[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Quilt bug or needs repackaging?

Andreas Tille <andreas@an3as.eu> writes:

> at

>    svn://svn.debian.org/debian-med/trunk/packages/saint/trunk/

> I did some preparation for a new package.  It needs a fairly simple
> patch for the Makefile (just s/rm/rm -f/).  When I try to build the
> package with the debian/ dir from SVN with an *unchanged* tarball which
> does contain *two* directories:

> SAINT_v2.3.3

> debuild fails with:

> ...
>    dh_clean
>  dpkg-source -b SAINT_v2.3.3
> dpkg-source: info: using source format `3.0 (quilt)'
> dpkg-source: info: building saint using existing ./saint_2.3.3.orig.tar.gz
> can't find file to patch at input line 3
> Perhaps you used the wrong -p or --strip option?
> The text leading up to this was:
> --------------------------
> |--- SAINT_v2.3.3.orig/Makefile
> |+++ SAINT_v2.3.3/Makefile
> --------------------------

Your quilt patch is -p0, but the quilt support in 3.0 (quilt) requires
that all patches be applied with -p1.  In other words, you need another
level of directory structure in your patch header, so that it looks like:

--- a/SAINT_v2.3.3/Makefile
+++ b/SAINT_v2.3.3/Makefile

(or whatever; the exact names in --- don't matter a huge amount).

> I can confirm that a simple

>     quilt push

> is able to find the file to patch.

That's interesting; I wonder if quilt itself now has logic to figure out
-p0 versus -p1 and try to do the right thing.

dpkg-buildpackage doesn't actually use quilt, though; it uses its own
internal, mostly-compatible logic, which is simpler than everything that
quilt can do.

Russ Allbery (rra@debian.org)               <http://www.eyrie.org/~eagle/>

Reply to: