Difference between revisions of "GPM"
m |
Weibullguy (talk | contribs) (Fixed the OPEN_MAX problem.) |
||
Line 9: | Line 9: | ||
!Required Patch: | !Required Patch: | ||
| http://svn.cross-lfs.org/svn/repos/patches/gpm/gpm-{{GPM-Version}}-silent-1.patch | | http://svn.cross-lfs.org/svn/repos/patches/gpm/gpm-{{GPM-Version}}-silent-1.patch | ||
+ | |-valign="top" | ||
+ | !Required Patch for kernels 2.6.23 and higher: | ||
+ | |http://svn.cross-lfs.org/svn/repos/patches/gpm/gpm-{{GPM-Version}}-OPEN_MAX-1.patch | ||
|} | |} | ||
Line 16: | Line 19: | ||
== Dependencies == | == Dependencies == | ||
− | {{Note| | + | {{Note|The OPEN_MAX constant was removed in Linux 2.6.23. If your kernel version is 2.6.23 or greater, then you will need to apply the gpm-{{GPM-Version}}-OPEN_MAX-1.patch which causes GPM to use the Sysconf variable _SC_OPEN_MAX instead.}} |
− | + | ||
== Non-Multilib == | == Non-Multilib == | ||
+ | |||
+ | If you kernel version is 2.6.23 or greater, apply the following patch: | ||
+ | |||
+ | patch -Np1 -i ../gpm-{{GPM-Version}}-OPEN_MAX-1.patch | ||
Compile the package: | Compile the package: | ||
Line 40: | Line 47: | ||
=== 32Bit === | === 32Bit === | ||
+ | |||
+ | If you kernel version is 2.6.23 or greater, apply the following patch: | ||
+ | |||
+ | patch -Np1 -i ../gpm-{{GPM-Version}}-OPEN_MAX-1.patch | ||
Compile the package: | Compile the package: | ||
Line 54: | Line 65: | ||
=== N32 === | === N32 === | ||
+ | |||
+ | If you kernel version is 2.6.23 or greater, apply the following patch: | ||
+ | |||
+ | patch -Np1 -i ../gpm-{{GPM-Version}}-OPEN_MAX-1.patch | ||
Compile the package: | Compile the package: | ||
Line 69: | Line 84: | ||
=== 64Bit === | === 64Bit === | ||
+ | |||
+ | If you kernel version is 2.6.23 or greater, apply the following patch: | ||
+ | |||
+ | patch -Np1 -i ../gpm-{{GPM-Version}}-OPEN_MAX-1.patch | ||
Compile the package: | Compile the package: | ||
− | |||
patch -Np1 -i ../gpm-{{GPM-Version}}-segfault-1.patch && | patch -Np1 -i ../gpm-{{GPM-Version}}-segfault-1.patch && |
Revision as of 02:11, 2 July 2008
Download Source: | http://ftp.schottelius.org/pub/linux/gpm/gpm-1.20.6.tar.bz2 |
---|---|
Required Patch: | http://svn.cross-lfs.org/svn/repos/patches/gpm/gpm-1.20.6-segfault-1.patch |
Required Patch: | http://svn.cross-lfs.org/svn/repos/patches/gpm/gpm-1.20.6-silent-1.patch |
Required Patch for kernels 2.6.23 and higher: | http://svn.cross-lfs.org/svn/repos/patches/gpm/gpm-1.20.6-OPEN_MAX-1.patch |
Contents
Introduction to GPM
The GPM (general purpose mouse) daemon is a mouse server for applications running on the Linux console.
Project Homepage: http://unix.schottelius.org/gpm/
Dependencies
Non-Multilib
If you kernel version is 2.6.23 or greater, apply the following patch:
patch -Np1 -i ../gpm-1.20.6-OPEN_MAX-1.patch
Compile the package:
patch -Np1 -i ../gpm-1.20.6-segfault-1.patch && patch -Np1 -i ../gpm-1.20.6-silent-1.patch && ./configure --prefix=/usr --sysconfdir=/etc && LDFLAGS="-lm" make
Install the package
make install && cp -v conf/gpm-root.conf /etc && ldconfig
Command Explanations
LDFLAGS="-lm": The math library must be linked with gpm, as ceil() is used in some cursor scrolling logic.
Multilib
32Bit
If you kernel version is 2.6.23 or greater, apply the following patch:
patch -Np1 -i ../gpm-1.20.6-OPEN_MAX-1.patch
Compile the package:
patch -Np1 -i ../gpm-1.20.6-segfault-1.patch && patch -Np1 -i ../gpm-1.20.6-silent-1.patch && CC="gcc ${BUILD32}" ./configure --prefix=/usr --sysconfdir=/etc && LDFLAGS="-lm" make
Install the package
make install && ldconfig
N32
If you kernel version is 2.6.23 or greater, apply the following patch:
patch -Np1 -i ../gpm-1.20.6-OPEN_MAX-1.patch
Compile the package:
patch -Np1 -i ../gpm-1.20.6-segfault-1.patch && patch -Np1 -i ../gpm-1.20.6-silent-1.patch && CC="gcc ${BUILDN32}" ./configure --prefix=/usr \ --sysconfdir=/etc --libdir=/usr/lib32 && LDFLAGS="-lm" make
Install the package
make install && ldconfig
64Bit
If you kernel version is 2.6.23 or greater, apply the following patch:
patch -Np1 -i ../gpm-1.20.6-OPEN_MAX-1.patch
Compile the package:
patch -Np1 -i ../gpm-1.20.6-segfault-1.patch && patch -Np1 -i ../gpm-1.20.6-silent-1.patch && CC="gcc ${BUILD64}" ./configure --prefix=/usr \ --sysconfdir=/etc --libdir=/usr/lib64 && LDFLAGS="-lm" make
Install the package
make install && cp -v conf/gpm-root.conf /etc && ldconfig
Configuring
BootScript
Install the /etc/rc.d/init.d/gpm init script included in the bootscripts package.
make install-gpm
Config FIles
/etc/gpm-root.conf and ~/.gpm-root: The default and individual user gpm-root configuration files.
/etc/sysconfig/mouse: This file contains the name of your mouse device and the protocol which it uses. To create this file, run the following as the root user:
cat > /etc/sysconfig/mouse << "EOF" # Begin /etc/sysconfig/mouse MDEVICE="<yourdevice>" PROTOCOL="<yourprotocol>" GPMOPTS="<additional options>" # End /etc/sysconfig/mouse EOF
Configuration Information
Examples of values to set MDEVICE, PROTOCOL, and GPMOPTS to are:
MDEVICE="/dev/psaux" PROTOCOL="imps2" GPMOPTS=""
A list of which protocol values are known can be found by running gpm -m [device] -t -help. The MDEVICE setting depends on which type of mouse you have. For example, /dev/ttyS0 for a serial mouse (on Windows this is COM1), /dev/input/mice is often used for USB mice and /dev/psaux for PS2 mice. GPMOPTS is the 'catch all' for any additional options that are needed for your hardware.
Contents
Installed Programs: | disable-paste, gpm, gpm-root, hltest, mev, and mouse-test |
---|---|
Installed Libraries: | libgpm.{so.a} |
Installed Directories: | None |
Short Descriptions
disable-paste | is a security mechanism used to disable the paste buffer. |
---|---|
gpm | is a cut and paste utility and mouse server for virtual consoles. |
gpm-root | is a default handler for gpm. It is used to draw menus on the root window. |
hltest | is a simple sample application using the high-level library, meant to be read by programmers trying to use the high-level library. |
mev | is a program to report mouse events. |
mouse-test | is a tool for determining the mouse type and device it's attached to. |
libgpm.{so.a} | contains the API functions to access the GPM daemon. |