Hi Marty,

On lun., 2017-09-18 at 20:50 -0500, Marty E. Plummer wrote:
> Greetings.
> 
> I've been using quilt primarily to generate patches for use with
> gentoo's portage tree, instead of the old proj-ver && proj-ver.new
> scheme.
> 
> I just discovered what I believe to be a bug in quilt while fixing the
> dev-util/mingw64-runtime package so dev-libs/icu could be built against
> it. To replicate, the following steps must be taken:
> 
> $ mkdir -p /tmp/work/patches
> $ cd /tmp/work
> $ tar xf bzip2-1.0.6.tar.gz
> $ cd bzip2-1.0.6/
> $ quilt new test.patch
> $ quilt edit README
> <insert some text, just to make a patch>
> $ quilt refresh
> 
> At this point, you would normally expect test.patch to exist at
> /tmp/work/bzip2-1.0.6/patches, with the .pc database at
> /tmp/work/bzip2-1.0.6/.pc; instead, you will find that the patch ends up
> in /tmp/work/patches, and the database in /tmp/work/.pc !

This is the intended behavior. In order to be able to use quilt
anywhere in the working tree, there is a project's root discovery
mechanism. This is done by walking directories up towards the
filesystem root and stopping as soon as either .pc/ or patches/ is
found. If nothing is found then the current directory is assumed to be
your project's root.

In your case you created patches/ above your project root, but quilt
can't know that, so it considers that the projet's root must be the
directory containing patches/.

You can easily solve the problem by creating /tmp/work/bzip2-
1.0.6/patches/ manually before invoking "quilt new". Quilt will see it
before /tmp/work/patches/ and will thus consider /tmp/work/bzip2-1.0.6/ 
as the project's root.

There was once a project to create a new quilt command for the purpose,
but it was never implemented.

-- 
Jean Delvare
SUSE L3 Support

_______________________________________________
Quilt-dev mailing list
[email protected]
https://lists.nongnu.org/mailman/listinfo/quilt-dev

Reply via email to