--- xserver-xorg-input-vmmouse-12.6.4.orig/ChangeLog +++ xserver-xorg-input-vmmouse-12.6.4/ChangeLog @@ -1,25 +1,370 @@ -2006-04-06 Adam Jackson +commit d61609868697825717d2f6a63b2a6177cb13873b +Author: Shelley Gong +Date: Mon May 11 10:08:56 2009 -0700 - * configure.ac: - * src/vmmouse.c: - * src/vmmouse_proto.h: - Unlibcwrap. Bump server version requirement. Bump to 12.4.0. + 1) Fix bug where motion notify events were being sent with every button event. + + 2) Classify relative vs. absolute packets individually rather than from a + global flag. + + 3) Compile with older distros. + + 4) Bump for 12.6.4 Release. + + Signed-off-by: Philip Langdale -2006-03-28 Philip Langdale +commit d5ae42ec3849672438823b08ad06a69289ae99c5 +Author: Alan Coopersmith +Date: Thu May 7 15:53:32 2009 -0700 - * configure.ac: - * src/vmmouse.c: Bump PATCHLEVEL. - * src/vmmouse_proto.h: Use the right #define - when detecting a 64bit compilation. This fixes - the driver to actually work for 64bit builds. + Map Solaris/Sun compiler #defines to gcc equivalents + + Signed-off-by: Alan Coopersmith -2006-01-16 Philip Langdale +commit 9719534fa3a184b848ef9e9c3a755703b8708fd2 +Author: Alan Coopersmith +Date: Thu Jan 15 07:29:44 2009 -0800 - * configure.ac: - * src/vmmouse.c: Bump PATCHLEVEL. - * src/vmmouse_proto.c: push/pop ebx to keep - gcc4 happy when compiling with -fPIC. + Make --with-hal* configure options match their help output -2006-01-06 Philip Langdale +commit 5e43144376bfa4491f60dc4da34f8bde9da2f900 +Author: Alan Coopersmith +Date: Fri Jan 9 16:23:49 2009 -0800 - * Initial release. + Remove xorgconfig & xorgcfg from See Also list in man page + +commit bc324161680b1403e5811b3ac2b9ca679829a5c9 +Author: Peter Hutterer +Date: Mon Dec 22 14:19:30 2008 +1000 + + Bump for 12.6.3 release + +commit 6f855ac348db34726eac68dc114563543ff0eae2 +Author: Peter Hutterer +Date: Mon Dec 22 14:53:27 2008 +1000 + + Fix make distcheck allowing custom build directories. + +commit 7cb41b467a161461627e6abf1ea979b7058d02f0 +Author: Peter Hutterer +Date: Mon Dec 22 14:10:38 2008 +1000 + + Fix build against master - add xf86OSmouse.h + +commit bda45dcf9fbbd42c155c7071d547d0d067429dde +Author: Philip Langdale +Date: Fri Nov 14 10:52:26 2008 -0800 + + Bump for 12.6.2 release. + +commit b29b45a25b3b2db58f81e727d787c337bbd87637 +Author: Philip Langdale +Date: Fri Nov 14 10:24:36 2008 -0800 + + Revert "Narrow down the scope of what systems are checked for the vmmouse device." + + This reverts commit 93f032b80b841e1b6beeff814e8d9519e485fdef. + + I'm doing this for now because qemu (with and without kvm) provides + an implementation of the vmmouse device and input hotplug works there + right now. Later, I'll try and dig up an equivalent id check for them. + +commit a5718c9b31d5fb72a88c0e145766efd861e0a3d3 +Author: Philip Langdale +Date: Thu Nov 13 15:43:31 2008 -0800 + + Only turn on absolute mode when we get an actual event; we don't + want the driver to throw us into absolute mode just because the + device is present but the user has a relative input path configured. + +commit aea9dd5694e3b6bdeb704c18dc7930ba412ff259 +Author: Philip Langdale +Date: Thu Nov 13 15:21:31 2008 -0800 + + Don't flush buttons. + + Apply equivalent of commit 6a03e8bd9699a33dabcdd2bbcf51a001ddfd5534 + from xf86-input-mouse. + +commit 93f032b80b841e1b6beeff814e8d9519e485fdef +Author: Philip Langdale +Date: Mon Oct 27 09:32:22 2008 -0700 + + Narrow down the scope of what systems are checked for the vmmouse device. + +commit c42ef00eaa590139cb872c086787aaa545eac273 +Author: Philip Langdale +Date: Thu Oct 23 23:35:56 2008 -0700 + + Bump for 12.6.1 release. + +commit bcdec3d0cd4434770cd841c33c030e0d7203881f +Author: Philip Langdale +Date: Thu Oct 23 23:35:28 2008 -0700 + + Remove call to iopl(). It's not portable and isn't necessary. + +commit ecb2f313292b4d3f516f5d1ae5c7cde45444041c +Author: Philip Langdale +Date: Thu Oct 23 22:26:53 2008 -0700 + + Bump version number for 12.6.0 release. + +commit a9050a9d407f650b86ee28ff00f5717c965b4554 +Author: Philip Langdale +Date: Thu Oct 23 22:13:56 2008 -0700 + + Switch hal-probe-vmmouse to /bin/sh and add Copyright statement. + +commit eb03e96c1974a3fbe1c48c56974ff32bc886c8f7 +Author: Philip Langdale +Date: Thu Oct 23 21:54:44 2008 -0700 + + Add HAL integration to support input hot plug. + + * vmmouse_detect: A simple program that detects whether a vmmouse + device is present. + * hal-probe-vmmouse: A HAL callout script that uses vmmouse_detect + and overrides input.x11_driver. + * 11-x11-vmmouse.fdi: fdi descriptor that adds the callout for PS/2 + mice. + + Additional 'configure' variables have been added to allow for overriding + HAL paths, although this shouldn't usually be necessary. + +commit 223afd09500672a7fe8a1ab5fc221001863a8bec +Author: Philip Langdale +Date: Tue Oct 21 18:53:03 2008 -0700 + + Ignore more stuff in .gitignore + +commit 370a0ffa789c1c64d5343153bdb5ddccd502a361 +Author: Philip Langdale +Date: Tue Oct 21 18:52:02 2008 -0700 + + Move shared vmmouse files into a separate static lib so we can + share it with the vmmouse detection utility I'm about to add. + +commit 4c26f5cffba924daa514134e6c6dfcbc3c391d27 +Author: Philip Langdale +Date: Fri Oct 17 19:59:26 2008 -0700 + + Bump version number for 12.5.2 release. + +commit 305fd77bdf4a8b241c3155b068acf4147a2f8077 +Author: Philip Langdale +Date: Fri Oct 17 19:58:50 2008 -0700 + + Change ZAxisMapping default to match main mouse driver. + +commit 64760dae6b1184405641b6b46a7967d114f4ab80 +Author: Philip Langdale +Date: Fri Oct 17 19:41:07 2008 -0700 + + Properly set axis range and resolution for Server 1.5+ + +commit f978146de9c798e7405a7a09c5b4421e9429bf91 +Author: Matthias Hopf +Date: Tue Oct 14 14:19:29 2008 +0200 + + Revert "Grab mouse from kernel if possible." + + This reverts commit 028e7d0001d4948e7b11a68d904c6b307a1ccfb3. + + The test turned out to be bogus, in fact, the patch had no effect. + The used kernel mouse driver doesn't even allow grabbing... + +commit 028e7d0001d4948e7b11a68d904c6b307a1ccfb3 +Author: Matthias Hopf +Date: Mon Sep 29 18:30:55 2008 +0200 + + Grab mouse from kernel if possible. + + Avoids mouse event duplication if a mouse driver is sitting on /dev/input/mice + on Linux. + +commit a5fb5b8cb816ddcdc25a61fa42b560955a4194e3 +Author: Adam Jackson +Date: Tue Aug 19 15:29:38 2008 -0400 + + Remove useless call to xf86AddModuleInfo + +commit 9e4c44ab08fe8e5ad701750291970e03fc9aaf88 +Author: Jeff Smith +Date: Sun Jun 15 01:42:14 2008 -0500 + + Check for XINPUT ABI 3. + + Signed-off-by: Peter Hutterer + +commit e72f4fbc61f4a0acf99a4b31f16fdebde9d339f1 +Author: Vinay Bondhugula +Date: Wed May 21 01:36:53 2008 -0400 + + Don't call conversion_proc for older Xservers + + There was a bug in the Xserver for a while when it didn't call a driver's + conversion_proc to convert device space coordinates to screen space. To fix + this, vmmouse starting calling that method (since January), but if this is done + on older versions of X, the conversion gets done twice. + + The fix is to add a configure check for the right versions of X and call + VMMouseConvertProc() only if we are compiling against an X that has the bug. + + There's some whitespace cleanup for vmmouse.c too. + +commit 08f6ba03b1368e23bda4d51b16e182079fe9c409 +Author: Vinay Bondhugula +Date: Tue Apr 22 18:53:16 2008 -0400 + + Compatibility with older versions of X + + - Makes the driver compile againt older versions of X (tested upto 4.3). + - Bump up the version number in configure.ac and the modinfo section. + - A couple of trivial whitespace cleanups. + +commit f9629096c1e0ac0e090642cf6a53674842aaf9a8 +Author: Adam Jackson +Date: Thu Mar 20 16:53:05 2008 -0400 + + vmmouse 12.5.0 + +commit a88387f1276d598843ffa0cd3648f8bf34d10680 +Author: Matthieu Herrb +Date: Sat Mar 8 23:17:40 2008 +0100 + + Makefile.am: nuke RCS Id + +commit c312189cedf7526d61ced521f275ad5c4a972610 +Author: Vinay Bondhugula +Date: Tue Jan 22 23:32:12 2008 -0800 + + Fix device to screen space coordinate conversion + + The Xserver no longer calls an input device's conversion_proc to convert x and + y coordinates from device to screen space. This fix calls the conversion + routine in vmmouse.c before posting the motion event to Xserver. + + Other drivers also seem to rely on conversion_proc, so the real fix should probably + go into Xserver's code (maybe in xserver/hw/xfree86/common/xf86Xinput.c?). + +commit ca3eb5abeb187a1e40ff7c36bf87d52efb999be9 +Author: Vinay Bondhugula +Date: Sat Jan 19 09:07:16 2008 -0800 + + Fix an old sign bug for the relative mode + + Higher order bits for the X and Y inputs (which could be set in case of a + relative mouse) were being zeroed off in VMMouseClient_GetInput. This change + fixes it. + +commit ca4cc3fed99457add3935f8a063558b51e816d74 +Author: Philip Langdale +Date: Tue Sep 25 16:18:53 2007 -0700 + + Update for 12.4.3 release. + +commit 4840be10e99a77d567ee9122f57c6fb6b5208cd9 +Author: Philip Langdale +Date: Mon Sep 24 12:03:56 2007 -0700 + + Add compatibility #define for compilation on pre-X.Org + versions of the Xserver. + +commit d89b0ffc1b994fb8e19cecbab683478b599fea73 +Author: Philip Langdale +Date: Mon Sep 24 11:48:39 2007 -0700 + + There are problems when running with old X releases with a + global symbol collision with the svga driver. + +commit b1ca22c8bdaa2450d98d5043b504d4a4fe412128 +Author: Philip Langdale +Date: Mon Sep 10 21:17:12 2007 -0700 + + Guard modinfo section against gcc. + +commit b20b4c2388a19885b8d686bbc184d69bed5585d9 +Merge: 0cd80f9 d8e1d4d +Author: Philip Langdale +Date: Mon Sep 10 20:46:13 2007 -0700 + + Merge branch 'master' of git+ssh://git.freedesktop.org/git/xorg/driver/xf86-input-vmmouse + +commit 0cd80f9869feef92261d0972f3d2d018a3dcfb18 +Author: Philip Langdale +Date: Mon Sep 10 20:45:58 2007 -0700 + + Ready 12.4.2 release. + + To allow for easier detection of driver version by other VMware tools, + we are embedding the version in a .modinfo section so that the Linux + kernel 'modinfo' tool can be (ab)used to check it. + +commit d8e1d4d1f4eeeb87c573810c0f0d141fe180bb01 +Author: Alan Coopersmith +Date: Tue Aug 28 17:39:11 2007 -0700 + + Port to new motion history/InitPointerDeviceStruct ABI + + (Copied from daniels' fix to xf86-input-mouse) + +commit 5a4e1fe50b1a38cfc489eff49f5a729bd726cd23 +Author: Philip Langdale +Date: Mon Jul 9 13:46:33 2007 -0700 + + Add copyright statement to man page. + +commit e854c0c989b57e3d862c363a9c16ee4db315274f +Author: Philip Langdale +Date: Tue Jun 26 14:52:32 2007 -0700 + + Update the man page to more closely reflect reality. + Problems pointed out by Jason MacIntyre. Thanks! + +commit 078666eac54f5672e5e7df2f79c92ac412976cd9 +Author: Alan Coopersmith +Date: Thu Mar 1 10:36:23 2007 -0800 + + renamed: .cvsignore -> .gitignore + +commit ceb33299a512f368529dd052f4acab695b172c7f +Author: Alan Coopersmith +Date: Thu Mar 1 10:35:12 2007 -0800 + + Replace references to XFree86/XF86Config in man page + +commit 87d047e6132d5734ab65f0ef18354608dae39ec8 +Author: Philip Langdale +Date: Tue Feb 27 18:02:43 2007 -0800 + + Under certain circumstances, typically when the kernel PS/2 driver decides + to reset the PS/2 device, we can find ourselves in an inconsistent state + between the vmmouse driver and the virtual hardware. When this is encountered, + we should re-request absolute mode from the hardware to get back in sync. + +commit 16e12c2c08a92a7bb9c11d4a359bf9904998e93f +Author: Adam Jackson +Date: Fri Apr 7 18:17:10 2006 +0000 + + Unlibcwrap. Bump server version requirement. Bump to 12.4.0. + +commit 6a74d428e2ce1ad07b9dc8b361bd7c2e71dd19d0 +Author: philipl +Date: Wed Mar 29 02:36:23 2006 +0000 + + Bump PATCHLEVEL. + Use the right #define when detecting a 64bit compilation. This fixes the + driver to actually work for 64bit builds. + +commit 1d7b250cbda0b96a494a17fdfb53eb971907a35b +Author: philipl +Date: Mon Jan 16 23:54:15 2006 +0000 + + Fix for compilation with gcc4 and PIC. + +commit ee148a2f8ef97557ec2db501295ed8227699d2bf +Author: philipl +Date: Mon Jan 9 19:12:26 2006 +0000 + + Initial release of the vmmouse driver for VMware virtual machines. --- xserver-xorg-input-vmmouse-12.6.4.orig/autogen.sh +++ xserver-xorg-input-vmmouse-12.6.4/autogen.sh @@ -0,0 +1,12 @@ +#! /bin/sh + +srcdir=`dirname $0` +test -z "$srcdir" && srcdir=. + +ORIGDIR=`pwd` +cd $srcdir + +autoreconf -v --install || exit 1 +cd $ORIGDIR || exit $? + +$srcdir/configure --enable-maintainer-mode "$@" --- xserver-xorg-input-vmmouse-12.6.4.orig/.gitignore +++ xserver-xorg-input-vmmouse-12.6.4/.gitignore @@ -0,0 +1,23 @@ +Makefile +Makefile.in +*.la +*.lo +*.o +.deps +.libs +aclocal.m4 +autom4te.cache +config.guess +config.h +config.h.in +config.log +config.status +config.sub +configure +depcomp +install-sh +libtool +ltmain.sh +missing +stamp-h1 +*~ --- xserver-xorg-input-vmmouse-12.6.4.orig/debian/copyright +++ xserver-xorg-input-vmmouse-12.6.4/debian/copyright @@ -0,0 +1,30 @@ +This package was downloaded from +http://xorg.freedesktop.org/releases/individual/driver/ + +Debianised by Drew Parsons on Saturday, October 14 2006 +from source located at http://xorg.freedesktop.org/releases/individual/driver/. + + +Copyright (c) 2006 VMware, Inc. + +Permission is hereby granted, free of charge, to any person obtaining a copy of this +software and associated documentation files (the "Software"), to deal in the Software +without restriction, including without limitation the rights to use, copy, modify, merge, +publish, distribute, sublicense, and/or sell copies of the Software, and to permit +persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or +substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, +INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR +PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE +FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of the copyright holder(s) and author(s) +shall not be used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from the copyright holder(s) and +author(s). + --- xserver-xorg-input-vmmouse-12.6.4.orig/debian/changelog +++ xserver-xorg-input-vmmouse-12.6.4/debian/changelog @@ -0,0 +1,251 @@ +xserver-xorg-input-vmmouse (1:12.6.4-1ubuntu1) karmic; urgency=low + + * Merge from debian unstable. + * New changes: + - debian/control: + + Add mdetect (<< 0.5.2.1ubuntu5) to Replaces: for seamless upgrade. + This change may be removed after we drop Hardy support. + * Fixes bugs: + - VMWare fusion host + vmmouse driver generates drag events on + any click (LP: #366521) + + -- Krzysztof Klimonda Fri, 22 May 2009 15:03:55 +0200 + +xserver-xorg-input-vmmouse (1:12.6.4-1) unstable; urgency=low + + * New upstream release. + + -- Brice Goglin Mon, 11 May 2009 20:13:16 +0200 + +xserver-xorg-input-vmmouse (1:12.6.3-2) unstable; urgency=low + + * Upload to unstable. + + -- Julien Cristau Thu, 09 Apr 2009 16:35:55 +0100 + +xserver-xorg-input-vmmouse (1:12.6.3-1) experimental; urgency=low + + * New upstream release. + * Drop patch vmmouse_scale_input_data.diff, it's been fixed upstream a while + back. + * Run autoreconf at build time. Build-depend on automake, libtool and + xutils-dev. + * Handle parallel builds. + * Install a detection program, a hal fdi file and a callout script for X + input hotplug. This closes: #509053, since the vmmouse no longer needs to + be configured in xorg.conf. + * Don't override the manpage suffix, it should be vmmouse(4) not + vmmouse(4x). + * Build against xserver 1.6 rc1. + * Add myself to Uploaders. + * Add Depends on xserver-xorg-input-mouse (closes: #509458) + + -- Julien Cristau Fri, 30 Jan 2009 22:30:11 +0100 + +xserver-xorg-input-vmmouse (1:12.5.1-4ubuntu5) jaunty; urgency=low + + * Add mdetect to dependencies (LP: #362027) + + -- John Dong Wed, 15 Apr 2009 18:28:04 -0400 + +xserver-xorg-input-vmmouse (1:12.5.1-4ubuntu4) jaunty; urgency=low + + * debian/patches/fix-mouse-scrolling.patch: Cherry-pick from upstream + (LP: #326050) + + -- Benjamin Drung Fri, 27 Mar 2009 13:22:04 +0100 + +xserver-xorg-input-vmmouse (1:12.5.1-4ubuntu3) jaunty; urgency=low + + * Add xserver_1_6.patch: With xserver 1.6, the OSmouse code has been + dropped, including the xf86OSmouse.h header that vmmouse uses. Add + it here locally so the driver will at least build. This will require + additional analysis to verify the driver still functions properly, + as well as whether the header file should live somewhere better than + here. There are still many warnings about deprecated function calls, + so this driver probably needs additional work to fully update it for + xserver 1.6. + + -- Bryce Harrington Thu, 18 Dec 2008 11:33:39 -0800 + +xserver-xorg-input-vmmouse (1:12.5.1-4ubuntu2) jaunty; urgency=low + + * Rebuild against the new xserver. + + -- Timo Aaltonen Mon, 15 Dec 2008 11:50:03 +0200 + +xserver-xorg-input-vmmouse (1:12.5.1-4ubuntu1) jaunty; urgency=low + + * Merge from debian unstable, remaining changes: + - hal-probe-vmmouse, fdi/11-x11-vmmouse.fdi: Add HAL fdi and callout + script to make -vmmouse hotplug work. (LP: #285305) + * Drop vmmouse_abs_valuator_axis.diff as this was an upstream cherrypick + + -- Bryce Harrington Mon, 08 Dec 2008 17:04:45 -0800 + +xserver-xorg-input-vmmouse (1:12.5.1-4) unstable; urgency=low + + * I need a brown paper bag; autoreconf so the patch added in -3 is actually + used… + + -- Julien Cristau Tue, 21 Oct 2008 10:48:19 +0200 + +xserver-xorg-input-vmmouse (1:12.5.1-3) unstable; urgency=low + + * Cherry-pick from upstream: Properly set axis range and resolution for + Server 1.5+ (closes: #490912). + + -- Julien Cristau Sat, 18 Oct 2008 10:55:07 +0200 + +xserver-xorg-input-vmmouse (1:12.5.1-2) unstable; urgency=low + + * Rebuild against xserver-xorg-dev 1.4.2 so that conversion_proc + isn't called by both the driver and the server. + + -- Brice Goglin Tue, 01 Jul 2008 20:05:02 +0200 + +xserver-xorg-input-vmmouse (1:12.5.1-1ubuntu5.1) intrepid-proposed; urgency=low + + * hal-probe-vmmouse, fdi/11-x11-vmmouse.fdi: Add HAL fdi and callout + script to make -vmmouse hotplug work. (LP: #285305) + * Hardcode definition for ABS_VALUATOR_AXES; the configure test is + irrelevant since we already depend on xserver >= 1.4 in + debian/control. (LP: #248521) + + -- Bryce Harrington Mon, 03 Nov 2008 18:15:01 -0800 + +xserver-xorg-input-vmmouse (1:12.5.1-1ubuntu5) intrepid; urgency=low + + * vmmouse_abs_valuator_axis.diff: + + Also include a required change to configure[.ac] + + -- Bryce Harrington Mon, 20 Oct 2008 18:27:17 -0700 + +xserver-xorg-input-vmmouse (1:12.5.1-1ubuntu4) intrepid; urgency=low + + * vmmouse_abs_valuator_axis.diff: + + Cherrypick change from upstream 12.5.2 release which conditionalizes + xf86InitValuatorAxisStruct() calls based on the ABS_VALUATOR_AXES + setting. This fixes a problem where incorrect x,y values are + registered from mouse clicks. (LP: #248521) + + -- Bryce Harrington Sat, 18 Oct 2008 00:04:05 -0700 + +xserver-xorg-input-vmmouse (1:12.5.1-1ubuntu3) intrepid; urgency=low + + * Rebuild against the new xserver-xorg-dev. + + -- Timo Aaltonen Mon, 07 Jul 2008 17:47:12 +0300 + +xserver-xorg-input-vmmouse (1:12.5.1-1ubuntu2) intrepid; urgency=low + + * debian/patches/100_fix_scale.patch, debian/patches/series: drop our patch, + as if was fixed in the new upstream release (in a different way). Fixing + the scale twice broke it again. :-) + . + The package can be synced again. + + -- Daniel Holbach Wed, 25 Jun 2008 07:53:22 +0200 + +xserver-xorg-input-vmmouse (1:12.5.1-1ubuntu1) intrepid; urgency=low + + * Merge from debian unstable, remaining changes: + + 100_fix_scale.patch: vmmouse doesn't get proper values for x&y axis + scales with the current xserver, and this is a temporary fix until a + proper one is in place (LP: 180968). + + Change the maintainer address. + + -- Bryce Harrington Tue, 17 Jun 2008 17:26:39 -0700 + +xserver-xorg-input-vmmouse (1:12.5.1-1) unstable; urgency=low + + * New upstream release. + + Disable vmmouse_scale_input_data.diff since the corresponding + upstream fix has been applied. + * Bump Standards-Version to 3.7.3 (no changes). + * Run dpkg-shlibdeps with --warnings=6. Drivers reference symbols from + /usr/bin/Xorg and other modules, and that's not a bug, so we want + dpkg-shlibdeps to shut up about symbols it can't find. + + Build-depend on dpkg-dev >= 1.14.17. + + -- Brice Goglin Wed, 28 May 2008 22:41:25 +0200 + +xserver-xorg-input-vmmouse (1:12.4.3-2) unstable; urgency=low + + [ Julien Cristau ] + * Scale input events, as X 1.4 doesn't do that itself anymore. + Patch by Joerg Platte (closes: #442853). + + [ Brice Goglin ] + * Drop XS- prefixes from XS-Vcs* fields. + + -- Brice Goglin Thu, 17 Jan 2008 22:32:08 +0100 + +xserver-xorg-input-vmmouse (1:12.4.3-1ubuntu1) hardy; urgency=low + + * 100_fix_scale.patch: vmmouse doesn't get proper values for x&y axis + scales with the current xserver, and this is a temporary fix until a + proper one is in place (LP: #180968). + * Change the maintainer address. + + -- Timo Aaltonen Tue, 08 Jan 2008 11:14:34 +0200 + +xserver-xorg-input-vmmouse (1:12.4.3-1) unstable; urgency=low + + * New upstream version. + + -- Drew Parsons Mon, 29 Oct 2007 01:24:59 +1100 + +xserver-xorg-input-vmmouse (1:12.4.2-3) unstable; urgency=low + + * Upload to unstable + + -- David Nusinow Sun, 16 Sep 2007 15:13:40 -0400 + +xserver-xorg-input-vmmouse (1:12.4.2-2) UNRELEASED; urgency=low + + * Fix upstream URL in debian/copyright. + + -- Brice Goglin Sat, 15 Sep 2007 01:49:07 +0200 + +xserver-xorg-input-vmmouse (1:12.4.2-1) experimental; urgency=low + + [ Julien Cristau ] + * Add link to xserver-xorg-core bug script, so that bugreports contain + the user's config and log files. + * Generate the dependency on xserver-xorg-core automatically. + + [ Brice Goglin ] + * New upstream release. + * Drop 10_man_vmmouse_not_mouse, since upstream fixed the manpage. + * Install the upstream changelog. + * Bump Build-Depends: xserver-xorg-dev to >= 2:1.2.99.902 + (needed to let xsfbs get access to serverminver). + * Add XS-Vcs-*. + * Add a link to www.X.org and a reference to the xf86-input-vmmouse + module in the long description. + * Add upstream URL to debian/copyright. + * Build against xserver 1.4. + * Generate the Provides field automatically. + * Add myself to uploaders, and remove Branden with his permission. + + [ Timo Aaltonen ] + * Bump the epoch so that this can be synced to Ubuntu in the future. + + -- Brice Goglin Tue, 11 Sep 2007 23:58:50 +0200 + +xserver-xorg-input-vmmouse (12.4.0-2) unstable; urgency=low + + * Restrict to Architecture: i386 amd64, since vmmouse_proto.h + explicitly says only x86 (i386 or x86_64) is supported. + + -- Drew Parsons Tue, 24 Oct 2006 18:37:21 +1000 + +xserver-xorg-input-vmmouse (12.4.0-1) unstable; urgency=low + + * Initial release, new in X11R7. + * Create patch 10_man_vmmouse_not_mouse to let the man page identify + this is vmmouse, not mouse. + + -- Drew Parsons Sun, 15 Oct 2006 02:28:56 +1000 + --- xserver-xorg-input-vmmouse-12.6.4.orig/debian/watch +++ xserver-xorg-input-vmmouse-12.6.4/debian/watch @@ -0,0 +1,2 @@ +version=3 +http://xorg.freedesktop.org/releases/individual/driver/ xf86-input-vmmouse-(.*)\.tar\.gz --- xserver-xorg-input-vmmouse-12.6.4.orig/debian/control +++ xserver-xorg-input-vmmouse-12.6.4/debian/control @@ -0,0 +1,45 @@ +Source: xserver-xorg-input-vmmouse +Section: x11 +Priority: optional +Maintainer: Ubuntu X-SWAT +XSBC-Original-Maintainer: Debian X Strike Force +Uploaders: David Nusinow , Drew Parsons , Brice Goglin , Julien Cristau +Build-Depends: + debhelper (>= 5), + pkg-config, + xserver-xorg-dev (>= 2:1.5.99.901), + x11proto-input-dev, + x11proto-core-dev, + x11proto-randr-dev, + quilt, + dpkg-dev (>= 1.14.17), + automake, + libtool, + xutils-dev +Standards-Version: 3.7.3 +Vcs-Git: git://git.debian.org/git/pkg-xorg/driver/xserver-xorg-input-vmmouse +Vcs-Browser: http://git.debian.org/?p=pkg-xorg/driver/xserver-xorg-input-vmmouse.git + +Package: xserver-xorg-input-vmmouse +Architecture: i386 amd64 +Depends: ${shlibs:Depends}, ${misc:Depends}, ${xserver:Depends}, xserver-xorg-input-mouse +Provides: ${xinpdriver:Provides} +Replaces: xserver-xorg (<< 6.8.2-35), mdetect (<< 0.5.2.2) +Description: X.Org X server -- VMMouse input driver to use with VMWare + This package provides the driver for the X11 vmmouse input device. + . + The VMMouse driver enables support for the special VMMouse protocol + that is provided by VMware virtual machines to give absolute pointer + positioning. + . + The vmmouse driver is capable of falling back to the standard "mouse" + driver if a VMware virtual machine is not detected. This allows for + dual-booting of an operating system from a virtual machine to real hardware + without having to edit xorg.conf every time. + . + More information about X.Org can be found at: + + + + . + This package is built from the X.org xf86-input-vmmouse driver module. --- xserver-xorg-input-vmmouse-12.6.4.orig/debian/xserver-xorg-input-vmmouse.links +++ xserver-xorg-input-vmmouse-12.6.4/debian/xserver-xorg-input-vmmouse.links @@ -0,0 +1 @@ +usr/share/bug/xserver-xorg-core/script usr/share/bug/xserver-xorg-input-vmmouse/script --- xserver-xorg-input-vmmouse-12.6.4.orig/debian/rules +++ xserver-xorg-input-vmmouse-12.6.4/debian/rules @@ -0,0 +1,99 @@ +#!/usr/bin/make -f +# debian/rules for the Debian xserver-xorg-input-vmmouse package. +# Copyright © 2004 Scott James Remnant +# Copyright © 2005 Daniel Stone +# Copyright © 2005 David Nusinow +# Copyright © 2006 Drew Parsons + +# Uncomment this to turn on verbose mode. +#export DH_VERBOSE=1 + +include debian/xsfbs/xsfbs.mk + +CFLAGS = -Wall -g +ifneq (,$(filter noopt,$(DEB_BUILD_OPTIONS))) + CFLAGS += -O0 +else + CFLAGS += -O2 +endif +ifneq (,$(filter parallel=%,$(DEB_BUILD_OPTIONS))) + NUMJOBS = $(patsubst parallel=%,%,$(filter parallel=%,$(DEB_BUILD_OPTIONS))) + MAKEFLAGS += -j$(NUMJOBS) +endif + +DEB_HOST_ARCH ?= $(shell dpkg-architecture -qDEB_HOST_ARCH) +DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE) +DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE) +ifeq ($(DEB_BUILD_GNU_TYPE), $(DEB_HOST_GNU_TYPE)) + confflags += --build=$(DEB_HOST_GNU_TYPE) +else + confflags += --build=$(DEB_BUILD_GNU_TYPE) --host=$(DEB_HOST_GNU_TYPE) +endif + +# kbd_drv.a isn't phenomenally useful; kbd_drv.so more so +confflags += --disable-static + +configure: $(STAMP_DIR)/patch + autoreconf -vfi + +build: build-stamp +build-stamp: configure + dh_testdir + + test -d obj-$(DEB_BUILD_GNU_TYPE) || mkdir obj-$(DEB_BUILD_GNU_TYPE) + cd obj-$(DEB_BUILD_GNU_TYPE) && \ + ../configure --prefix=/usr --mandir=\$${prefix}/share/man \ + --infodir=\$${prefix}/share/info $(confflags) \ + CFLAGS="$(CFLAGS)" + cd obj-$(DEB_BUILD_GNU_TYPE) && $(MAKE) + >$@ + +clean: xsfclean + dh_testdir + dh_testroot + rm -f build-stamp + + rm -f config.cache config.log config.status + rm -f */config.cache */config.log */config.status + rm -f conftest* */conftest* + rm -rf autom4te.cache */autom4te.cache + rm -rf obj-* + rm -f aclocal.m4 config.guess config.sub config.h.in configure + rm -f depcomp install-sh ltmain.sh missing + rm -f $$(find -name Makefile.in) + + dh_clean + +install: build + dh_testdir + dh_testroot + dh_clean -k + dh_installdirs + + cd obj-$(DEB_BUILD_GNU_TYPE) && $(MAKE) DESTDIR=$(CURDIR)/debian/tmp install + +# Build architecture-dependent files here. +binary-arch: build install serverabi + dh_testdir + dh_testroot + + dh_installdocs README + dh_installchangelogs ChangeLog + dh_install --sourcedir=debian/tmp --list-missing --exclude=vmmouse_drv.la + dh_installman + dh_link + dh_strip + dh_compress + dh_fixperms + dh_installdeb + dh_shlibdeps -- --warnings=6 + dh_gencontrol + dh_md5sums + dh_builddeb + +# Build architecture-independent files here. +binary-indep: build install +# Nothing to do + +binary: binary-indep binary-arch +.PHONY: build clean binary-indep binary-arch binary install --- xserver-xorg-input-vmmouse-12.6.4.orig/debian/xserver-xorg-input-vmmouse.install +++ xserver-xorg-input-vmmouse-12.6.4/debian/xserver-xorg-input-vmmouse.install @@ -0,0 +1,5 @@ +usr/lib/xorg/modules/input/*.so +usr/bin/vmmouse_detect +usr/lib/hal/hal-probe-vmmouse +usr/share/man +usr/share/hal/fdi/policy/20thirdparty/* --- xserver-xorg-input-vmmouse-12.6.4.orig/debian/compat +++ xserver-xorg-input-vmmouse-12.6.4/debian/compat @@ -0,0 +1 @@ +5 --- xserver-xorg-input-vmmouse-12.6.4.orig/debian/xsfbs/repack.sh +++ xserver-xorg-input-vmmouse-12.6.4/debian/xsfbs/repack.sh @@ -0,0 +1,32 @@ +#!/bin/sh + +set -e + +if ! [ -d debian/prune ]; then + exit 0 +fi + +if [ "x$1" != x--upstream-version ]; then + exit 1 +fi + +version="$2" +filename="$3" + +if [ -z "$version" ] || ! [ -f "$filename" ]; then + exit 1 +fi + +dir="$(pwd)" +tempdir="$(mktemp -d)" + +cd "$tempdir" +tar xf "$dir/$filename" +cat "$dir"/debian/prune/* | while read file; do rm -f */$file; done + +tar czf "$dir/$filename" * +cd "$dir" +rm -rf "$tempdir" +echo "Done pruning upstream tarball" + +exit 0 --- xserver-xorg-input-vmmouse-12.6.4.orig/debian/xsfbs/xsfbs.sh +++ xserver-xorg-input-vmmouse-12.6.4/debian/xsfbs/xsfbs.sh @@ -0,0 +1,865 @@ +# $Id$ + +# This is the X Strike Force shell library for X Window System package +# maintainer scripts. It serves to define shell functions commonly used by +# such packages, and performs some error checking necessary for proper operation +# of those functions. By itself, it does not "do" much; the maintainer scripts +# invoke the functions defined here to accomplish package installation and +# removal tasks. + +# If you are reading this within a Debian package maintainer script (e.g., +# /var/lib/dpkg)info/PACKAGE.{config,preinst,postinst,prerm,postrm}), you can +# skip past this library by scanning forward in this file to the string +# "GOBSTOPPER". + +SOURCE_VERSION=@SOURCE_VERSION@ +OFFICIAL_BUILD=@OFFICIAL_BUILD@ + +# Use special abnormal exit codes so that problems with this library are more +# easily tracked down. +SHELL_LIB_INTERNAL_ERROR=86 +SHELL_LIB_THROWN_ERROR=74 +SHELL_LIB_USAGE_ERROR=99 + +# old -> new variable names +if [ -z "$DEBUG_XORG_PACKAGE" ] && [ -n "$DEBUG_XFREE86_PACKAGE" ]; then + DEBUG_XORG_PACKAGE="$DEBUG_XFREE86_PACKAGE" +fi +if [ -z "$DEBUG_XORG_DEBCONF" ] && [ -n "$DEBUG_XFREE86_DEBCONF" ]; then + DEBUG_XORG_DEBCONF="$DEBUG_XFREE86_DEBCONF" +fi + +# initial sanity checks +if [ -z "$THIS_PACKAGE" ]; then + cat >&2 < on the World Wide Web for +instructions, read the file /usr/share/doc/debian/bug-reporting.txt from the +"doc-debian" package, or install the "reportbug" package and use the command of +the same name to file a report against version $SOURCE_VERSION of this package. +EOF + exit $SHELL_LIB_USAGE_ERROR +fi + +if [ -z "$THIS_SCRIPT" ]; then + cat >&2 < on the World Wide Web for +instructions, read the file /usr/share/doc/debian/bug-reporting.txt from the +"doc-debian" package, or install the "reportbug" package and use the command of +the same name to file a report against version $SOURCE_VERSION of the +"$THIS_PACKAGE" package. +EOF + exit $SHELL_LIB_USAGE_ERROR +fi + +ARCHITECTURE="$(dpkg --print-installation-architecture)" + +if [ "$1" = "reconfigure" ] || [ -n "$DEBCONF_RECONFIGURE" ]; then + RECONFIGURE="true" +else + RECONFIGURE= +fi + +if ([ "$1" = "install" ] || [ "$1" = "configure" ]) && [ -z "$2" ]; then + FIRSTINST="yes" +fi + +if [ -z "$RECONFIGURE" ] && [ -z "$FIRSTINST" ]; then + UPGRADE="yes" +fi + +trap "message;\ + message \"Received signal. Aborting $THIS_PACKAGE package $THIS_SCRIPT script.\";\ + message;\ + exit 1" HUP INT QUIT TERM + +reject_nondigits () { + # syntax: reject_nondigits [ operand ... ] + # + # scan operands (typically shell variables whose values cannot be trusted) for + # characters other than decimal digits and barf if any are found + while [ -n "$1" ]; do + # does the operand contain anything but digits? + if ! expr "$1" : "[[:digit:]]\+$" > /dev/null 2>&1; then + # can't use die(), because it wraps message() which wraps this function + echo "$THIS_PACKAGE $THIS_SCRIPT error: reject_nondigits() encountered" \ + "possibly malicious garbage \"$1\"" >&2 + exit $SHELL_LIB_THROWN_ERROR + fi + shift + done +} + +reject_whitespace () { + # syntax: reject_whitespace [ operand ] + # + # scan operand (typically a shell variable whose value cannot be trusted) for + # whitespace characters and barf if any are found + if [ -n "$1" ]; then + # does the operand contain any whitespace? + if expr "$1" : "[[:space:]]" > /dev/null 2>&1; then + # can't use die(), because I want to avoid forward references + echo "$THIS_PACKAGE $THIS_SCRIPT error: reject_whitespace() encountered" \ + "possibly malicious garbage \"$1\"" >&2 + exit $SHELL_LIB_THROWN_ERROR + fi + fi +} + +reject_unlikely_path_chars () { + # syntax: reject_unlikely_path_chars [ operand ... ] + # + # scan operands (typically shell variables whose values cannot be trusted) for + # characters unlikely to be seen in a path and which the shell might + # interpret and barf if any are found + while [ -n "$1" ]; do + # does the operand contain any funny characters? + if expr "$1" : '.*[!$&()*;<>?|].*' > /dev/null 2>&1; then + # can't use die(), because I want to avoid forward references + echo "$THIS_PACKAGE $THIS_SCRIPT error: reject_unlikely_path_chars()" \ + "encountered possibly malicious garbage \"$1\"" >&2 + exit $SHELL_LIB_THROWN_ERROR + fi + shift + done +} + +# Query the terminal to establish a default number of columns to use for +# displaying messages to the user. This is used only as a fallback in the +# event the COLUMNS variable is not set. ($COLUMNS can react to SIGWINCH while +# the script is running, and this cannot, only being calculated once.) +DEFCOLUMNS=$(stty size 2> /dev/null | awk '{print $2}') || true +if ! expr "$DEFCOLUMNS" : "[[:digit:]]\+$" > /dev/null 2>&1; then + DEFCOLUMNS=80 +fi + +message () { + # pretty-print messages of arbitrary length + reject_nondigits "$COLUMNS" + echo "$*" | fmt -t -w ${COLUMNS:-$DEFCOLUMNS} >&2 +} + +observe () { + # syntax: observe message ... + # + # issue observational message suitable for logging someday when support for + # it exists in dpkg + if [ -n "$DEBUG_XORG_PACKAGE" ]; then + message "$THIS_PACKAGE $THIS_SCRIPT note: $*" + fi +} + +warn () { + # syntax: warn message ... + # + # issue warning message suitable for logging someday when support for + # it exists in dpkg; also send to standard error + message "$THIS_PACKAGE $THIS_SCRIPT warning: $*" +} + +die () { + # syntax: die message ... + # + # exit script with error message + message "$THIS_PACKAGE $THIS_SCRIPT error: $*" + exit $SHELL_LIB_THROWN_ERROR +} + +internal_error () { + # exit script with error; essentially a "THIS SHOULD NEVER HAPPEN" message + message "internal error: $*" + if [ -n "$OFFICIAL_BUILD" ]; then + message "Please report a bug in the $THIS_SCRIPT script of the" \ + "$THIS_PACKAGE package, version $SOURCE_VERSION to the Debian Bug" \ + "Tracking System. Include all messages above that mention the" \ + "$THIS_PACKAGE package. Visit " \ + " on the World Wide Web for" \ + "instructions, read the file" \ + "/usr/share/doc/debian/bug-reporting.txt from the doc-debian" \ + "package, or install the reportbug package and use the command of" \ + "the same name to file a report." + fi + exit $SHELL_LIB_INTERNAL_ERROR +} + +usage_error () { + message "usage error: $*" + message "Please report a bug in the $THIS_SCRIPT script of the" \ + "$THIS_PACKAGE package, version $SOURCE_VERSION to the Debian Bug" \ + "Tracking System. Include all messages above that mention the" \ + "$THIS_PACKAGE package. Visit " \ + " on the World Wide Web for" \ + "instructions, read the file" \ + "/usr/share/doc/debian/bug-reporting.txt from the doc-debian" \ + "package, or install the reportbug package and use the command of" \ + "the same name to file a report." + exit $SHELL_LIB_USAGE_ERROR +} + + +maplink () { + # returns what symlink should point to; i.e., what the "sane" answer is + # Keep this in sync with the debian/*.links files. + # This is only needed for symlinks to directories. + # + # XXX: Most of these look wrong in the X11R7 world and need to be fixed. + # If we've stopped using this function, fixing it might enable us to re-enable + # it again and catch more errors. + case "$1" in + /etc/X11/xkb/compiled) echo /var/lib/xkb ;; + /etc/X11/xkb/xkbcomp) echo /usr/X11R6/bin/xkbcomp ;; + /usr/X11R6/lib/X11/app-defaults) echo /etc/X11/app-defaults ;; + /usr/X11R6/lib/X11/fs) echo /etc/X11/fs ;; + /usr/X11R6/lib/X11/lbxproxy) echo /etc/X11/lbxproxy ;; + /usr/X11R6/lib/X11/proxymngr) echo /etc/X11/proxymngr ;; + /usr/X11R6/lib/X11/rstart) echo /etc/X11/rstart ;; + /usr/X11R6/lib/X11/twm) echo /etc/X11/twm ;; + /usr/X11R6/lib/X11/xdm) echo /etc/X11/xdm ;; + /usr/X11R6/lib/X11/xinit) echo /etc/X11/xinit ;; + /usr/X11R6/lib/X11/xkb) echo /etc/X11/xkb ;; + /usr/X11R6/lib/X11/xserver) echo /etc/X11/xserver ;; + /usr/X11R6/lib/X11/xsm) echo /etc/X11/xsm ;; + /usr/bin/X11) echo ../X11R6/bin ;; + /usr/bin/rstartd) echo ../X11R6/bin/rstartd ;; + /usr/include/X11) echo ../X11R6/include/X11 ;; + /usr/lib/X11) echo ../X11R6/lib/X11 ;; + *) internal_error "maplink() called with unknown path \"$1\"" ;; + esac +} + +analyze_path () { + # given a supplied set of pathnames, break each one up by directory and do an + # ls -dl on each component, cumulatively; i.e. + # analyze_path /usr/X11R6/bin -> ls -dl /usr /usr/X11R6 /usr/X11R6/bin + # Thanks to Randolph Chung for this clever hack. + + local f g + + while [ -n "$1" ]; do + reject_whitespace "$1" + g= + message "Analyzing $1:" + for f in $(echo "$1" | tr / \ ); do + if [ -e /$g$f ]; then + ls -dl /$g$f /$g$f.dpkg-* 2> /dev/null || true + g=$g$f/ + else + message "/$g$f: nonexistent; directory contents of /$g:" + ls -l /$g + break + fi + done + shift + done +} + +find_culprits () { + local f p dpkg_info_dir possible_culprits smoking_guns bad_packages package \ + msg + + reject_whitespace "$1" + message "Searching for overlapping packages..." + dpkg_info_dir=/var/lib/dpkg/info + if [ -d $dpkg_info_dir ]; then + if [ "$(echo $dpkg_info_dir/*.list)" != "$dpkg_info_dir/*.list" ]; then + possible_culprits=$(ls -1 $dpkg_info_dir/*.list | egrep -v \ + "(xbase-clients|x11-common|xfs|xlibs)") + if [ -n "$possible_culprits" ]; then + smoking_guns=$(grep -l "$1" $possible_culprits || true) + if [ -n "$smoking_guns" ]; then + bad_packages=$(printf "\\n") + for f in $smoking_guns; do + # too bad you can't nest parameter expansion voodoo + p=${f%*.list} # strip off the trailing ".list" + package=${p##*/} # strip off the directories + bad_packages=$(printf "%s\n%s" "$bad_packages" "$package") + done + msg=$(cat < /dev/null 2>&1; then + message "The readlink command was not found. Please install version" \ + "1.13.1 or later of the debianutils package." + readlink () { + # returns what symlink in $1 actually points to + perl -e '$l = shift; exit 1 unless -l $l; $r = readlink $l; exit 1 unless $r; print "$r\n"' "$1" + } +fi + +check_symlink () { + # syntax: check_symlink symlink + # + # See if specified symlink points where it is supposed to. Return 0 if it + # does, and 1 if it does not. + # + # Primarily used by check_symlinks_and_warn() and check_symlinks_and_bomb(). + + local symlink + + # validate arguments + if [ $# -ne 1 ]; then + usage_error "check_symlink() called with wrong number of arguments;" \ + "expected 1, got $#" + exit $SHELL_LIB_USAGE_ERROR + fi + + symlink="$1" + + if [ "$(maplink "$symlink")" = "$(readlink "$symlink")" ]; then + return 0 + else + return 1 + fi +} + +check_symlinks_and_warn () { + # syntax: check_symlinks_and_warn symlink ... + # + # For each argument, check for symlink sanity, and warn if it isn't sane. + # + # Call this function from a preinst script in the event $1 is "upgrade" or + # "install". + + local errmsg symlink + + # validate arguments + if [ $# -lt 1 ]; then + usage_error "check_symlinks_and_warn() called with wrong number of" \ + "arguments; expected at least 1, got $#" + exit $SHELL_LIB_USAGE_ERROR + fi + + while [ -n "$1" ]; do + symlink="$1" + if [ -L "$symlink" ]; then + if ! check_symlink "$symlink"; then + observe "$symlink symbolic link points to wrong location" \ + "$(readlink "$symlink"); removing" + rm "$symlink" + fi + elif [ -e "$symlink" ]; then + errmsg="$symlink exists and is not a symbolic link; this package cannot" + errmsg="$errmsg be installed until this" + if [ -f "$symlink" ]; then + errmsg="$errmsg file" + elif [ -d "$symlink" ]; then + errmsg="$errmsg directory" + else + errmsg="$errmsg thing" + fi + errmsg="$errmsg is removed" + die "$errmsg" + fi + shift + done +} + +check_symlinks_and_bomb () { + # syntax: check_symlinks_and_bomb symlink ... + # + # For each argument, check for symlink sanity, and bomb if it isn't sane. + # + # Call this function from a postinst script. + + local problem symlink + + # validate arguments + if [ $# -lt 1 ]; then + usage_error "check_symlinks_and_bomb() called with wrong number of" + "arguments; expected at least 1, got $#" + exit $SHELL_LIB_USAGE_ERROR + fi + + while [ -n "$1" ]; do + problem= + symlink="$1" + if [ -L "$symlink" ]; then + if ! check_symlink "$symlink"; then + problem=yes + warn "$symlink symbolic link points to wrong location" \ + "$(readlink "$symlink")" + fi + elif [ -e "$symlink" ]; then + problem=yes + warn "$symlink is not a symbolic link" + else + problem=yes + warn "$symlink symbolic link does not exist" + fi + if [ -n "$problem" ]; then + analyze_path "$symlink" "$(readlink "$symlink")" + find_culprits "$symlink" + die "bad symbolic links on system" + fi + shift + done +} + +font_update () { + # run $UPDATECMDS in $FONTDIRS + + local dir cmd shortcmd x_font_dir_prefix + + x_font_dir_prefix="/usr/share/fonts/X11" + + if [ -z "$UPDATECMDS" ]; then + usage_error "font_update() called but \$UPDATECMDS not set" + fi + if [ -z "$FONTDIRS" ]; then + usage_error "font_update() called but \$FONTDIRS not set" + fi + + reject_unlikely_path_chars "$UPDATECMDS" + reject_unlikely_path_chars "$FONTDIRS" + + for dir in $FONTDIRS; do + if [ -d "$x_font_dir_prefix/$dir" ]; then + for cmd in $UPDATECMDS; do + if which "$cmd" > /dev/null 2>&1; then + shortcmd=${cmd##*/} + observe "running $shortcmd in $dir font directory" + cmd_opts= + if [ "$shortcmd" = "update-fonts-alias" ]; then + cmd_opts=--x11r7-layout + fi + if [ "$shortcmd" = "update-fonts-dir" ]; then + cmd_opts=--x11r7-layout + fi + if [ "$shortcmd" = "update-fonts-scale" ]; then + cmd_opts=--x11r7-layout + fi + $cmd $cmd_opts $dir || warn "$cmd $cmd_opts $dir" \ + "failed; font directory data may not" \ + "be up to date" + else + warn "$cmd not found; not updating corresponding $dir font" \ + "directory data" + fi + done + else + warn "$dir is not a directory; not updating font directory data" + fi + done +} + +remove_conffile_prepare () { + # syntax: remove_conffile_prepare filename official_md5sum ... + # + # Check a conffile "filename" against a list of canonical MD5 checksums. + # If the file's current MD5 checksum matches one of the "official_md5sum" + # operands provided, then prepare the conffile for removal from the system. + # We defer actual deletion until the package is configured so that we can + # roll this operation back if package installation fails. + # + # Call this function from a preinst script in the event $1 is "upgrade" or + # "install" and verify $2 to ensure the package is being upgraded from a + # version (or installed over a version removed-but-not-purged) prior to the + # one in which the conffile was obsoleted. + + local conffile current_checksum + + # validate arguments + if [ $# -lt 2 ]; then + usage_error "remove_conffile_prepare() called with wrong number of" \ + "arguments; expected at least 2, got $#" + exit $SHELL_LIB_USAGE_ERROR + fi + + conffile="$1" + shift + + # does the conffile even exist? + if [ -e "$conffile" ]; then + # calculate its checksum + current_checksum=$(md5sum < "$conffile" | sed 's/[[:space:]].*//') + # compare it to each supplied checksum + while [ -n "$1" ]; do + if [ "$current_checksum" = "$1" ]; then + # we found a match; move the confffile and stop looking + observe "preparing obsolete conffile $conffile for removal" + mv "$conffile" "$conffile.$THIS_PACKAGE-tmp" + break + fi + shift + done + fi +} + +remove_conffile_lookup () { + # syntax: remove_conffile_lookup package filename + # + # Lookup the md5sum of a conffile in dpkg's database, and prepare for removal + # if it matches the actual file's md5sum. + # + # Call this function when you would call remove_conffile_prepare but only + # want to check against dpkg's status database instead of known checksums. + + local package conffile old_md5sum + + # validate arguments + if [ $# -ne 2 ]; then + usage_error "remove_conffile_lookup() called with wrong number of" \ + "arguments; expected 1, got $#" + exit $SHELL_LIB_USAGE_ERROR + fi + + package="$1" + conffile="$2" + + if ! [ -e "$conffile" ]; then + return + fi + old_md5sum="$(dpkg-query -W -f='${Conffiles}' "$package" | \ + awk '{ if (match($0, "^ '"$conffile"' ")) print $2}')" + if [ -n "$old_md5sum" ]; then + remove_conffile_prepare "$conffile" "$old_md5sum" + fi +} + +remove_conffile_commit () { + # syntax: remove_conffile_commit filename + # + # Complete the removal of a conffile "filename" that has become obsolete. + # + # Call this function from a postinst script after having used + # remove_conffile_prepare() in the preinst. + + local conffile + + # validate arguments + if [ $# -ne 1 ]; then + usage_error "remove_conffile_commit() called with wrong number of" \ + "arguments; expected 1, got $#" + exit $SHELL_LIB_USAGE_ERROR + fi + + conffile="$1" + + # if the temporary file created by remove_conffile_prepare() exists, remove it + if [ -e "$conffile.$THIS_PACKAGE-tmp" ]; then + observe "committing removal of obsolete conffile $conffile" + rm "$conffile.$THIS_PACKAGE-tmp" + fi +} + +remove_conffile_rollback () { + # syntax: remove_conffile_rollback filename + # + # Roll back the removal of a conffile "filename". + # + # Call this function from a postrm script in the event $1 is "abort-upgrade" + # or "abort-install" is after having used remove_conffile_prepare() in the + # preinst. + + local conffile + + # validate arguments + if [ $# -ne 1 ]; then + usage_error "remove_conffile_rollback() called with wrong number of" \ + "arguments; expected 1, got $#" + exit $SHELL_LIB_USAGE_ERROR + fi + + conffile="$1" + + # if the temporary file created by remove_conffile_prepare() exists, move it + # back + if [ -e "$conffile.$THIS_PACKAGE-tmp" ]; then + observe "rolling back removal of obsolete conffile $conffile" + mv "$conffile.$THIS_PACKAGE-tmp" "$conffile" + fi +} + +replace_conffile_with_symlink_prepare () { + # syntax: replace_conffile_with_symlink_prepare oldfilename newfilename \ + # official_md5sum ... + # + # Check a conffile "oldfilename" against a list of canonical MD5 checksums. + # If the file's current MD5 checksum matches one of the "official_md5sum" + # operands provided, then prepare the conffile for removal from the system. + # We defer actual deletion until the package is configured so that we can + # roll this operation back if package installation fails. Otherwise copy it + # to newfilename and let dpkg handle it through conffiles mechanism. + # + # Call this function from a preinst script in the event $1 is "upgrade" or + # "install" and verify $2 to ensure the package is being upgraded from a + # version (or installed over a version removed-but-not-purged) prior to the + # one in which the conffile was obsoleted. + + local conffile current_checksum + + # validate arguments + if [ $# -lt 3 ]; then + usage_error "replace_conffile_with_symlink_prepare() called with wrong" \ + " number of arguments; expected at least 3, got $#" + exit $SHELL_LIB_USAGE_ERROR + fi + + oldconffile="$1" + shift + newconffile="$1" + shift + + remove_conffile_prepare "$_oldconffile" "$@" + # If $oldconffile still exists, then md5sums didn't match. + # Copy it to new one. + if [ -f "$oldconffile" ]; then + cp "$oldconffile" "$newconffile" + fi + +} + +replace_conffile_with_symlink_commit () { + # syntax: replace_conffile_with_symlink_commit oldfilename + # + # Complete the removal of a conffile "oldfilename" that has been + # replaced by a symlink. + # + # Call this function from a postinst script after having used + # replace_conffile_with_symlink_prepare() in the preinst. + + local conffile + + # validate arguments + if [ $# -ne 1 ]; then + usage_error "replace_conffile_with_symlink_commit() called with wrong" \ + "number of arguments; expected 1, got $#" + exit $SHELL_LIB_USAGE_ERROR + fi + + conffile="$1" + + remove_conffile_commit "$conffile" +} + +replace_conffile_with_symlink_rollback () { + # syntax: replace_conffile_with_symlink_rollback oldfilename newfilename + # + # Roll back the replacing of a conffile "oldfilename" with symlink to + # "newfilename". + # + # Call this function from a postrm script in the event $1 is "abort-upgrade" + # or "abort-install" and verify $2 to ensure the package failed to upgrade + # from a version (or install over a version removed-but-not-purged) prior + # to the one in which the conffile was obsoleted. + # You should have used replace_conffile_with_symlink_prepare() in the + # preinst. + + local conffile + + # validate arguments + if [ $# -ne 2 ]; then + usage_error "replace_conffile_with_symlink_rollback() called with wrong" \ + "number of arguments; expected 2, got $#" + exit $SHELL_LIB_USAGE_ERROR + fi + + oldconffile="$1" + newconffile="$2" + + remove_conffile_rollback "$_oldconffile" + if [ -f "$newconffile" ]; then + rm "$newconffile" + fi +} + +run () { + # syntax: run command [ argument ... ] + # + # Run specified command with optional arguments and report its exit status. + # Useful for commands whose exit status may be nonzero, but still acceptable, + # or commands whose failure is not fatal to us. + # + # NOTE: Do *not* use this function with db_get or db_metaget commands; in + # those cases the return value of the debconf command *must* be checked + # before the string returned by debconf is used for anything. + + local retval + + # validate arguments + if [ $# -lt 1 ]; then + usage_error "run() called with wrong number of arguments; expected at" \ + "least 1, got $#" + exit $SHELL_LIB_USAGE_ERROR + fi + + "$@" || retval=$? + + if [ ${retval:-0} -ne 0 ]; then + observe "command \"$*\" exited with status $retval" + fi +} + +make_symlink_sane () { + # syntax: make_symlink_sane symlink target + # + # Ensure that the symbolic link symlink exists, and points to target. + # + # If symlink does not exist, create it and point it at target. + # + # If symlink exists but is not a symbolic link, back it up. + # + # If symlink exists, is a symbolic link, but points to the wrong location, fix + # it. + # + # If symlink exists, is a symbolic link, and already points to target, do + # nothing. + # + # This function wouldn't be needed if ln had an -I, --idempotent option. + + # Validate arguments. + if [ $# -ne 2 ]; then + usage_error "make_symlink_sane() called with wrong number of arguments;" \ + "expected 2, got $#" + exit $SHELL_LIB_USAGE_ERROR + fi + + # We could just use the positional parameters as-is, but that makes things + # harder to follow. + local symlink target + + symlink="$1" + target="$2" + + if [ -L "$symlink" ] && [ "$(readlink "$symlink")" = "$target" ]; then + observe "link from $symlink to $target already exists" + else + observe "creating symbolic link from $symlink to $target" + mkdir -p "${target%/*}" "${symlink%/*}" + ln -s -b -S ".dpkg-old" "$target" "$symlink" + fi +} + +migrate_dir_to_symlink () { + # syntax: migrate_dir_to_symlink old_location new_location + # + # Per Debian Policy section 6.5.4, "A directory will never be replaced by a + # symbolic link to a directory or vice versa; instead, the existing state + # (symlink or not) will be left alone and dpkg will follow the symlink if + # there is one." + # + # We have to do it ourselves. + # + # This function moves the contents of old_location, a directory, into + # new_location, a directory, then makes old_location a symbolic link to + # new_location. + # + # old_location need not exist, but if it does, it must be a directory (or a + # symlink to a directory). If it is not, it is backed up. If new_location + # exists already and is not a directory, it is backed up. + # + # This function should be called from a package's preinst so that other + # packages unpacked after this one --- but before this package's postinst runs + # --- are unpacked into new_location even if their payloads contain + # old_location filespecs. + + # Validate arguments. + if [ $# -ne 2 ]; then + usage_error "migrate_dir_to_symlink() called with wrong number of" + "arguments; expected 2, got $#" + exit $SHELL_LIB_USAGE_ERROR + fi + + # We could just use the positional parameters as-is, but that makes things + # harder to follow. + local new old + + old="$1" + new="$2" + + # Is old location a symlink? + if [ -L "$old" ]; then + # Does it already point to new location? + if [ "$(readlink "$old")" = "$new" ]; then + # Nothing to do; migration has already been done. + observe "migration of $old to $new already done" + return 0 + else + # Back it up. + warn "backing up symbolic link $old as $old.dpkg-old" + mv -b "$old" "$old.dpkg-old" + fi + fi + + # Does old location exist, but is not a directory? + if [ -e "$old" ] && ! [ -d "$old" ]; then + # Back it up. + warn "backing up non-directory $old as $old.dpkg-old" + mv -b "$old" "$old.dpkg-old" + fi + + observe "migrating $old to $new" + + # Is new location a symlink? + if [ -L "$new" ]; then + # Does it point the wrong way, i.e., back to where we're migrating from? + if [ "$(readlink "$new")" = "$old" ]; then + # Get rid of it. + observe "removing symbolic link $new which points to $old" + rm "$new" + else + # Back it up. + warn "backing up symbolic link $new as $new.dpkg-old" + mv -b "$new" "$new.dpkg-old" + fi + fi + + # Does new location exist, but is not a directory? + if [ -e "$new" ] && ! [ -d "$new" ]; then + warn "backing up non-directory $new as $new.dpkg-old" + mv -b "$new" "$new.dpkg-old" + fi + + # Create new directory if it does not yet exist. + if ! [ -e "$new" ]; then + observe "creating $new" + mkdir -p "$new" + fi + + # Copy files in old location to new location. Back up any filenames that + # already exist in the new location with the extension ".dpkg-old". + observe "copying files from $old to $new" + if ! (cd "$old" && cp -a -b -S ".dpkg-old" . "$new"); then + die "error(s) encountered while copying files from $old to $new" + fi + + # Remove files at old location. + observe "removing $old" + rm -r "$old" + + # Create symlink from old location to new location. + make_symlink_sane "$old" "$new" +} + +# vim:set ai et sw=2 ts=2 tw=80: + +# GOBSTOPPER: The X Strike Force shell library ends here. --- xserver-xorg-input-vmmouse-12.6.4.orig/debian/xsfbs/xsfbs.mk +++ xserver-xorg-input-vmmouse-12.6.4/debian/xsfbs/xsfbs.mk @@ -0,0 +1,293 @@ +#!/usr/bin/make -f + +# Debian X Strike Force Build System (XSFBS): Make portion + +# Copyright 1996 Stephen Early +# Copyright 1997 Mark Eichin +# Copyright 1998-2005, 2007 Branden Robinson +# Copyright 2005 David Nusinow +# +# Licensed under the GNU General Public License, version 2. See the file +# /usr/share/common-licenses/GPL or . + +# Originally by Stephen Early +# Modified by Mark W. Eichin +# Modified by Adam Heath +# Modified by Branden Robinson +# Modified by Fabio Massimo Di Nitto +# Modified by David Nusinow +# Acknowledgements to Manoj Srivastava. + +# Pass $(DH_OPTIONS) into the environment for debhelper's benefit. +export DH_OPTIONS + +# force quilt to not use ~/.quiltrc and to use debian/patches +QUILT = QUILT_PATCHES=debian/patches quilt --quiltrc /dev/null + +# Set up parameters for the upstream build environment. + +# Determine (source) package name from Debian changelog. +SOURCE_NAME:=$(shell dpkg-parsechangelog -ldebian/changelog \ + | grep '^Source:' | awk '{print $$2}') + +# Determine package version from Debian changelog. +SOURCE_VERSION:=$(shell dpkg-parsechangelog -ldebian/changelog \ + | grep '^Version:' | awk '{print $$2}') + +# Determine upstream version number. +UPSTREAM_VERSION:=$(shell echo $(SOURCE_VERSION) | sed 's/-.*//') + +# Determine the source version without the epoch for make-orig-tar-gz +NO_EPOCH_VER:=$(shell echo $(UPSTREAM_VERSION) | sed 's/^.://') + +# Figure out who's building this package. +BUILDER:=$(shell echo $${DEBEMAIL:-$${EMAIL:-$$(echo $$LOGNAME@$$(cat /etc/mailname 2>/dev/null))}}) + +# Find out if this is an official build; an official build has nothing but +# digits, dots, and/or the codename of a release in the Debian part of the +# version number. Anything else indicates an unofficial build. +OFFICIAL_BUILD:=$(shell VERSION=$(SOURCE_VERSION); if ! expr "$$(echo $${VERSION\#\#*-} | sed 's/\(woody\|sarge\|etch\|lenny\)//g')" : ".*[^0-9.].*" >/dev/null 2>&1; then echo yes; fi) + +# Set up parameters for the Debian build environment. + +# Determine our architecture. +BUILD_ARCH:=$(shell dpkg-architecture -qDEB_BUILD_ARCH) +# Work around some old-time dpkg braindamage. +BUILD_ARCH:=$(subst i486,i386,$(BUILD_ARCH)) +# The DEB_HOST_ARCH variable may be set per the Debian cross-compilation policy. +ifdef DEB_HOST_ARCH + ARCH:=$(DEB_HOST_ARCH) +else + # dpkg-cross sets the ARCH environment variable; if set, use it. + ifdef ARCH + ARCH:=$(ARCH) + else + ARCH:=$(BUILD_ARCH) + endif +endif + +# $(STAMP_DIR) houses stamp files for complex targets. +STAMP_DIR:=stampdir + +# $(DEBTREEDIR) is where all install rules are told (via $(DESTDIR)) to place +# their files. +DEBTREEDIR:=$(CURDIR)/debian/tmp + +# All "important" targets have four lines: +# 1) A target name that is invoked by a package-building tool or the user. +# This consists of a dependency on a "$(STAMP_DIR)/"-prefixed counterpart. +# 2) A line delcaring 1) as a phony target (".PHONY:"). +# 3) A "$(STAMP_DIR)/"-prefixed target which does the actual work, and may +# depend on other targets. +# 4) A line declaring 3) as a member of the $(stampdir_targets) variable; the +# "$(STAMP_DIR)/" prefix is omitted. +# +# This indirection is needed so that the "stamp" files that signify when a rule +# is done can be located in a separate "stampdir". Recall that make has no way +# to know when a goal has been met for a phony target (like "build" or +# "install"). +# +# At the end of each "$(STAMP_DIR)/" target, be sure to run the command ">$@" +# so that the target will not be run again. Removing the file will make Make +# run the target over. + +# All phony targets should be declared as dependencies of .PHONY, even if they +# do not have "($STAMP_DIR)/"-prefixed counterparts. + +# Define a harmless default rule to keep things from going nuts by accident. +.PHONY: default +default: + +# Set up the $(STAMP_DIR) directory. +.PHONY: stampdir +stampdir_targets+=stampdir +stampdir: $(STAMP_DIR)/stampdir +$(STAMP_DIR)/stampdir: + mkdir $(STAMP_DIR) + >$@ + +# Set up the package build directory as quilt expects to find it. +.PHONY: prepare +stampdir_targets+=prepare +prepare: $(STAMP_DIR)/prepare +$(STAMP_DIR)/prepare: $(STAMP_DIR)/log $(STAMP_DIR)/genscripts + >$@ + +.PHONY: log +stampdir_targets+=log +log: $(STAMP_DIR)/log +$(STAMP_DIR)/log: $(STAMP_DIR)/stampdir + mkdir -p $(STAMP_DIR)/log + +# Apply all patches to the upstream source. +.PHONY: patch +stampdir_targets+=patch +patch: $(STAMP_DIR)/patch +$(STAMP_DIR)/patch: $(STAMP_DIR)/prepare + if ! [ `which quilt` ]; then \ + echo "Couldn't find quilt. Please install it or add it to the build-depends for this package."; \ + exit 1; \ + fi; \ + if $(QUILT) next >/dev/null 2>&1; then \ + echo -n "Applying patches..."; \ + if $(QUILT) push -a -v >$(STAMP_DIR)/log/patch 2>&1; then \ + cat $(STAMP_DIR)/log/patch; \ + echo "successful."; \ + else \ + cat $(STAMP_DIR)/log/patch; \ + echo "failed! (check $(STAMP_DIR)/log/patch for details)"; \ + exit 1; \ + fi; \ + else \ + echo "No patches to apply"; \ + fi; \ + >$@ + +# Revert all patches to the upstream source. +.PHONY: unpatch +unpatch: $(STAMP_DIR)/log + rm -f $(STAMP_DIR)/patch + @echo -n "Unapplying patches..."; \ + if $(QUILT) applied >/dev/null 2>/dev/null; then \ + if $(QUILT) pop -a -v >$(STAMP_DIR)/log/unpatch 2>&1; then \ + cat $(STAMP_DIR)/log/unpatch; \ + echo "successful."; \ + else \ + cat $(STAMP_DIR)/log/unpatch; \ + echo "failed! (check $(STAMP_DIR)/log/unpatch for details)"; \ + exit 1; \ + fi; \ + else \ + echo "nothing to do."; \ + fi + +# Clean the generated maintainer scripts. +.PHONY: cleanscripts +cleanscripts: + rm -f $(STAMP_DIR)/genscripts + rm -f debian/*.config \ + debian/*.postinst \ + debian/*.postrm \ + debian/*.preinst \ + debian/*.prerm + +# Clean the package build tree. +.PHONY: xsfclean +xsfclean: cleanscripts unpatch + dh_testdir + rm -rf .pc + rm -rf $(STAMP_DIR) $(SOURCE_DIR) + rm -rf imports + dh_clean debian/shlibs.local \ + debian/po/pothead + +# Generate the debconf templates POT file header. +debian/po/pothead: debian/po/pothead.in + sed -e 's/SOURCE_VERSION/$(SOURCE_VERSION)/' \ + -e 's/DATE/$(shell date "+%F %X%z"/)' <$< >$@ + +# Update POT and PO files. +.PHONY: updatepo +updatepo: debian/po/pothead + debian/scripts/debconf-updatepo --pot-header=pothead --verbose + +# Remove files from the upstream source tree that we don't need, or which have +# licensing problems. It must be run before creating the .orig.tar.gz. +# +# Note: This rule is for Debian package maintainers' convenience, and is not +# needed for conventional build scenarios. +.PHONY: prune-upstream-tree +prune-upstream-tree: + # Ensure we're in the correct directory. + dh_testdir + grep -rvh '^#' debian/prune/ | xargs --no-run-if-empty rm -rf + +# Verify that there are no offsets or fuzz in the patches we apply. +# +# Note: This rule is for Debian package maintainers' convenience, and is not +# needed for conventional build scenarios. +.PHONY: patch-audit +patch-audit: prepare unpatch + @echo -n "Auditing patches..."; \ + >$(STAMP_DIR)/log/patch; \ + FUZZY=; \ + while [ -n "$$($(QUILT) next)" ]; do \ + RESULT=$$($(QUILT) push -v | tee -a $(STAMP_DIR)/log/patch | grep ^Hunk | sed 's/^Hunk.*\(succeeded\|FAILED\).*/\1/');\ + case "$$RESULT" in \ + succeeded) \ + echo "fuzzy patch: $$($(QUILT) top)" \ + | tee -a $(STAMP_DIR)/log/$$($(QUILT) top); \ + FUZZY=yes; \ + ;; \ + FAILED) \ + echo "broken patch: $$($(QUILT) next)" \ + | tee -a $(STAMP_DIR)/log/$$($(QUILT) next); \ + exit 1; \ + ;; \ + esac; \ + done; \ + if [ -n "$$FUZZY" ]; then \ + echo "there were fuzzy patches; please fix."; \ + exit 1; \ + else \ + echo "done."; \ + fi + +# Generate the maintainer scripts. +.PHONY: genscripts +stampdir_targets+=genscripts +genscripts: $(STAMP_DIR)/genscripts +$(STAMP_DIR)/genscripts: $(STAMP_DIR)/stampdir + for FILE in debian/*.config.in \ + debian/*.postinst.in \ + debian/*.postrm.in \ + debian/*.preinst.in \ + debian/*.prerm.in; do \ + if [ -e "$$FILE" ]; then \ + MAINTSCRIPT=$$(echo $$FILE | sed 's/.in$$//'); \ + sed -n '1,/^#INCLUDE_SHELL_LIB#$$/p' <$$FILE \ + | sed -e '/^#INCLUDE_SHELL_LIB#$$/d' >$$MAINTSCRIPT.tmp; \ + cat debian/xsfbs/xsfbs.sh >>$$MAINTSCRIPT.tmp; \ + sed -n '/^#INCLUDE_SHELL_LIB#$$/,$$p' <$$FILE \ + | sed -e '/^#INCLUDE_SHELL_LIB#$$/d' >>$$MAINTSCRIPT.tmp; \ + sed -e 's/@SOURCE_VERSION@/$(SOURCE_VERSION)/' \ + -e 's/@OFFICIAL_BUILD@/$(OFFICIAL_BUILD)/' \ + -e 's/@DEFAULT_DCRESOLUTIONS@/$(DEFAULT_DCRESOLUTIONS)/' \ + <$$MAINTSCRIPT.tmp >$$MAINTSCRIPT; \ + rm $$MAINTSCRIPT.tmp; \ + fi; \ + done + # Validate syntax of generated shell scripts. + #sh debian/scripts/validate-posix-sh debian/*.config \ + # debian/*.postinst \ + # debian/*.postrm \ + # debian/*.preinst \ + # debian/*.prerm + >$@ + +# Generate the shlibs.local file. +debian/shlibs.local: + cat debian/*.shlibs >$@ + +SERVERMINVERS = $(shell cat /usr/share/xserver-xorg/serverminver 2>/dev/null) +VIDEOABI = $(shell cat /usr/share/xserver-xorg/videoabiver 2>/dev/null) +INPUTABI = $(shell cat /usr/share/xserver-xorg/inputabiver 2>/dev/null) +SERVER_DEPENDS = xserver-xorg-core (>= $(SERVERMINVERS)) +VIDDRIVER_PROVIDES = xserver-xorg-video-$(VIDEOABI) +INPDRIVER_PROVIDES = xserver-xorg-input-$(INPUTABI) +ifeq ($(PACKAGE),) +PACKAGE=$(shell awk '/^Package:/ { print $$2; exit }' < debian/control) +endif + +.PHONY: serverabi +serverabi: install +ifeq ($(SERVERMINVERS),) + @echo error: xserver-xorg-dev needs to be installed + @exit 1 +else + echo "xserver:Depends=$(SERVER_DEPENDS)" >> debian/$(PACKAGE).substvars + echo "xviddriver:Provides=$(VIDDRIVER_PROVIDES)" >> debian/$(PACKAGE).substvars + echo "xinpdriver:Provides=$(INPDRIVER_PROVIDES)" >> debian/$(PACKAGE).substvars +endif + +# vim:set noet ai sts=8 sw=8 tw=0: