1
|
|
-------------------------------------------------------
|
2
|
|
-Quick Guide To Patching This Package For The Impatient
|
3
|
|
-------------------------------------------------------
|
4
|
|
-
|
5
|
|
-1. Make sure you have quilt installed
|
6
|
|
-2. Unpack the package as usual with "dpkg-source -x"
|
7
|
|
-3. Run the "patch" target in debian/rules
|
8
|
|
-4. Create a new patch with "quilt new" (see quilt(1))
|
9
|
|
-5. Edit all the files you want to include in the patch with "quilt edit"
|
10
|
|
- (see quilt(1)).
|
11
|
|
-6. Write the patch with "quilt refresh" (see quilt(1))
|
12
|
|
-7. Run the "clean" target in debian/rules
|
13
|
|
-
|
14
|
|
-Alternatively, instead of using quilt directly, you can drop the patch in to
|
15
|
|
-debian/patches and add the name of the patch to debian/patches/series.
|
16
|
|
-
|
17
|
|
-------------------------------------
|
18
|
|
-Guide To The X Strike Force Packages
|
19
|
|
-------------------------------------
|
20
|
|
-
|
21
|
|
-The X Strike Force team maintains X packages in git repositories on
|
22
|
|
-git.debian.org in the pkg-xorg subdirectory. Most upstream packages
|
23
|
|
-are actually maintained in git repositories as well, so they often
|
24
|
|
-just need to be pulled into git.debian.org in a "upstream-*" branch.
|
25
|
|
-Otherwise, the upstream sources are manually installed in the Debian
|
26
|
|
-git repository.
|
27
|
|
-
|
28
|
|
-The .orig.tar.gz upstream source file could be generated using this
|
29
|
|
-"upstream-*" branch in the Debian git repository but it is actually
|
30
|
|
-copied from upstream tarballs directly.
|
31
|
|
-
|
32
|
|
-Due to X.org being highly modular, packaging all X.org applications
|
33
|
|
-as their own independent packages would have created too many Debian
|
34
|
|
-packages. For this reason, some X.org applications have been grouped
|
35
|
|
-into larger packages: xutils, xutils-dev, x11-apps, x11-session-utils,
|
36
|
|
-x11-utils, x11-xfs-utils, x11-xkb-utils, x11-xserver-utils.
|
37
|
|
-Most packages, including the X.org server itself and all libraries
|
38
|
|
-and drivers are, however maintained independently.
|
39
|
|
-
|
40
|
|
-The Debian packaging is added by creating the "debian-*" git branch
|
41
|
|
-which contains the aforementioned "upstream-*" branch plus the debian/
|
42
|
|
-repository files.
|
43
|
|
-When a patch has to be applied to the Debian package, two solutions
|
44
|
|
-are involved:
|
45
|
|
-* If the patch is available in one of the upstream branches, it
|
46
|
|
- may be git'cherry-picked into the Debian repository. In this
|
47
|
|
- case, it appears directly in the .diff.gz.
|
48
|
|
-* Otherwise, the patch is added to debian/patches/ which is managed
|
49
|
|
- with quilt as documented in /usr/share/doc/quilt/README.source.
|
50
|
|
-
|
51
|
|
-quilt is actually invoked by the Debian X packaging through a larger
|
52
|
|
-set of scripts called XSFBS. XSFBS brings some other X specific
|
53
|
|
-features such as managing dependencies and conflicts due to the video
|
54
|
|
-and input driver ABIs.
|
55
|
|
-XSFBS itself is maintained in a separate repository at
|
56
|
|
- git://git.debian.org/pkg-xorg/xsfbs.git
|
57
|
|
-and it is pulled inside the other Debian X repositories when needed.
|
58
|
|
-
|
59
|
|
-The XSFBS patching system requires a build dependency on quilt. Also
|
60
|
|
-a dependency on $(STAMP_DIR)/patch has to be added to debian/rules
|
61
|
|
-so that the XSFBS patching occurs before the actual build. So the
|
62
|
|
-very first target of the build (likely the one running autoreconf)
|
63
|
|
-should depend on $(STAMP_DIR)/patch. It should also not depend on
|
64
|
|
-anything so that parallel builds are correctly supported (nothing
|
65
|
|
-should probably run while patching is being done). And finally, the
|
66
|
|
-clean target should depend on the xsfclean target so that patches
|
67
|
|
-are unapplied on clean.
|
68
|
|
-
|
69
|
|
-When the upstream sources contain some DFSG-nonfree files, they are
|
70
|
|
-listed in text files in debian/prune/ in the "debian-*" branch of
|
71
|
|
-the Debian repository. XSFBS' scripts then take care of removing
|
72
|
|
-these listed files during the build so as to generate a modified
|
73
|
|
-DFSG-free .orig.tar.gz tarball. |