From 029a3c6b01e366e46dd478ad8ad722a692214a11 Mon Sep 17 00:00:00 2001 From: Jan Schmidt Date: Mon, 4 Dec 2006 20:30:30 +0000 Subject: 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 --- HACKING | 27 +++++++++++++++++++++------ 1 file changed, 21 insertions(+), 6 deletions(-) (limited to 'HACKING') diff --git a/HACKING b/HACKING index fecea5e..da13515 100644 --- a/HACKING +++ b/HACKING @@ -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 -- cgit v1.2.3