Difference between revisions of "GPM"

From CBLFS
Jump to navigationJump to search
(Update package suffix)
 
(4 intermediate revisions by 3 users not shown)
Line 2: Line 2:
 
|-valign="top"
 
|-valign="top"
 
!Download Source:
 
!Download Source:
| http://ftp.schottelius.org/pub/linux/gpm/gpm-{{GPM-Version}}.tar.bz2
+
| http://www.nico.schottelius.org/software/gpm/archives/gpm-{{GPM-Version}}.tar.lzma
|-valign="top"
 
!Required Patch:
 
| http://svn.cross-lfs.org/svn/repos/patches/gpm/gpm-{{GPM-Version}}-segfault-1.patch
 
 
|-valign="top"
 
|-valign="top"
 
!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"
 
|-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 19: Line 14:
  
 
== Dependencies ==
 
== Dependencies ==
{{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:
  
patch -Np1 -i ../gpm-{{GPM-Version}}-segfault-1.patch &&
 
 
  patch -Np1 -i ../gpm-{{GPM-Version}}-silent-1.patch &&
 
  patch -Np1 -i ../gpm-{{GPM-Version}}-silent-1.patch &&
  ./configure --prefix=/usr --sysconfdir=/etc &&
+
  CC="gcc -fPIC" ./configure --prefix=/usr --sysconfdir=/etc &&
 
  LDFLAGS="-lm" make
 
  LDFLAGS="-lm" make
  
Line 47: Line 36:
  
 
=== 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:
  
patch -Np1 -i ../gpm-{{GPM-Version}}-segfault-1.patch &&
 
 
  patch -Np1 -i ../gpm-{{GPM-Version}}-silent-1.patch &&
 
  patch -Np1 -i ../gpm-{{GPM-Version}}-silent-1.patch &&
  CC="gcc ${BUILD32}" ./configure --prefix=/usr --sysconfdir=/etc &&
+
  CC="gcc ${BUILD32} -fPIC" ./configure --prefix=/usr --sysconfdir=/etc &&
 
  LDFLAGS="-lm" make
 
  LDFLAGS="-lm" make
  
Line 65: Line 49:
  
 
=== 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:
  
patch -Np1 -i ../gpm-{{GPM-Version}}-segfault-1.patch &&
 
 
  patch -Np1 -i ../gpm-{{GPM-Version}}-silent-1.patch &&
 
  patch -Np1 -i ../gpm-{{GPM-Version}}-silent-1.patch &&
  CC="gcc ${BUILDN32}" ./configure --prefix=/usr \
+
  CC="gcc ${BUILDN32} -fPIC" ./configure --prefix=/usr \
 
     --sysconfdir=/etc --libdir=/usr/lib32 &&
 
     --sysconfdir=/etc --libdir=/usr/lib32 &&
 
  LDFLAGS="-lm" make
 
  LDFLAGS="-lm" make
Line 84: Line 63:
  
 
=== 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}}-silent-1.patch &&
 
  patch -Np1 -i ../gpm-{{GPM-Version}}-silent-1.patch &&
  CC="gcc ${BUILD64}" ./configure --prefix=/usr \
+
  CC="gcc ${BUILD64} -fPIC" ./configure --prefix=/usr \
 
     --sysconfdir=/etc --libdir=/usr/lib64 &&
 
     --sysconfdir=/etc --libdir=/usr/lib64 &&
 
  LDFLAGS="-lm" make
 
  LDFLAGS="-lm" make

Latest revision as of 11:10, 9 October 2013

Download Source: http://www.nico.schottelius.org/software/gpm/archives/gpm-1.20.6.tar.lzma
Required Patch: http://svn.cross-lfs.org/svn/repos/patches/gpm/gpm-1.20.6-silent-1.patch

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

Compile the package:

patch -Np1 -i ../gpm-1.20.6-silent-1.patch &&
CC="gcc -fPIC" ./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

Compile the package:

patch -Np1 -i ../gpm-1.20.6-silent-1.patch &&
CC="gcc ${BUILD32} -fPIC" ./configure --prefix=/usr --sysconfdir=/etc &&
LDFLAGS="-lm" make

Install the package

make install &&
ldconfig

N32

Compile the package:

patch -Np1 -i ../gpm-1.20.6-silent-1.patch &&
CC="gcc ${BUILDN32} -fPIC" ./configure --prefix=/usr \
    --sysconfdir=/etc --libdir=/usr/lib32 &&
LDFLAGS="-lm" make

Install the package

make install &&
ldconfig

64Bit

Compile the package:

patch -Np1 -i ../gpm-1.20.6-silent-1.patch &&
CC="gcc ${BUILD64} -fPIC" ./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.
Retrieved from "?title=GPM&oldid=21570"