gpm/gpm.spec

423 lines
15 KiB
RPMSpec

#
# spec file for package gpm (Version 1.20.1)
#
# Copyright (c) 2006 SUSE LINUX Products GmbH, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
# package are under the same license as the package itself.
#
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
# norootforbuild
Name: gpm
URL: http://linux.schottelius.org/gpm/
License: GPL
Group: System/Console
Provides: select
PreReq: /bin/sed %insserv_prereq %fillup_prereq
Autoreqprov: on
Version: 1.20.1
Release: 312
Summary: Console Mouse Support
Source0: http://arcana.linux.it/pub/gpm/gpm-%{version}.tar.bz2
Source1: rcgpm
Source2: sysconfig.mouse-%{name}
Source3: README.SuSE
Patch0: gpm-%{version}.patch
Patch1: gpm-%{version}-ps2_command_bytes.patch
Patch2: gpm-%{version}-ps2_read.patch
Patch3: gpm-%{version}-ps2_reconnection.patch
Patch4: gpm-%{version}-syn_conf.patch
Patch5: gpm-%{version}-silitek.patch
Patch6: gpm-%{version}-conf.patch
Patch7: gpm-%{version}-va_arg.patch
Patch8: gpm-%{version}-quiet_libgpm.patch
Patch9: gpm-%{version}-no_templates_for_new_multiple_mode.patch
Patch10: gpm-%{version}-ceil.patch
Patch11: gpm-%{version}-Gpm_Open.patch
Patch12: gpm-%{version}-daemon_mode.patch
Patch13: gpm-%{version}-gunze-overflow.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
PreReq: %install_info_prereq
%description
The gpm (general purpose mouse) daemon tries to be a useful mouse
server for applications running on the Linux console. It can be used by
mc (Midnight Commander) or by w3m, the text-based Web browser. It
provides console cut and paste operations.
Authors:
--------
Alessandro Rubini <rubini@ipvvis.unipv.it>
Nico Schottelius <nico@schottelius.net>
%prep
%setup -q
%patch0
%patch1
%patch2
%patch3
%patch4
%patch5
%patch6
%patch7
%patch8
%patch9
%patch10
%patch11
%patch12
%patch13
#
cp %{S:1} %{S:2} %{S:3} .
%build
aclocal
autoconf
CFLAGS="$RPM_OPT_FLAGS -DQUIET_LIBGPM" \
./configure --prefix=%{_prefix} \
--libdir=%{_libdir} \
--mandir=%{_mandir} \
--infodir=%{_infodir} \
--sysconfdir=/etc/gpm
%ifarch %arm
make CC="gcc -lm"
%endif
make
%install
rm -rf $RPM_BUILD_ROOT
make DESTDIR=$RPM_BUILD_ROOT install
#
# gpm confings
for file in conf/gpm-* ; do
install -m 644 $file $RPM_BUILD_ROOT/etc/${file/conf\/gpm-/gpm\/}
done
#
# lisp
install -d $RPM_BUILD_ROOT/usr/share/emacs/site-lisp
install contrib/emacs/t-mouse.el* $RPM_BUILD_ROOT/usr/share/emacs/site-lisp
#
# start script
install -m 755 -d $RPM_BUILD_ROOT/var/adm/fillup-templates
install -m 755 -d $RPM_BUILD_ROOT/etc/init.d
install -m 755 -d $RPM_BUILD_ROOT/usr/sbin
install -m 644 sysconfig.mouse-%{name} $RPM_BUILD_ROOT/var/adm/fillup-templates
install -m 755 rcgpm $RPM_BUILD_ROOT/etc/init.d/gpm
ln -sf ../../etc/init.d/gpm $RPM_BUILD_ROOT/usr/sbin/rcgpm
%post
# rename variable in all possible locations for update
for i in etc/rc.config etc/sysconfig/mouse ; do
if test -f $i ; then
sed -e "s@^MOUSE=@MOUSEDEVICE=@" $i > $i.t && mv $i.t $i
rm -f $i.t
fi
done
# there were two variables with the same value GPM_PROTOCOL and MOUSETYPE
# in SuLi 8.2. The MOUSETYPE variable better conforms with with other
# variable names MOUSEDEVICE and XMOUSETYPE name scheme, so get rid of
# the obsolete GPM_PROTOCOL variable
if grep "^GPM_PROTOCOL=" /etc/sysconfig/mouse 1>/dev/null 2>/dev/null ; then
if grep "^MOUSETYPE=" /etc/sysconfig/mouse 1>/dev/null 2>/dev/null ; then
# comment out the obsolete MOUSETYPE variable
perl -pi -e "s|^(MOUSETYPE=.*)$|\#\$1 \# the variable GPM_PROTOCOL was renamed to MOUSETYPE|" /etc/sysconfig/mouse
fi
# rename GPM_PROTOCOL to MOUSETYPE
perl -pi -e "s|^GPM_PROTOCOL=(.*)$|\# the variable GPM_PROTOCOL was renamed to MOUSETYPE\nMOUSETYPE=\$1|" /etc/sysconfig/mouse
fi
%{fillup_and_insserv -p gpm}
%{fillup_only -an mouse }
%{run_ldconfig}
%install_info --info-dir=%{_infodir} %{_infodir}/%{name}.info.gz
%postun
%install_info_delete --info-dir=%{_infodir} %{_infodir}/%{name}.info.gz
%{insserv_cleanup}
%{run_ldconfig}
%clean
rm -rf $RPM_BUILD_ROOT
%files
%defattr(-,root,root)
%doc BUGS COPYING Changes README README.SuSE TODO
%doc doc/Announce doc/FAQ doc/README*
%doc %{_infodir}/*
%doc %{_mandir}/*/*
%dir /etc/gpm/
%config /etc/gpm/*
%config /etc/init.d/gpm
/usr/bin/*
/usr/sbin/*
/usr/include/*
%{_libdir}/lib*
%dir /usr/share/emacs
%dir /usr/share/emacs/site-lisp
/usr/share/emacs/site-lisp/*
/var/adm/fillup-templates/*
%changelog -n gpm
* Thu Feb 16 2006 - mmarek@suse.cz
- merge rcgpm-error-messages.diff into rcgpm
- hint users to run 'yast mouse' to configure gpm
[#114919 and duplicates]
* Wed Jan 25 2006 - mls@suse.de
- converted neededforbuild to BuildRequires
* Thu Nov 03 2005 - mmarek@suse.cz
- fix apparent typo in gunze touchscreen driver [#132053]
* Tue Aug 23 2005 - pmladek@suse.cz
- fixed the init script to print error messages if there are any
problems with configuration [#106700]
* Sat Apr 09 2005 - aj@suse.de
- Fix build also on i386 with GCC 4.
* Sat Mar 26 2005 - aj@suse.de
- Fix build with GCC 4.
* Thu Mar 24 2005 - uli@suse.de
- fixed to build on ARM
* Wed Nov 10 2004 - ro@suse.de
- fixed file list
* Fri Mar 05 2004 - mcihar@suse.cz
- fix possible segfault in Gpm_Open (bug #31970)
* Fri Oct 17 2003 - mcihar@suse.cz
- do not build as root
* Mon Sep 15 2003 - mcihar@suse.cz
- allow to set gpm repeating in sysconfig (GPM_REPEAT)
* Thu Aug 14 2003 - mcihar@suse.cz
- added activation metadata to sysconfig template (bug #28903)
* Fri Jun 20 2003 - ro@suse.de
- added directories to filelist
* Thu Apr 24 2003 - ro@suse.de
- merged postuns
* Thu Apr 24 2003 - ro@suse.de
- fix install_info --delete call and move from preun to postun
* Fri Mar 14 2003 - pmladek@suse.cz
- redirected stdin, stdout and stderr to /dev/null in the daemon mode [#25386]
* Tue Mar 04 2003 - pmladek@suse.cz
- fixed Gpm_Open to initialize option.consolename only for the first time
(Gpm_Open.patch) [#24587]
* Mon Feb 17 2003 - mmj@suse.de
- Use %%install_info macros [#23421]
* Thu Jan 09 2003 - pmladek@suse.cz
- updated to the stable version 1.20.1:
* synaptics ps2 touchpad support
* code cleanup in various main files
* prototype of mouse support for n-mice. expect final in 1.20.3.
- removed the obsolete compat patch which fixed compactibility with an older
libgpm.so.1
- removed the obsolete synaptic patch which fixed synaptics.c to read
/etc/gpm/syn.conf with TABs
- removed the obsolete old_pid_file patch which fixed the start of gpm server
when an old invalid /var/run/gpm.pid exists
- removed the prototype of mouse support for n-mice, because it does not work
for the present and it is uncomplete, it requires to define the mouse device
before the mouse type on the command line, but the option -M is still needed,
so this feature is not complete and can confuse the user
(no_templates_for_new_multiple_mode.patch)
- fixed the default gpm/syn.conf according to the new synaptics.c
- fixed to link with "-lm" if needed (ceil is not an inline function)
and where needed (gpm, libgpm.so)
* Thu Jan 02 2003 - pmladek@suse.cz
- added metadata to the sysconfig template [#22660]
- got rid of the variable GPM_PROTOCOL from the init script and the
sysconfig template, used MOUSETYPE instead (both variables were generated
by YaST in SuLi 8.2, which is confusing and the variable MOUSETYPE
better conforms with other variable names MOUSEDEVICE and XMOUSETYPE)
* Wed Sep 18 2002 - ro@suse.de
- removed bogus self-provides
* Mon Sep 02 2002 - kukuk@suse.de
- Remove unused yacc from neededforbuild
- Move rcgpm symlink to the same location as the binary is
- Remove not existent services from init script header
* Tue Aug 13 2002 - pmladek@suse.cz
- already enabled __os_install_post macro
* Mon Aug 12 2002 - pmladek@suse.de
- fixed problem with variable argument lists [#17528]
- removed patch which fixes messages, they are completely disabled
in libgpm now, generally, no library should write messages on
standart output or standart error output (it made problems
with w3m for example)
* Tue Jul 30 2002 - ro@suse.de
- also rename MOUSE to MOUSEDEVICE on update
- added PreReqs
* Tue Jul 30 2002 - pmladek@suse.cz
- used the MOUSEDEVICE variable instead of the MOUSE variable [#17266]
- the MOUSEDEVICE variable is filled up into /etc/sysconfig/mouse
by this package now [#17266]
* Thu Jul 25 2002 - pmladek@suse.cz
- fixed compactibility with older libgpm.so.1
- fixed gpm messages:
* added prefix "gpm: "
* disabled debug messages in libgpm
* improved message in function Gpm_Open when gpm server
is not running
* Thu Jul 11 2002 - pmladek@suse.cz
- added Silitek mouse drivers created by Dr. Werner Fink <werner@suse.de>
- gpm config files changes:
* installed gpm-twiddler.conf, many thanks to Dr. Werner Fink for hint
* fixed and installed gpm-syn.conf
* moved all gpm config files from /etc to /etc/gpm
* removed prefix "gpm-" from gpm config file names
* created README.SuSE
* improved "probe" part in init script to check changes
in config files from /etc/gpm/*
- fixed synaptics.c to read /etc/gpm/syn.conf with TABs
- fixed support for reconnection for PS/2 mouses to save necessary values
in struct mouse_features (to work correctly with dual-mouse stuff)
* Wed Jul 10 2002 - pmladek@suse.cz
- updated to version 1.20.1rc1:
* synaptics ps2 touchpad support
* removed compile problems
* objdir/ support without problems
* cleaned up internal message functions
* clean {g,m,}awk support
* clean ps2 initialization (allows using ps2 mouse after you
used synps!)
* gpm clients can't cause gpm do die.
- removed obsolete patch for gpm-root.y
- removed obsolete ia64 patch
- removed obsolete Werner's patch for devfs.c
- improved patch for reconnection of PS/2 mouses
- fixed start of gpm server when an old invalid /var/run/gpm.pid exists
- reorganized patches
- used %%run_ldconfig macro in %%post and %%postun sections
- fixed init script according to skeleton
* Tue Jul 09 2002 - werner@suse.de
- Bug fix in devfs.c for twid and other keyboards
- Bug fix in gpm.c: Some PS/2 devices really wants be readed
byte by byte
- Complete the PS/2 command bytes in headers/defines.h
* Fri Mar 15 2002 - kukuk@suse.de
- fix typo in sysconfig.gpm [Bug #15034]
* Thu Jan 17 2002 - pmladek@suse.cz
- added variable GPM_PROTOCOL to /etc/sysconfig/mouse
- if the variable GPM_PARAM is empty then gpm will start with option
"-t $GPM_PROTOCOL -m $MOUSE" now
* Wed Jan 16 2002 - ro@suse.de
- removed setup.selection
* Fri Jan 11 2002 - pmladek@suse.cz
- used macro %%{_libdir} to fix for lib64
- fixed rights of static library to 644
- fixed documentation in /usr/share/doc/packages/gpm
* Tue Jan 08 2002 - egmont@suselinux.hu
- removed colons from init script messages
* Tue Jan 08 2002 - ro@suse.de
- moved GPM_PARAM to /etc/sysconfig/mouse
* Mon Dec 10 2001 - pmladek@suse.cz
- updated to version 1.19.6:
* Synaptics 4 Button Touchpad support
* IntelliMouse Explorer support
* some bug fixes
- removed obsolete mktemp security patch
* Wed Dec 05 2001 - ro@suse.de
- add "-p" to macro call to deactivate perl-hack
* Wed Dec 05 2001 - ro@suse.de
- use fillup_and_insserv and removed START_GPM
- move variable GPM_PARAM to this package
* Thu Oct 18 2001 - pmladek@suse.cz
- fixed permissions of /dev/gpmctl back to 777, thus the
applications (mc) can use mouse support for normal user (#11893)
* Mon Sep 17 2001 - pmladek@suse.cz
- fixed to detect tokens AA 00 only in protocols
for ps/2 mouses
* Mon Sep 10 2001 - pmladek@suse.cz
- fixed to read only two bytes when mouse is
reconected and it sends tokens AA 00
* Fri Sep 07 2001 - pmladek@suse.cz
- fixed detection of reconnection of ps2 mouses and friends
with kernel 2.4.9 or higher (bug #9822)
* I take inspiration in patch from
George Staikos (staikos@0wned.org)
* Thu Aug 23 2001 - pmladek@suse.cz
- updated to version 1.19.3:
* security fixes:
* close the newly accept()ed socket in case of
identification failure
* removed initial setuid(0) call
* added initgroups()
* many bugfixes
* features:
* re-check console size on console change
* changed use of -o option
- removed obsolete security patches
- removed obsolete resize patch
- applied two patches from RedHat:
* fix permissions on /dev/gpmctl
* call initgroups in gpm-root before spawning command as user
* make gpm-root work on big endian
* Mon Aug 06 2001 - kukuk@suse.de
- Fix comment about init script location [Bug #9494]
* Thu Jun 14 2001 - pmladek@suse.cz
- fixed link libgpm.so.1
* Fri Jun 08 2001 - kukuk@suse.de
- Use _libdir macros
* Fri Jun 08 2001 - pmladek@suse.cz
- fixed to compile on sparc64 (libraries in /usr/lib64 now)
- fixed BUILD_ROOT
* Wed May 16 2001 - pmladek@suse.cz
- fixed cast warnings on ia64
* Mon Apr 23 2001 - pmladek@suse.cz
- fixed warnings on ia64
* Thu Apr 12 2001 - pmladek@suse.cz
- fixed init script by new skeleton
- fixed to compile
- removed include $(DEPS) from makefile
* Mon Jan 15 2001 - nadvornik@suse.cz
- added Required-Start: $remote_fs $syslog [bug #5580]
* Tue Jan 02 2001 - olh@suse.de
- add script name to %%postin
* Wed Dec 20 2000 - pthomas@suse.de
- Fix bug in Gpm_Wgetch
* Tue Nov 28 2000 - ro@suse.de
- sbin/init.d -> etc/init.d
* Wed Nov 22 2000 - nadvornik@suse.cz
- removed runlevel links
- fixed init script
* Mon Oct 09 2000 - nadvornik@suse.cz
- fixed Copyright
- used bzip2
* Fri Oct 06 2000 - schwab@suse.de
- Use getdtablesize() instead of OPEN_MAX.
* Mon Jul 17 2000 - nadvornik@suse.cz
- added security patch for disable-paste. Now it don't
need to be installed with suid root.
* Thu Apr 27 2000 - nadvornik@suse.cz
- added initgroups() patch
- used --sysconfdir=/etc
* Tue Apr 18 2000 - nadvornik@suse.cz
- added BuildRoot
* Mon Apr 03 2000 - uli@suse.de
- merged in gpm-root fix by Alessandro Rubini
* Fri Feb 25 2000 - kukuk@suse.de
- Move /usr/{info,man} -> /usr/share/{info,man}
* Mon Jan 31 2000 - uli@suse.de
- added fix for possible /tmp race attacks by thomas@suse.de
* Fri Dec 17 1999 - ro@suse.de
- removed params for ldconfig (-l does not work any more)
- update to 1.18.1
- got rid of Makefile.Linux
- use RPM_OPT_FLAGS for configure
* Mon Oct 11 1999 - uli@suse.de
- update -> 1.18.0
* Mon Sep 13 1999 - bs@suse.de
- ran old prepare_spec on spec file to switch to new prepare_spec.
* Tue Mar 16 1999 - ro@suse.de
- fixed rc-script: check if gpm already running
* Fri Mar 05 1999 - ro@suse.de
- fixed rc script
* Tue Mar 02 1999 - ro@suse.de
- update to 1.17.5
* Mon Dec 07 1998 - ro@suse.de
- updated init-script
- added rcgpm symlink
* Fri Oct 24 1997 - florian@suse.de
- update to gpm 1.13
* Sun May 04 1997 - bs@suse.de
- added /var/adm/setup/setup.selection
* Wed Apr 30 1997 - florian@suse.de
- update to version 1.12
* Thu Jan 02 1997 - florian@suse.de
- move startup scripts from aaa_base to gpm.tgz