1*4882a593Smuzhiyun------------------------------------------------------ 2*4882a593SmuzhiyunQuick Guide To Patching This Package For The Impatient 3*4882a593Smuzhiyun------------------------------------------------------ 4*4882a593Smuzhiyun 5*4882a593Smuzhiyun1. Make sure you have quilt installed 6*4882a593Smuzhiyun2. Unpack the package as usual with "dpkg-source -x" 7*4882a593Smuzhiyun3. Run the "patch" target in debian/rules 8*4882a593Smuzhiyun4. Create a new patch with "quilt new" (see quilt(1)) 9*4882a593Smuzhiyun5. Edit all the files you want to include in the patch with "quilt edit" 10*4882a593Smuzhiyun (see quilt(1)). 11*4882a593Smuzhiyun6. Write the patch with "quilt refresh" (see quilt(1)) 12*4882a593Smuzhiyun7. Run the "clean" target in debian/rules 13*4882a593Smuzhiyun 14*4882a593SmuzhiyunAlternatively, instead of using quilt directly, you can drop the patch in to 15*4882a593Smuzhiyundebian/patches and add the name of the patch to debian/patches/series. 16*4882a593Smuzhiyun 17*4882a593Smuzhiyun------------------------------------ 18*4882a593SmuzhiyunGuide To The X Strike Force Packages 19*4882a593Smuzhiyun------------------------------------ 20*4882a593Smuzhiyun 21*4882a593SmuzhiyunThe X Strike Force team maintains X packages in git repositories on 22*4882a593Smuzhiyungit.debian.org in the pkg-xorg subdirectory. Most upstream packages 23*4882a593Smuzhiyunare actually maintained in git repositories as well, so they often 24*4882a593Smuzhiyunjust need to be pulled into git.debian.org in a "upstream-*" branch. 25*4882a593SmuzhiyunOtherwise, the upstream sources are manually installed in the Debian 26*4882a593Smuzhiyungit repository. 27*4882a593Smuzhiyun 28*4882a593SmuzhiyunThe .orig.tar.gz upstream source file could be generated using this 29*4882a593Smuzhiyun"upstream-*" branch in the Debian git repository but it is actually 30*4882a593Smuzhiyuncopied from upstream tarballs directly. 31*4882a593Smuzhiyun 32*4882a593SmuzhiyunDue to X.org being highly modular, packaging all X.org applications 33*4882a593Smuzhiyunas their own independent packages would have created too many Debian 34*4882a593Smuzhiyunpackages. For this reason, some X.org applications have been grouped 35*4882a593Smuzhiyuninto larger packages: xutils, xutils-dev, x11-apps, x11-session-utils, 36*4882a593Smuzhiyunx11-utils, x11-xfs-utils, x11-xkb-utils, x11-xserver-utils. 37*4882a593SmuzhiyunMost packages, including the X.org server itself and all libraries 38*4882a593Smuzhiyunand drivers are, however maintained independently. 39*4882a593Smuzhiyun 40*4882a593SmuzhiyunThe Debian packaging is added by creating the "debian-*" git branch 41*4882a593Smuzhiyunwhich contains the aforementioned "upstream-*" branch plus the debian/ 42*4882a593Smuzhiyunrepository files. 43*4882a593SmuzhiyunWhen a patch has to be applied to the Debian package, two solutions 44*4882a593Smuzhiyunare involved: 45*4882a593Smuzhiyun* If the patch is available in one of the upstream branches, it 46*4882a593Smuzhiyun may be git'cherry-picked into the Debian repository. In this 47*4882a593Smuzhiyun case, it appears directly in the .diff.gz. 48*4882a593Smuzhiyun* Otherwise, the patch is added to debian/patches/ which is managed 49*4882a593Smuzhiyun with quilt as documented in /usr/share/doc/quilt/README.source. 50*4882a593Smuzhiyun 51*4882a593Smuzhiyun---------------------------------------------- 52*4882a593SmuzhiyunUpdating xorg-server to a new upstream release 53*4882a593Smuzhiyun---------------------------------------------- 54*4882a593Smuzhiyun 55*4882a593Smuzhiyun* The abibumpcheck target helps us notice any ABI bump: 56*4882a593Smuzhiyun - A major ABI bump means drivers have to be rebuilt. 57*4882a593Smuzhiyun - A minor ABI bump means the version in serverminver has to be 58*4882a593Smuzhiyun bumped. 59*4882a593Smuzhiyun Reference documentation about dependencies is available at: 60*4882a593Smuzhiyun http://pkg-xorg.alioth.debian.org/reference/dependencies.html 61*4882a593Smuzhiyun* We have to keep track of the SDK_REQUIRED_MODULES variable in 62*4882a593Smuzhiyun configure.ac. It is used to determine xorg-server.pc's dependencies 63*4882a593Smuzhiyun so xserver-xorg-dev's dependencies have to be adjusted when this 64*4882a593Smuzhiyun variable changes. This variable is set to a list of modules, but is 65*4882a593Smuzhiyun updated a few times. It's probably a good idea to use: 66*4882a593Smuzhiyun git grep SDK_REQUIRED_MODULES= -- configure.ac 67