quilt-dev
[Top][All Lists]
Advanced

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

Re: [Quilt-dev] [PATCH] Remember location of patches and series file


From: Martin Panter
Subject: Re: [Quilt-dev] [PATCH] Remember location of patches and series file
Date: Sun, 13 Dec 2009 00:49:23 +0000

On 12/12/2009, Jean Delvare <address@hidden> wrote:
>  > > . . .
>  > > Most QUILT_* variables are not related to the patch series but to the
>  > >  default behavior of the quilt commands. The only variable (other than
>  > >  QUILT_PATCHES) that seems relevant here is QUILT_SERIES. Not sure how
>  > >  often this one is used in practice.
>  >
>  > Here's the actual reason I wanted to specify the patches and series
>  > file for a specific source tree. My ".pc/quiltrc" file looks like
>  > this:
>  >
>  > QUILT_SERIES=series-vad-2
>  > QUILT_PATCHES=../patches
>
>
> For clarity: what is the above path relative to? From the explanation
>  below, I guess "relative to the root of the source tree"?

Yes it works out that $QUILT_PATCHES is relative to the root of the
source tree, that contains ".pc/". $QUILT_SERIES is relative to
$QUILT_PATCHES. So I have these directories/files, for my patched
version of Quilt itself:

quilt/patches/
quilt/patches/series-vad-2
quilt/patches/autotools-tolerant.diff etc
quilt/quilt-0.48/.pc/
quilt/quilt-0.48/.pc/quiltrc
quilt/quilt-0.48/configure etc

>  > In my "patches" directory there are a few different series files,
>  > sharing some patches, having different "forked" versions of other
>  > patches, and some having extra patches.
>
>
> So far so good.
>
>
>  > I put the "patches" outside
>  > the source tree so that I can easily go and delete it all or extract
>  > it in a different directory, and share the patches between different
>  > base versions.
>
>
> There I don't quite follow you. If you "delete it all", then you lose
>  .pc/, so you also lose .pc/quiltrc which contained the pointers to
>  the patches and series file. So you have to set this up again, right?

Yes I have to set up quiltrc again, but I only have to do this once
after extracting a source tree. I can always save a copy so it doesn't
get deleted. It beats having to remember to set up environment
variables every time you change into that directory (potentially from
another project also using Quilt), open a new shell etc.

>  Same thing for the "extract it in a different directory" case. Unless
>  your packed source tree _includes_ .pc/quiltrc?

It doesn't include quiltrc; the packed source tree is usually a
downloaded tarball of some project, for example Quilt itself.

>  Now I have a question. How does your setup differs from:
>  * patches/ is a symbolic link to ../patches/
>  * series is a symbolic link to ../patches/series-vad-2
>
>  The above can be implemented without any change to the current
>  quilt code, and I don't see why it would fail. Am I missing
>  something?

Symbolic links would do the job nicely here, but I'm actually using
Quilt on "MSYS" (Windows), on a FAT32 filesystem, which doesn't do
symbolic links. Maybe I should have pointed that out a long time ago.

>  > I also wondered if there should be such a thing as a "quilt init"
>  > command, so you could explicitly tell it where the top of the source
>  > tree is, rather than having Quilt search mindlessly up for a directory
>  > called ".pc" or "patches". If this "quilt init" command existed, I'd
>  > expect it to have optional parameters to tell it where "patches" and
>  > "series" are, or where they should be created.
>
>
> I admit that a "quilt init" command would be nice to have, even
>  though we don't want to make its use mandatory. It should be fairly
>  simple to implement, do you want to give it a try?

Okay I might do that when I get a chance. Don't hold your breath though.

>  > . . .
>  > "./quiltrc" at the top of the source tree is a fairly nice solution,
>  > but then Quilt would have to search for "quiltrc" files in addition to
>  > ".pc"/"patches" to find the top of the tree.
>
>
> For now, I don't think anyone ever proposed to make the location of
>  .pc configurable, so it would seem reasonable to use  it as the
>  marker for the root of the source tree. That would be a change from
>  the current situation (we look for the patches directory).

I have a patch that makes Quilt search for ".pc" in addition to
"patches" and uses whichever one it finds first. This was necessary to
stop Quilt finding my "../patches" after ignoring the higher-level
".pc" directory. Again I guess "quilt init" would help here by
providing a method to create the ".pc" directory.

Hmm, this makes me think that Quilt would also get confused by
"debian/patches" if you ever ran it inside the "debian" directory

-Martin.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]