summaryrefslogtreecommitdiffstats
path: root/doc/consider-for-docs-1.mail
blob: ff45891f01470c7fcd7b33b393cab67d7497d81b (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
From: Andreas Gruenbacher <agruen@suse.de>
Organization: SuSE Linux AG
Subject: Patch Management Scripts
Date: Sat, 18 Jan 2003 18:40:32 +0100

Hello,

this is to announce that the patch-scripts package is available at
http://www.suse.de/~agruen/patch-scripts/. The current version is 0.11.

These scripts were based on Andrew Morton's patch scripts
(http://www.zip.com.au/~akpm/linux/patches/), but have been very
heavily modified since then.

I am sure that there still a couple of bugs left, but these should
really be ironed out before long.


The scripts support:

*	Managing a stack of patches, applying and
	removing patches from the stack, adding new patches, and
	modifying them under a minimal kind of version control.

*	They should be reasonably robust (hopefully!).

*	Works for ordinary packages with only a few patches, and
	also for the kernel with several hundered patches.

*	The refresh script is careful not to drop any documentation
	preceding the actual patch in the patch files.

*	Simple to set up to get into "working mode" quickly.

*	Any applied patch can be refreshed. This is trivial for the
	topmost patch. If a file is modified by multiple patches,
	all changes to the file affect only the topmost patch that
	changed that file; patches further below will not include
	any such changes when being rediffed.

*	Several queries are supported, such as:
	- topmost, preceding, following patch(es),
	- files a patch creates or modifies
	- patches that modify a given file
	- changes a patch includes
	- changes to a patch in the working directory


For those of you who are interested, here is a how to get started, after
grabbing and installing the patch-scripts package.


Patching an ordinary package:

	*	The usual RPM contains a tarball and a set of
		patches. Unpack the tarball and copy the
		patches into the patches/ sub-directory in the
		package.

	*	Create a file named series in the patches/ directory.
		The series file contains the list of patches for
		the package.

		The patches are applied with -p1 by default; for -p0
		or other style patches the series file must have
		-p0 or similar after the patch name (but on the same
		line).

	*	Run `pushpatch -a' to apply all the patches. (Note
		that the first run is slightly slower because lists
		of files modified by the patches are created.)

	*	Proceed with the README file in the patch-scripts
		package.


Patching the kernel:

	*	The kernel lives in a CVS repository. Check out this
		tree, say in a directory called $KCVS.

	*	Unpack the kernel tarball, e.g., in $SRC. Create the
		patches/ directory, and add soft links to the various
		patches.* 	directories in the CVS into the patches
		directory, e.g.,

			$ cd $SRC/patches
			$ ln -s $KCVS/patches.* .

	*	Create a series file. This is done like that:

			$ (cd $K_SRC/scripts ; \
			   guards $(arch-symbols)) \
			   < ../series.conf \
			   > $SRC/patches/series

	*	Change to $SRC, and run `pushpatch -qa' to apply
		the patches (-q gives much less output).

	*	As above, check the README in the patch-scripts
		package, and try out what the individual scripts do.

Cheers,
Andreas.

------------------------------------------------------------------
 Andreas Gruenbacher                                SuSE Linux AG
 mailto:agruen@suse.de                     Deutschherrnstr. 15-19
 http://www.suse.de/                   D-90429 Nuernberg, Germany