| 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 | The X Strike Force team maintains X packages in git repositories on |
| 19 | git.debian.org in the pkg-xorg subdirectory. Most upstream packages |
| 20 | are actually maintained in git repositories as well, so they often |
| 21 | just need to be pulled into git.debian.org in a "upstream-*" branch. |
| 22 | |
| 23 | The .orig.tar.gz is upstream's mesa tarball. |
| 24 | |
| 25 | While building from git, dpkg-source can complain about symlinks vs. |
| 26 | normal files mismatches. To work around this issue, before uploading, |
| 27 | and without committing: |
| 28 | |
| 29 | find -type l | while read dest; do src=$(readlink -f $dest); rm $dest; cp $src $dest; done |
| 30 | |
| 31 | The Debian packaging is added by creating the "debian-*" git branch |
| 32 | which contains the aforementioned "upstream-*" branch plus the debian/ |
| 33 | repository files. |
| 34 | When a patch has to be applied to the Debian package, two solutions |
| 35 | are involved: |
| 36 | * If the patch is available in one of the upstream branches, it |
| 37 | may be git'cherry-picked into the Debian repository. In this |
| 38 | case, it appears directly in the .diff.gz. |
| 39 | * Otherwise, the patch is added to debian/patches/ which is managed |
| 40 | with quilt as documented in /usr/share/doc/quilt/README.source. |
| 41 | Thus, the patching system requires a build dependency on quilt. |
| 42 | |
| 43 | Updating debian/upstream/signing-key.asc with new keys requires the following steps: |
| 44 | * fetch the key: |
| 45 | gpg [--keyserver $server] --recv-keys $keyid |
| 46 | * export it to the file: |
| 47 | gpg --export-options export-minimal --export -a $keyid >> debian/upstream/signing-key.asc |