summaryrefslogtreecommitdiff
path: root/debian/patches/README.patches
blob: 8df4cd3fd664eafbd473f91107e228452c258b18 (plain)
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
Small intro to the system for numbering the patches here...

-The 0xx series of patches are patches isolated from the latest
 version of the shadow Debian package not using quilt in order to
 separate upstream from Debian-specific stuff.

 NO MORE PATCHES SHOULD BE ADDED IN THESE SERIES

-The 1xx series are l10n patches to upstream 4.0.18.1. As upstream has
 adopted Debian translations, it is very likely that these patches
 will become useless when we will have synced with upstream

-The 2xx series are patches for manual pages translations to upstream
 4.0.18.1.

-The 3xx series are patches which have been temporarily applied to 
 Debian's shadow while we *know* they have been applied upstream as well
 These patches should NOT be kept when we will sync with upstream

-The 4xx series are patches which have been applied to Debian's shadow
 and have NOT been accepted and/or applied upstream. These patches MUST be kept
 even after resynced with upstream

-The 5xx series are patches which are applied to Debian's shadow
 and will never be proposed upstream because they're too specific
 This list SHOULD BE AS SHORT AS POSSIBLE

In short, while we are working towards synchronisation with upstream,
our goal is to make 0xx patches disappear by moving them either to 3xx
series (things already implemented upstream) or to 4xx series
(Debian-specific patches).


Short HOWTO for quilt
=====================

The quilt system can be assimilated to a Pile Of Patches management system.
Patches live in debian/patches, the working directory is "."

The basic commands are (abbreviation accepted):
quilt push (asks to apply the next patch in the pile)
quilt pop  (removes the current patch and go up in the pile)
quilt refresh (take the current changes in tree onto the patch)

When a file is changed by a patch, quilt saves it somewhere under .pc on
application. This is how it can refresh it afterward (comparing the version
in .pc and the one you currently have in your working dir).

There are three common pitfalls with quilt:
 - doing "quilt pop" without doing "quilt refresh". The version of current
     dir is replaced with the version of the .pc dir. Your changes are lost.
   Quilt wont let you do so, but you can force it with '-f' if you're fool.
 - editing a file with is not in the patch yet. Quilt didn't do any previous
     backup.
   Use "quilt add" to add files to patches.
   Set $EDITOR and use "quilt edit" to edit a file, and add it onto the
     patch if needed.
 - If you update your working directory, patches may not revert cleanly.
   It is thus recommended to use "quilt pop -a" before updating with
   "svn up".
   If you forget (and run into trouble), you may want to remove the whole
   shadow-?.?.? directory. If you use the makefile which is in the upper
   directory (trunk/), shadow-?.?.?/debian/patches is a link to
   debian/patches, so this dirctory does not contain any valuable info.

The documentation is quite well done, I think. "quilt -h" will list you the
commands. "quilt <cmd> -h" will give you some hints about it. "man quilt" is
a reference documentation. /usr/share/doc/quilt/quilt.pdf.gz is a complete
manual, with tutorial.