HACKING: Update the hacking info with information about how to prepare your quilt setup to hack on the ffmpeg checkout

Original commit message from CVS:
* HACKING:
Update the hacking info with information about how to prepare
your quilt setup to hack on the ffmpeg checkout
This commit is contained in:
Jan Schmidt 2006-12-04 20:30:30 +00:00
parent 1359d61313
commit 029a3c6b01
2 changed files with 27 additions and 6 deletions

View file

@ -1,3 +1,9 @@
2006-12-04 Jan Schmidt <thaytan@mad.scientist.com>
* HACKING:
Update the hacking info with information about how to prepare
your quilt setup to hack on the ffmpeg checkout
2006-11-27 Jan Schmidt <thaytan@mad.scientist.com>
* ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_open),

27
HACKING
View file

@ -19,15 +19,15 @@ of a given day.
On head, the following things have been commited on top of this:
* patches/, which is a directory with a set of patches, and a series file
listing the order, as generated by quilt
* .pc/, which is a tree of files that quilt uses to keep control of its state.
It contains a list of applied patches, and one directory per patch,
containing a tree of hardlinked files that were added to the patchset, and
a .pc file listing all files part of the patchset.
* the result of having all these patches commited (ie, quilt push -a) to the
ffmpeg tree.
Both the actually patched CVS ffmpeg code as well as the .pc dir need to be
commited to CVS so the state of quilt wrt. the source is in sync.
The patched CVS ffmpeg code needs to be commited to CVS so that a checkout
gives the patched code
The Quilt state .pc hidden directory must NOT be committed to CVS, because
having CVS subdirs inside it confuses the hell out of quilt and causes it to
start storing diffs against CVS Entries files, and all hell breaks loose
THE WARNING
-----------
@ -60,6 +60,21 @@ THE WAY
probably made a mistake. To manage the state correctly, it is vital that
none of the files are unknown to CVS.
FIRST TIME:
- The quilt state is kept in a hidden dir in the gst-libs/ext/ffmpeg dir,
but this hidden dir can't be kept in CVS because it confuses patch. Hence
when you get a clean gst-ffmpeg checkout you have an ffmpeg tree with
patches applied, but no quilt metadata to modify it with.
- You need to create the quilt metadata in your checkout:
1) Unroll the quilt patches. In gst-libs/ext/ffmpeg, run:
tac patches/series | while read p; do patch -p1 -R < "patches/$p"; done
2) Now, push all the patches to quilt and it will apply them, but now with
the appropriate stored metadata:
quilt push -a
- if you want to add a file to a patchset, you need to:
- be in the right patchset