Asterisk 1.4 + bristuff

Faidon Liambotis paravoid at debian.org
Sun Jul 22 03:53:16 UTC 2007


Mark Purcell wrote:
> Welcome to pkg-voip!
Thank you, all of you :-)

> The problem with quilt is that we aren't familiar with it. That doesn't mean 
> that we aren't open to change but that you will need to give us some 
> handholding while we work out if quilt is a good thing for us.
> [snip] 
> A lot of projects are using quilt so I'm not saying it isn't a good system,
> but a lot of projects are also using cdbs, git and bzr, one thing we wan't
> to avoid is the learning cost of a new way of working.
Well, quilt is not a VCS, it's a patch management tool. There are a 
douzine or so commands that are very easy to use and follow.
It's _way_ more comfortable than dpatch-edit-patch or anything similar 
I've encountered so far.

I really believe that it will help the maintainance work. I don't feel 
good proposing a change in the tools used by the team the first day I'm 
joining it; I wouldn't doing if the learning curve was big or if it 
wasn't worth it.

To be fair, there is an important regression: there is no equivalent of 
dpatch-edit-patch -b to create a patch in a working directory. There is 
/usr/share/svn-buildpackage/contrib/svn-do however, which creates a 
working directory and spawns a command inside of it (or a shell if 
passed nothing).

You can master it in a matter of _hours_, that's how much it took me to 
learn it.

Some hand-holding follows, as requested ;-)

Basically, you have a stack of patches, a series. You have 
(debian/)patches/series, which is the equivalent of 00list.

You can move (i.e. patch/unpatch) in the stack with quilt push/pop.
   quilt push #w ill push the next patch
   quilt push foo # will push all the patches up to foo
   quilt pop foo # will pop foo

You can patch/unpatch the whole series with
   quilt push -a
   quilt pop -a

Also,
   quilt series -v # see the series and where you're at it:
   quilt applied # which ones are applied
   quilt unapplied # which ones are not

At any point you can create a new patch in the middle of a series with
   quilt push $old-patch #(or -a to place it in the end)
   quilt new $new-patch # == dpatch-edit-patch $new-patch $old-patch
   quilt add foo/bar/file-to-be-patched #W: you have to do this _before_!
   vi foo/bar/file-to-be-patched
   quilt refresh
   quilt diff # see your changes

[quilt add + $EDITOR == quilt edit]

Apply a patch, e.g. from the BTS:
   quilt new bugXXXXX
   quilt fold -p1 < ~/XXXXX.diff
   quilt refresh

Patch comments are done like this:
   quilt header -e # edit it
   quilt header # show the header
   quilt header -a # append something
   quilt header # show it again

These are the basic operations. There are more, "man quilt" is pretty 
straight-forward and small. You can also work directly with 
debian/patches/series and individual patches there, just like dpatch.
The slides I gave you before are good too.

As for the packaging changes, it's a two-line in debian/rules (change 
the include from dpatch to quilt and s/patch-stamp/patch/).

Anyway, just give it a try and a thought.
Until you decide otherwise, I'll continue working with dpatch, at least 
in trunk/.

>>>> I've contributing from time to time various stuff to the team, but I 
>>>> think it's time to get more involved.
> 
> Excellent.  kilian has setup your svn commit rights so you should be good
> to go!
Again, thanks to both of you.

I've already made my first commit. More to come!

Regards,
Faidon



More information about the Pkg-voip-maintainers mailing list