|
@@ -35,7 +35,7 @@ not in any lower subdirectory.
|
|
|
|
|
|
To create a patch for a single file, it is often sufficient to do:
|
|
|
|
|
|
- SRCTREE= linux-2.4
|
|
|
+ SRCTREE= linux-2.6
|
|
|
MYFILE= drivers/net/mydriver.c
|
|
|
|
|
|
cd $SRCTREE
|
|
@@ -48,17 +48,18 @@ To create a patch for multiple files, you should unpack a "vanilla",
|
|
|
or unmodified kernel source tree, and generate a diff against your
|
|
|
own source tree. For example:
|
|
|
|
|
|
- MYSRC= /devel/linux-2.4
|
|
|
+ MYSRC= /devel/linux-2.6
|
|
|
|
|
|
- tar xvfz linux-2.4.0-test11.tar.gz
|
|
|
- mv linux linux-vanilla
|
|
|
- wget http://www.moses.uklinux.net/patches/dontdiff
|
|
|
- diff -uprN -X dontdiff linux-vanilla $MYSRC > /tmp/patch
|
|
|
- rm -f dontdiff
|
|
|
+ tar xvfz linux-2.6.12.tar.gz
|
|
|
+ mv linux-2.6.12 linux-2.6.12-vanilla
|
|
|
+ diff -uprN -X linux-2.6.12-vanilla/Documentation/dontdiff \
|
|
|
+ linux-2.6.12-vanilla $MYSRC > /tmp/patch
|
|
|
|
|
|
"dontdiff" is a list of files which are generated by the kernel during
|
|
|
the build process, and should be ignored in any diff(1)-generated
|
|
|
-patch. dontdiff is maintained by Tigran Aivazian <tigran@veritas.com>
|
|
|
+patch. The "dontdiff" file is included in the kernel tree in
|
|
|
+2.6.12 and later. For earlier kernel versions, you can get it
|
|
|
+from <http://www.xenotime.net/linux/doc/dontdiff>.
|
|
|
|
|
|
Make sure your patch does not include any extra files which do not
|
|
|
belong in a patch submission. Make sure to review your patch -after-
|
|
@@ -66,18 +67,20 @@ generated it with diff(1), to ensure accuracy.
|
|
|
|
|
|
If your changes produce a lot of deltas, you may want to look into
|
|
|
splitting them into individual patches which modify things in
|
|
|
-logical stages, this will facilitate easier reviewing by other
|
|
|
+logical stages. This will facilitate easier reviewing by other
|
|
|
kernel developers, very important if you want your patch accepted.
|
|
|
-There are a number of scripts which can aid in this;
|
|
|
+There are a number of scripts which can aid in this:
|
|
|
|
|
|
Quilt:
|
|
|
http://savannah.nongnu.org/projects/quilt
|
|
|
|
|
|
Randy Dunlap's patch scripts:
|
|
|
-http://developer.osdl.org/rddunlap/scripts/patching-scripts.tgz
|
|
|
+http://www.xenotime.net/linux/scripts/patching-scripts-002.tar.gz
|
|
|
|
|
|
Andrew Morton's patch scripts:
|
|
|
-http://www.zip.com.au/~akpm/linux/patches/patch-scripts-0.16
|
|
|
+http://www.zip.com.au/~akpm/linux/patches/patch-scripts-0.20
|
|
|
+
|
|
|
+
|
|
|
|
|
|
2) Describe your changes.
|
|
|
|
|
@@ -163,6 +166,8 @@ patches. Trivial patches must qualify for one of the following rules:
|
|
|
since people copy, as long as it's trivial)
|
|
|
Any fix by the author/maintainer of the file. (ie. patch monkey
|
|
|
in re-transmission mode)
|
|
|
+URL: <http://www.kernel.org/pub/linux/kernel/people/rusty/trivial/>
|
|
|
+
|
|
|
|
|
|
|
|
|
|
|
@@ -291,6 +296,17 @@ now, but you can do this to mark internal company procedures or just
|
|
|
point out some special detail about the sign-off.
|
|
|
|
|
|
|
|
|
+
|
|
|
+12) More references for submitting patches
|
|
|
+
|
|
|
+Andrew Morton, "The perfect patch" (tpp).
|
|
|
+ <http://www.zip.com.au/~akpm/linux/patches/stuff/tpp.txt>
|
|
|
+
|
|
|
+Jeff Garzik, "Linux kernel patch submission format."
|
|
|
+ <http://linux.yyz.us/patch-format.html>
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
-----------------------------------
|
|
|
SECTION 2 - HINTS, TIPS, AND TRICKS
|
|
|
-----------------------------------
|
|
@@ -359,7 +375,5 @@ and 'extern __inline__'.
|
|
|
4) Don't over-design.
|
|
|
|
|
|
Don't try to anticipate nebulous future cases which may or may not
|
|
|
-be useful: "Make it as simple as you can, and no simpler"
|
|
|
-
|
|
|
-
|
|
|
+be useful: "Make it as simple as you can, and no simpler."
|
|
|
|