| 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 | ---------------------------------------------- |
| 52 | Updating xorg-server to a new upstream release |
| 53 | ---------------------------------------------- |
| 54 | |
| 55 | * The abibumpcheck target helps us notice any ABI bump: |
| 56 | - A major ABI bump means drivers have to be rebuilt. |
| 57 | - A minor ABI bump means the version in serverminver has to be |
| 58 | bumped. |
| 59 | Reference documentation about dependencies is available at: |
| 60 | http://pkg-xorg.alioth.debian.org/reference/dependencies.html |
| 61 | * We have to keep track of the SDK_REQUIRED_MODULES variable in |
| 62 | configure.ac. It is used to determine xorg-server.pc's dependencies |
| 63 | so xserver-xorg-dev's dependencies have to be adjusted when this |
| 64 | variable changes. This variable is set to a list of modules, but is |
| 65 | updated a few times. It's probably a good idea to use: |
| 66 | git grep SDK_REQUIRED_MODULES= -- configure.ac |