--- xserver-xorg-input-synaptics-1.1.2.orig/debian/compat +++ xserver-xorg-input-synaptics-1.1.2/debian/compat @@ -0,0 +1 @@ +5 --- xserver-xorg-input-synaptics-1.1.2.orig/debian/control +++ xserver-xorg-input-synaptics-1.1.2/debian/control @@ -0,0 +1,42 @@ +Source: xserver-xorg-input-synaptics +Section: x11 +Priority: optional +Maintainer: Debian X Strike Force +Uploaders: Mattia Dongili +Build-Depends: debhelper (>= 4.0.0), libx11-dev, libxext-dev, libxi-dev, x11proto-core-dev, xserver-xorg-dev (>= 2:1.5.99.901), pkg-config, quilt, automake, libtool, xutils-dev +Standards-Version: 3.8.1 +Vcs-Git: git://git.debian.org/git/pkg-xorg/driver/xserver-xorg-input-synaptics +Vcs-Browser: http://git.debian.org/?p=pkg-xorg/driver/xserver-xorg-input-synaptics.git + +Package: xserver-xorg-input-synaptics +Architecture: alpha amd64 arm armeb armel hppa i386 ia64 m68k mips mipsel powerpc sparc +Depends: ${shlibs:Depends}, ${xserver:Depends}, libxi6 +Conflicts: xfree86-driver-synaptics (<< 0.14.4-2), xorg-driver-synaptics +Replaces: xfree86-driver-synaptics (<< 0.14.4-2), xorg-driver-synaptics +Provides: ${xinpdriver:Provides}, xfree86-driver-synaptics, xorg-driver-synaptics +Suggests: gpointing-device-settings, touchfreeze +Description: Synaptics TouchPad driver for X.Org server + This package provides an input driver for the X.Org X server to enable + advanced features of the Synaptics Touchpad including: + . + * Movement with adjustable, non-linear acceleration and speed + * Button events through short touching of the touchpad + * Double-Button events through double short touching of the touchpad + * Dragging through short touching and holding down the finger on the touchpad + * Middle and right button events on the upper and lower corner of the touchpad + * Vertical scrolling (button four and five events) through moving the finger + on the right side of the touchpad + * The up/down button sends button four/five events + * Horizontal scrolling (button six and seven events) through moving the finger + on the lower side of the touchpad + * The multi-buttons send button four/five events, and six/seven events for + horizontal scrolling + * Adjustable finger detection + * Multifinger taps: two finger for middle button and three finger for right + button events. (Needs hardware support. Not all models implement this + feature.) + * Run-time configuration using shared memory. This means you can change + parameter settings without restarting the X server (see synclient(1)). + * It also provides a daemon to disable touchpad while typing at the keyboard + and thus avoid unwanted mouse movements (see syndaemon(1)). + . --- xserver-xorg-input-synaptics-1.1.2.orig/debian/xserver-xorg-input-synaptics.README.Debian +++ xserver-xorg-input-synaptics-1.1.2/debian/xserver-xorg-input-synaptics.README.Debian @@ -0,0 +1,116 @@ +xserver-xorg-input-synaptics for Debian +----------------------------------- + +This package contains the Synaptics TouchPad driver for X.Org X server. +See also the README file for details on configuration options. +The following notes are reported from the INSTALL instructions of upstream +package (by Stefan Gmeiner ), but first of all a +security notice about SHMConfig: + + If you want to be able to change driver parameters without + restarting the X server, one option is to enable the "SHMConfig" option in + the X configuration file. You can then use the "synclient" program to + query and modify driver parameters on the fly. + SECURITY NOTE! This is not secure if you are in an untrusted + multiuser environment. All local users can change the parameters at any + time. + + Since version 1.1 the driver doesn't require doesn't require the + SHMConfig option anymore to allow runtime configuration changes, + synclient will only use the shared memory segment when invoked with + the -s option. + +Xorg auto-configuration +----------------------- +Recent X.Org has support for automatic configuration. The synaptics driver does +not support automatic configuration yet but the information required is +supplied by a third party fdi script through HAL. +The file is /usr/share/hal/fdi/policy/20thirdparty/11-x11-synaptics.fdi, +if you need to customize it, you can first copy it to +/etc/hal/fdi/policy and the edit it to match your requirements. + + +Manual configuration +-------------------- + +1. Load the driver by changing the X.Org configuration file +(/etc/X11/xorg.conf) through adding the line 'Load +"synaptics"' in the module section. + +2. Add/Replace in the InputDevice section for the touchpad the +following lines: + +Section "InputDevice" + Driver "synaptics" + Identifier "touchpad" + Option "Device" "/dev/psaux" + Option "Protocol" "auto-dev" +# +# Following lines are optional thus commented in this example. +# Please read the synaptics(5) manpage for a detailed explanation +# of the various options' meaning as well as a full list of options +# +# Option "LeftEdge" "1700" +# Option "RightEdge" "5300" +# Option "TopEdge" "1700" +# Option "BottomEdge" "4200" +# Option "FingerLow" "25" +# Option "FingerHigh" "30" +# Option "MaxTapTime" "180" +# Option "MaxTapMove" "220" +# Option "VertScrollDelta" "100" +# Option "MinSpeed" "0.06" +# Option "MaxSpeed" "0.12" +# Option "AccelFactor" "0.0010" +# Option "SHMConfig" "on" +# Option "Repeater" "/dev/ps2mouse" +EndSection + +Change the Identifier to the same name as in the ServerLayout section. +The Option "Repeater" is at the moment for testing. + +3. Add the "CorePointer" option to the InputDevice line at the ServerLayout section: + +Section "ServerLayout" +... + InputDevice "touchpad" "CorePointer" + InputDevice "USB Mouse" "SendCoreEvents" +... + + Note! You can not have more than one core pointer, so if you want + to use an external mouse too, you have to set all mouse input + devices except one to "AlwaysCore" instead of "CorePointer". + +4. Start/Restart the X Server. If the touchpad doesn't work: + a) Check the X.Org Logfiles + b) Try to start the XServer with 'startx -- -logverbose 8' for more + Output + +Other relevant information to use this driver +--------------------------------------------- + +1. For use with kernel 2.6.x you need to enable synaptics touchpad + support when configuring the kernel (CONFIG_MOUSE_PS2). You also + need support for the evdev interface (CONFIG_INPUT_EVDEV). If you + compile evdev as a module, make sure it is loaded before starting + the X server, as it will not be auto-loaded. + +2. For use with an ALPS touchpad, you need to use a 2.6.x kernel and + apply the alps patch. See the README.alps file for more details. + Note! If you use kernel 2.6.11 or later, the alps patch is already + included, so you don't have to patch your kernel. + +3. Using with kernel 2.4.x for x < 10 needs a kernel patch + (pc_keyb.c.diff.2.4.3). + +Running 'syndaemon' automatically +--------------------------------- +The easiest way to run the syndaemon binary each time you startup X you can +simply add the following line to your ~/.xinitrc file: + +/usr/bin/syndaemon -i 1 -d + +Customize the daemon options to fit your needs, the only mandatory option is +'-d' to run syndaemon in the background. See 'man 1 syndaemon' for more. + + -- Mattia Dongili , Mon, 11 May 2009 23:04:40 +0900 --- xserver-xorg-input-synaptics-1.1.2.orig/debian/xserver-xorg-input-synaptics.docs +++ xserver-xorg-input-synaptics-1.1.2/debian/xserver-xorg-input-synaptics.docs @@ -0,0 +1,4 @@ +README +docs/README.alps +TODO +docs/trouble-shooting.txt --- xserver-xorg-input-synaptics-1.1.2.orig/debian/xserver-xorg-input-synaptics.manpages +++ xserver-xorg-input-synaptics-1.1.2/debian/xserver-xorg-input-synaptics.manpages @@ -0,0 +1,2 @@ +debian/tmp/usr/share/man/man1/* +debian/tmp/usr/share/man/man4/* --- xserver-xorg-input-synaptics-1.1.2.orig/debian/NEWS +++ xserver-xorg-input-synaptics-1.1.2/debian/NEWS @@ -0,0 +1,20 @@ +xserver-xorg-input-synaptics (1.1.1~git20090510-1) unstable; urgency=low + + * Tapping has been disabled by default on many touchpads by upstream, see + the "NOTES" section in the synaptics(4) manpage for a short overview + about how defaults are calculated. + If you want to re-enable it, you can do so from within the X + environment by running the following commands in a terminal: + + $ synclient TapButton1=1 + $ synclient TapButton2=2 + $ synclient TapButton3=3 + + Note that the configuration will not be permanently modified, to do + so assign the above option values in your xorg.conf or custom fdi file + (see the synaptics(4) manpage or the documents in + /usr/share/doc/xserver-xorg-input-synaptics for additional details). + Another alternative is to use desktop environment specific tools + like gpointing-device-settings or touchfreeze. + + -- David Nusinow Sat, 11 Apr 2009 16:23:11 -0400 --- xserver-xorg-input-synaptics-1.1.2.orig/debian/rules +++ xserver-xorg-input-synaptics-1.1.2/debian/rules @@ -0,0 +1,107 @@ +#!/usr/bin/make -f +# debian/rules for the Debian xserver-xorg-input-synaptics package. +# Copyright © 2008 Mattia Dongili +# +# Based on debian/rules for the Debian xserver-xorg-input-evdev package. +# Copyright © 2004 Scott James Remnant +# Copyright © 2005 Daniel Stone +# Copyright © 2005 David Nusinow + +# Uncomment this to turn on verbose mode. +#export DH_VERBOSE=1 + +PACKAGE=xserver-xorg-input-synaptics + +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 + +#confflags += --disable-static + +configure: $(STAMP_DIR)/patch + autoreconf -vfi + +obj-$(DEB_BUILD_GNU_TYPE)/config.status: configure + mkdir -p 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)" + + +build: build-stamp +build-stamp: obj-$(DEB_BUILD_GNU_TYPE)/config.status + dh_testdir + 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 $$(find -name Makefile.in) + rm -f compile config.guess config.sub configure depcomp install-sh + rm -f ltmain.sh missing aclocal.m4 config.h.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 + install -d $(CURDIR)/debian/tmp/usr/share/hal/fdi/policy/20thirdparty + install -m 0644 fdi/11-x11-synaptics.fdi \ + $(CURDIR)/debian/tmp/usr/share/hal/fdi/policy/20thirdparty + +# Build architecture-dependent files here. +binary-arch: build install serverabi + dh_testdir + dh_testroot + + dh_installdocs + dh_installchangelogs ChangeLog + dh_install --sourcedir=debian/tmp --list-missing --exclude=synaptics_drv.la --exclude=usr/share/man + 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-synaptics-1.1.2.orig/debian/xserver-xorg-input-synaptics.links +++ xserver-xorg-input-synaptics-1.1.2/debian/xserver-xorg-input-synaptics.links @@ -0,0 +1 @@ +usr/share/bug/xserver-xorg-core/script usr/share/bug/xserver-xorg-input-synaptics/script --- xserver-xorg-input-synaptics-1.1.2.orig/debian/copyright +++ xserver-xorg-input-synaptics-1.1.2/debian/copyright @@ -0,0 +1,67 @@ +This package was debianized by Mattia Dongili on +Tue, 2 Mar 2004 11:42:05 +0100. + +It was downloaded from +git://anongit.freedesktop.org/git/xorg/driver/xf86-input-synaptics. +Release tarballs are available at +http://xorg.freedesktop.org/releases/individual/driver/ + +Copyright (c) 1997 C. Scott Ananian +Copyright (c) 1998-2000 Bruce Kalk +Copyright (c) 1999 Henry Davies +Copyright (c) 2001 Stefan Gmeiner +Copyright (c) 2002 Linuxcare Inc. David Kennedy +Copyright (c) 2003 Fred Hucht +Copyright (c) 2003 Neil Brown +Copyright (c) 2003 Jörg Bösner +Copyright (c) 2003 Hartwig Felger +Copyright (c) 2002-2007 Peter Osterlund +Copyright (c) 2004 Arne Schwabe +Copyright (c) 2004 Matthias Ihmig +Copyright (c) 2004 Alexei Gilchrist +Copyright (c) 2006-2007 Christian Thaeter +Copyright (c) 2006 Stefan Bethge +Copyright (c) 2007 Joseph P. Skudlarek +Copyright (c) 2007 Florian Loitsch + +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. + +Some patches included in the Debian package are licensed differently: + debian/patches/01-synaptics-dont-grab-if-not-on-current-VT.patch + debian/patches/02-autodetect-resolution.patch + +Copyright (c) Matthew Garrett + + This package is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; version 2 dated June, 1991. + + This package is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this package; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, + MA 02110-1301, USA. + +On Debian systems, the complete text of the GNU General +Public License can be found in `/usr/share/common-licenses/GPL-2'. + --- xserver-xorg-input-synaptics-1.1.2.orig/debian/xserver-xorg-input-synaptics.install +++ xserver-xorg-input-synaptics-1.1.2/debian/xserver-xorg-input-synaptics.install @@ -0,0 +1,3 @@ +usr/lib/xorg/modules/input/*.so +usr/bin/* +usr/share/hal/fdi/policy/20thirdparty/* --- xserver-xorg-input-synaptics-1.1.2.orig/debian/watch +++ xserver-xorg-input-synaptics-1.1.2/debian/watch @@ -0,0 +1,2 @@ +version=3 +http://xorg.freedesktop.org/releases/individual/driver/ xf86-input-synaptics-(.*)\.tar\.gz --- xserver-xorg-input-synaptics-1.1.2.orig/debian/README.source +++ xserver-xorg-input-synaptics-1.1.2/debian/README.source @@ -0,0 +1,73 @@ +------------------------------------------------------ +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. + +------------------------------------ +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 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. + +quilt is actually invoked by the Debian X packaging through a larger +set of scripts called XSFBS. XSFBS brings some other X specific +features such as managing dependencies and conflicts due to the video +and input driver ABIs. +XSFBS itself is maintained in a separate repository at + git://git.debian.org/pkg-xorg/xsfbs.git +and it is pulled inside the other Debian X repositories when needed. + +The XSFBS patching system requires a build dependency on quilt. Also +a dependency on $(STAMP_DIR)/patch has to be added to debian/rules +so that the XSFBS patching occurs before the actual build. So the +very first target of the build (likely the one running autoreconf) +should depend on $(STAMP_DIR)/patch. It should also not depend on +anything so that parallel builds are correctly supported (nothing +should probably run while patching is being done). And finally, the +clean target should depend on the xsfclean target so that patches +are unapplied on clean. + +When the upstream sources contain some DFSG-nonfree files, they are +listed in text files in debian/prune/ in the "debian-*" branch of +the Debian repository. XSFBS' scripts then take care of removing +these listed files during the build so as to generate a modified +DFSG-free .orig.tar.gz tarball. --- xserver-xorg-input-synaptics-1.1.2.orig/debian/changelog +++ xserver-xorg-input-synaptics-1.1.2/debian/changelog @@ -0,0 +1,319 @@ +xserver-xorg-input-synaptics (1.1.2-1) unstable; urgency=low + + [ Mattia Dongili ] + * New upstream release. + * Replace 02-mention-tapping-in-manpage-notes.patch with the patch accepted + upstream (1f499d). + * Refresh patch 01-synaptics-dont-grab-if-not-on-current-VT.patch. + * Update README.Debian's date signature with the last modification time + (closes: #531999). + + -- Mattia Dongili Sat, 06 Jun 2009 13:32:59 +0900 + +xserver-xorg-input-synaptics (1.1.1~git20090510-1) unstable; urgency=low + + [ David Nusinow ] + * Add NEWS.Debian entry about enabling tapping again (closes: #497523) + + [ Mattia Dongili ] + * Link to xserver-xorg reportbug script + * Merge current upstream fixes: + - Edge calculation fixes bring back vertical scrolling (closes: #523946) + - Fix float properties handling on 64bit arches (closes: #525473) + * Remove Suggests for [kq]synaptics which are not in the repository anymore + (closes: #498299) and suggest gpointing-device-settings (replacement of + gsynaptics) and touchfreeze instead + * Remove the upstream NEWS file which doesn't exist anymore + * Updates to the README.Debian to make sure we mention how to customize the + fdi configuration + + -- Mattia Dongili Mon, 11 May 2009 23:08:15 +0900 + +xserver-xorg-input-synaptics (1.1.0-1) unstable; urgency=low + + * New upstream release. + * Upload to unstable. + + -- Julien Cristau Thu, 09 Apr 2009 01:34:19 +0100 + +xserver-xorg-input-synaptics (0.99.3-3) experimental; urgency=low + + [ Julien Cristau ] + * Get rid of the xfree86-driver-synaptics transitional package. It was + already a transitional package in etch. + + [ Timo Aaltonen ] + * Rename the source package to xserver-xorg-input-synaptics, since + it's hosted on freedesktop now and to be consistent with the rest + of the input drivers. + + -- Julien Cristau Mon, 26 Jan 2009 09:08:10 +0100 + +xfree86-driver-synaptics (0.99.3-2) experimental; urgency=low + + * Update our copy of xsfbs to get a fixed serverabi rule and generate + Provides/Depends correctly. + * Refresh patch 01-synaptics-dont-grab-if-not-on-current-VT.patch. + + -- Julien Cristau Mon, 26 Jan 2009 04:43:08 +0100 + +xfree86-driver-synaptics (0.99.3-1) experimental; urgency=low + + [ Timo Aaltonen ] + * Run autoreconf at build time; build-depend on automake, libtool and + xutils-dev. + + [ Julien Cristau ] + * Add watch file. + * New upstream release. + * Build against xserver 1.6 rc1. + * Handle parallel builds. + + -- Julien Cristau Wed, 21 Jan 2009 22:27:10 +0100 + +xfree86-driver-synaptics (0.15.0+git20080820-1) experimental; urgency=low + + * Update to latest upstream git + * Remove patches merged upstream: + - 02-scandir-dev-input.patch + - 03-escape-dashes-in-manpages.patch + - 04-delibcwrap.patch + * Update debian/rules (taken from the evdev driver) for the autotoolized build + * Refresh 01-synaptics-dont-grab-if-not-on-current-VT.patch + * Cherry pick appletouch support from upstream + + -- Mattia Dongili Sun, 24 Aug 2008 17:44:12 +0900 + +xfree86-driver-synaptics (0.14.7~git20070706-2.2) experimental; urgency=low + + * Build against xserver 1.5 rc5. + + -- Julien Cristau Mon, 14 Jul 2008 16:14:31 +0200 + +xfree86-driver-synaptics (0.14.7~git20070706-3) unstable; urgency=low + + * Add appletouch support in the fdi file (Closes: #495799). + * Install the fdi file with 0644 permissions. + * Updated xserver-xorg-input-synaptics.README.Debian to mention automatic + configuration and show a clearer example for the Server (manual) + configuration (Closes: #443995 and also Closes: #492120). + + -- Mattia Dongili Wed, 27 Aug 2008 23:05:42 +0900 + +xfree86-driver-synaptics (0.14.7~git20070706-2.1.lenny1) unstable; urgency=low + + * Add 10-synaptics.fdi, installed in /usr/share/hal/fdi/policy/20thirdparty, + to get the driver loaded automatically if a touchpad is detected + (closes: #464662). + * Add patch from xorg git to fix usage of the EVIOCGBIT ioctl() + (closes: #493101). + + -- Julien Cristau Mon, 18 Aug 2008 01:41:39 +0200 + +xfree86-driver-synaptics (0.14.7~git20070706-2.1) unstable; urgency=low + + * Non-maintainer upload, with Mattia's agreement. + * Add patch to fix the build with xserver 1.5, which removed the libc + wrapper (closes: #471494). + * Add armel and armeb to the Architecture field (closes: #461551). + + -- Julien Cristau Mon, 02 Jun 2008 12:21:39 +0200 + +xfree86-driver-synaptics (0.14.7~git20070706-2) unstable; urgency=low + + * 01-synaptics-dont-grab-if-not-on-current-VT.patch from Matthew Garrett in + Ubuntu's 0.14.6-0ubuntu10 (Closes: #437273) + * 02-scandir-dev-input.patch to scan all the event devices in /dev/input + (Closes: #455994) + * update xsfbs + + -- Mattia Dongili Tue, 01 Jan 2008 12:38:13 +0900 + +xfree86-driver-synaptics (0.14.7~git20070706-1) unstable; urgency=low + + * build with xserver-xorg-core 1.4 (Closes: #442314) + * update to current git + * update xsfbs + + -- Mattia Dongili Mon, 17 Sep 2007 15:25:56 +0900 + +xfree86-driver-synaptics (0.14.7~git20070517-2) unstable; urgency=low + + * use xsfbs to build the driver and automagically get xserver-xorg deps + (Closes: #425818) + + -- Mattia Dongili Thu, 31 May 2007 14:17:31 +0900 + +xfree86-driver-synaptics (0.14.7~git20070517-1) unstable; urgency=low + + * git snapshot of the driver: + - from commit e6595886d7ae3a1730cd0d9f86fd0f305c0743c2 + "[...] synaptics, alps and appletouch pads all work approximately + identically without requiring model-specific configuration" + (Closes: #351621) (Closes: #406499) + - from commit 88211ca60be7cc74015ad4158722e5950884bd78 + "Don't match wacom tablets in the event device probing." + (Closes: #383711) + - from commit 473912f50ffd2b26bd2f638f9d87f86cf60e2dd6 + "Add a config option to prevent the driver from grabbing the event + device for exclusive use" (Closes: #380705) + - from commit 2d06ab1d2b3170b6fa44b945376b2ad4cd682af9 + "Allow to easily switch between move and scroll" + (Closes: #411266) + * set Maintaner to the XSF and me as Uploader + + -- Mattia Dongili Thu, 17 May 2007 19:34:22 +0900 + +xfree86-driver-synaptics (0.14.6-2) unstable; urgency=low + + * Build using Debian's xserver-xorg-dev instead of the package's + provided subtree (which is taken from XFree86-4.3.0). + + -- Mattia Dongili Wed, 03 Jan 2007 18:38:40 +0100 + +xfree86-driver-synaptics (0.14.5-1) unstable; urgency=low + + * New upstream release. + * Motion with pressure sensitivity merged upstream. (Closes: #337350) + + -- Mattia Dongili Sun, 04 Jun 2006 19:45:35 +0200 + +xfree86-driver-synaptics (0.14.4-5) unstable; urgency=low + + * Added m68k to the Achitecture: field. + + -- Mattia Dongili Sun, 30 Apr 2006 20:17:23 +0200 + +xfree86-driver-synaptics (0.14.4-4) unstable; urgency=low + + * Upload to unstable (Closes: #362108) + * Added xorg-driver-synaptics to the Provides, Conflicts, + Replaces list to ease Ubuntu mixed migrations (et al.) + + -- Mattia Dongili Mon, 27 Mar 2006 18:16:48 +0200 + +xfree86-driver-synaptics (0.14.4-3) experimental; urgency=low + + * building the driver as a shared object, this fixes a lintian warning + and better fits in the modular xorg structure. + + -- Mattia Dongili Wed, 22 Mar 2006 22:33:39 +0100 + +xfree86-driver-synaptics (0.14.4-2) experimental; urgency=low + + * New binary package name to follow modular xorg naming. + * Now suggesting the driver's graphical configuration tools. + * README.Debian: removed note about the 2.6.8 patch I removed recently. + + -- Mattia Dongili Sun, 19 Mar 2006 17:01:09 +0100 + +xfree86-driver-synaptics (0.14.4-1) unstable; urgency=low + + * New upstream version. + * Upstream added an -K command line option to syndaemon to ignore + Modifier+AnyKey combos (closes: #335888). + * Removed the rediffed patch against Debian's 2.6.8 kernel. + + -- Mattia Dongili Mon, 07 Nov 2005 22:54:40 +0100 + +xfree86-driver-synaptics (0.14.3-1) unstable; urgency=low + + * New upstream version. + * Updated README.Debian to reflect newer X.Org dependencies. + + -- Mattia Dongili Fri, 22 Jul 2005 21:17:37 +0200 + +xfree86-driver-synaptics (0.14.2-2) unstable; urgency=low + + * Can now install together with xorg (closes: #318118). + + -- Mattia Dongili Wed, 29 Jun 2005 12:00:00 +0200 + +xfree86-driver-synaptics (0.14.2-1) unstable; urgency=low + + * New upstream release. + * Added notes to README.Debian to run syndaemon from .xinitrc + (closes: #296485) + + -- Mattia Dongili Wed, 18 May 2005 00:24:14 +0200 + +xfree86-driver-synaptics (0.14.1-1) unstable; urgency=low + + * New upstream release. + + -- Mattia Dongili Tue, 15 Mar 2005 22:33:25 +0100 + +xfree86-driver-synaptics (0.14.0-1) unstable; urgency=low + + * New upstream release: + - now correcly removes the shared memory segment when exiting X + (closes: #263382). + + -- Mattia Dongili (ma.d.) Mon, 10 Jan 2005 21:14:44 +0100 + +xfree86-driver-synaptics (0.13.6-2) unstable; urgency=low + + * Install in /usr/X11R6/lib as all the xfree drivers on 64 bit archs. (closes: #280658) + * Provided an alternative patch for debian-kernel users. (closes: #282359) + + -- Mattia Dongili (ma.d.) Sat, 18 Dec 2004 20:07:15 +0100 + +xfree86-driver-synaptics (0.13.6-1) unstable; urgency=low + + * New upstream. + + -- Mattia Dongili (ma.d.) Sun, 24 Oct 2004 22:14:32 +0200 + +xfree86-driver-synaptics (0.13.5-2) unstable; urgency=low + + * Re-fixed synaptics_drv.o mode to 0644 (why did it reappear?). + + -- Mattia Dongili (ma.d.) Thu, 19 Aug 2004 16:09:56 +0200 + +xfree86-driver-synaptics (0.13.5-1) unstable; urgency=low + + * New upstream. + + -- Mattia Dongili (ma.d.) Sun, 08 Aug 2004 12:41:38 +0200 + +xfree86-driver-synaptics (0.13.4-1) unstable; urgency=low + + * New upstream. + + -- Mattia Dongili (ma.d.) Tue, 27 Jul 2004 22:44:16 +0200 + +xfree86-driver-synaptics (0.13.3-1) unstable; urgency=low + + * New upstream. + * Fixed synaptics_drv.o mode to 0644. + + -- Mattia Dongili (ma.d.) Thu, 20 Jun 2004 15:59:25 +0200 + +xfree86-driver-synaptics (0.13.2-1) unstable; urgency=low + + * New upstream. + * Fixed middle mouse button emulation. (closes: #247219) + * Fixed detection of ALPS touchpads when using a 2.6 linux kernel. (closes: #245682) + * Made double clicks faster. (closes: #248826) + * Uploaded with the correct upstream changelog. (closes: #248811) + + -- Mattia Dongili (ma.d.) Tue, 11 May 2004 09:59:15 +0200 + +xfree86-driver-synaptics (0.13.0-1) unstable; urgency=low + + * New upstream. + + -- Mattia Dongili (ma.d.) Tue, 27 Apr 2004 17:07:26 +0200 + +xfree86-driver-synaptics (0.12.5-1) unstable; urgency=low + + * New upstream. (closes: #239329) + + -- Mattia Dongili (ma.d.) Sat, 20 Mar 2004 12:58:37 +0100 + +xfree86-driver-synaptics (0.12.4-1) unstable; urgency=low + + * Initial Release. (closes: #219163, #231763) + + -- Mattia Dongili (ma.d.) Tue, 2 Mar 2004 11:42:05 +0100 + --- xserver-xorg-input-synaptics-1.1.2.orig/debian/xsfbs/repack.sh +++ xserver-xorg-input-synaptics-1.1.2/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-synaptics-1.1.2.orig/debian/xsfbs/xsfbs.mk +++ xserver-xorg-input-synaptics-1.1.2/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: --- xserver-xorg-input-synaptics-1.1.2.orig/debian/xsfbs/xsfbs.sh +++ xserver-xorg-input-synaptics-1.1.2/debian/xsfbs/xsfbs.sh @@ -0,0 +1,853 @@ +# $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 + +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 + 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-synaptics-1.1.2.orig/debian/patches/02-mention-tapping-in-manpage-notes.patch +++ xserver-xorg-input-synaptics-1.1.2/debian/patches/02-mention-tapping-in-manpage-notes.patch @@ -0,0 +1,26 @@ +commit 1f499dd3f067848c344c13e04305e9f428438c9f +Author: Mattia Dongili +Date: Fri Jun 5 08:57:06 2009 +1000 + + man: explain TapButton default values + + Clarify how the new default values are set and what options to set + to get a different behaviour. + + Signed-off-by: Mattia Dongili + Signed-off-by: Peter Hutterer + +Index: xserver-xorg-input-synaptics/man/synaptics.man +=================================================================== +--- xserver-xorg-input-synaptics.orig/man/synaptics.man 2009-06-06 12:59:09.725856323 +0900 ++++ xserver-xorg-input-synaptics/man/synaptics.man 2009-06-06 13:35:52.040859452 +0900 +@@ -813,6 +813,9 @@ + vertical scrolling is enabled, horizontal two-finger scrolling is disabled and + edge scrolling is disabled. If no multi-finger capabilities are reported, + edge scrolling is enabled for both horizontal and vertical scrolling. ++Tapping is disabled by default for touchpads with one or more physical buttons. ++To enable it you need to map tap actions to buttons. See the "TapButton1", ++"TapButton2" and "TapButton3" options. + .LP + Button mapping for physical buttons is handled in the server. + If the device is switched to left-handed (an in-server mapping of physical --- xserver-xorg-input-synaptics-1.1.2.orig/debian/patches/series +++ xserver-xorg-input-synaptics-1.1.2/debian/patches/series @@ -0,0 +1,2 @@ +01-synaptics-dont-grab-if-not-on-current-VT.patch +02-mention-tapping-in-manpage-notes.patch --- xserver-xorg-input-synaptics-1.1.2.orig/debian/patches/01-synaptics-dont-grab-if-not-on-current-VT.patch +++ xserver-xorg-input-synaptics-1.1.2/debian/patches/01-synaptics-dont-grab-if-not-on-current-VT.patch @@ -0,0 +1,18 @@ +Do not grab the synaptics device if not running on the current VT. +This helps when switching user or more in general when running more than one +instance of Xorg. + +Index: xserver-xorg-input-synaptics/src/synaptics.c +=================================================================== +--- xserver-xorg-input-synaptics.orig/src/synaptics.c 2009-06-03 21:46:59.820825153 +0900 ++++ xserver-xorg-input-synaptics/src/synaptics.c 2009-06-06 13:35:52.016859832 +0900 +@@ -714,6 +714,9 @@ + + DBG(3, ErrorF("Synaptics DeviceOn called\n")); + ++ if (xf86Screens[0]->vtSema == FALSE) ++ return !Success; ++ + SetDeviceAndProtocol(local); + local->fd = xf86OpenSerial(local->options); + if (local->fd == -1) {