blob: f9bb7c69a92c541a777c17f989d39817773ee493 (plain) (tree)

Quick Guide To Patching This Package For The Impatient

1. Make sure you have quilt installed
2. Unpack the package as usual with "dpkg-source -x"
3. Run the "patch" target in debian/rules
4. Create a new patch with "quilt new" (see quilt(1))
5. Edit all the files you want to include in the patch with "quilt edit" 
   (see quilt(1)).
6. Write the patch with "quilt refresh" (see quilt(1))
7. Run the "clean" target in debian/rules

Alternatively, instead of using quilt directly, you can drop the patch in to 
debian/patches and add the name of the patch to debian/patches/series.

While building from git, dpkg-source can complain about symlinks vs.
normal files mismatches. To work around this issue, before uploading,
and without committing:

  find -type l | while read dest; do src=$(readlink -f $dest); rm $dest; cp $src $dest; done

Guide To The X Strike Force Packages

The X Strike Force team maintains X packages in git repositories on
git.debian.org in the pkg-xorg subdirectory. Most upstream packages
are actually maintained in git repositories as well, so they often
just need to be pulled into git.debian.org in a "upstream-*" branch.
Otherwise, the upstream sources are manually installed in the Debian
git repository.

The .orig.tar.gz upstream source file could be generated using this
"upstream-*" branch in the Debian git repository but it is actually
copied from upstream tarballs directly.

Due to X.org being highly modular, packaging all X.org applications
as their own independent packages would have created too many Debian
packages. For this reason, some X.org applications have been grouped
into larger packages: xutils, xutils-dev, x11-apps, x11-session-utils,
x11-utils, x11-xfs-utils, x11-xkb-utils, x11-xserver-utils.
Most packages, including the X.org server itself and all libraries
and drivers are, however maintained independently.

The Debian packaging is added by creating the "debian-*" git branch
which contains the aforementioned "upstream-*" branch plus the debian/
repository files.
When a patch has to be applied to the Debian package, two solutions
are involved:
* If the patch is available in one of the upstream branches, it
  may be git'cherry-picked into the Debian repository. In this
  case, it appears directly in the .diff.gz.
* Otherwise, the patch is added to debian/patches/ which is managed
  with quilt as documented in /usr/share/doc/quilt/README.source.