Sync from SUSE:ALP:Source:Standard:1.0 gpm revision f95c3d2f3c2c191b4a86673a46e71e27
This commit is contained in:
commit
388585dd00
23
.gitattributes
vendored
Normal file
23
.gitattributes
vendored
Normal file
@ -0,0 +1,23 @@
|
||||
## Default LFS
|
||||
*.7z filter=lfs diff=lfs merge=lfs -text
|
||||
*.bsp filter=lfs diff=lfs merge=lfs -text
|
||||
*.bz2 filter=lfs diff=lfs merge=lfs -text
|
||||
*.gem filter=lfs diff=lfs merge=lfs -text
|
||||
*.gz filter=lfs diff=lfs merge=lfs -text
|
||||
*.jar filter=lfs diff=lfs merge=lfs -text
|
||||
*.lz filter=lfs diff=lfs merge=lfs -text
|
||||
*.lzma filter=lfs diff=lfs merge=lfs -text
|
||||
*.obscpio filter=lfs diff=lfs merge=lfs -text
|
||||
*.oxt filter=lfs diff=lfs merge=lfs -text
|
||||
*.pdf filter=lfs diff=lfs merge=lfs -text
|
||||
*.png filter=lfs diff=lfs merge=lfs -text
|
||||
*.rpm filter=lfs diff=lfs merge=lfs -text
|
||||
*.tbz filter=lfs diff=lfs merge=lfs -text
|
||||
*.tbz2 filter=lfs diff=lfs merge=lfs -text
|
||||
*.tgz filter=lfs diff=lfs merge=lfs -text
|
||||
*.ttf filter=lfs diff=lfs merge=lfs -text
|
||||
*.txz filter=lfs diff=lfs merge=lfs -text
|
||||
*.whl filter=lfs diff=lfs merge=lfs -text
|
||||
*.xz filter=lfs diff=lfs merge=lfs -text
|
||||
*.zip filter=lfs diff=lfs merge=lfs -text
|
||||
*.zst filter=lfs diff=lfs merge=lfs -text
|
14
README.SUSE
Normal file
14
README.SUSE
Normal file
@ -0,0 +1,14 @@
|
||||
Dear customer,
|
||||
|
||||
gpm is using more and more config files in /etc. Therefore we moved
|
||||
all config files into /etc/gpm and removed "gpm-" from config file
|
||||
names.
|
||||
|
||||
For example:
|
||||
/etc/gpm-root.conf -> /etc/gpm/root.conf
|
||||
/etc/gpm-syn.conf -> /etc/gpm/syn.conf
|
||||
...
|
||||
|
||||
|
||||
Have a lot of fun,
|
||||
Your SuSE team
|
1
baselibs.conf
Normal file
1
baselibs.conf
Normal file
@ -0,0 +1 @@
|
||||
libgpm2
|
30
decls.patch
Normal file
30
decls.patch
Normal file
@ -0,0 +1,30 @@
|
||||
__sigemptyset has been removed from glibc public
|
||||
API headers in upcoming (2.26) release onwards
|
||||
|
||||
Upstream-PR: https://github.com/telmich/gpm/pull/20
|
||||
|
||||
Index: gpm-1.20.7/src/daemon/open_console.c
|
||||
===================================================================
|
||||
--- gpm-1.20.7.orig/src/daemon/open_console.c
|
||||
+++ gpm-1.20.7/src/daemon/open_console.c
|
||||
@@ -22,6 +22,7 @@
|
||||
#include <fcntl.h> /* open and co. */
|
||||
#include <sys/stat.h> /* stat() */
|
||||
#include <sys/ioctl.h> /* ioctl */
|
||||
+#include <sys/sysmacros.h> /* major */
|
||||
|
||||
/* Linux specific (to be outsourced in gpm2 */
|
||||
#include <linux/serial.h> /* for serial console check */
|
||||
Index: gpm-1.20.7/src/prog/gpm-root.y
|
||||
===================================================================
|
||||
--- gpm-1.20.7.orig/src/prog/gpm-root.y
|
||||
+++ gpm-1.20.7/src/prog/gpm-root.y
|
||||
@@ -1196,7 +1196,7 @@ int main(int argc, char **argv)
|
||||
/* reap your zombies */
|
||||
childaction.sa_handler=reap_children;
|
||||
#if defined(__GLIBC__)
|
||||
- __sigemptyset(&childaction.sa_mask);
|
||||
+ sigemptyset(&childaction.sa_mask);
|
||||
#else /* __GLIBC__ */
|
||||
childaction.sa_mask=0;
|
||||
#endif /* __GLIBC__ */
|
339
gpl-2.0.txt
Normal file
339
gpl-2.0.txt
Normal file
@ -0,0 +1,339 @@
|
||||
GNU GENERAL PUBLIC LICENSE
|
||||
Version 2, June 1991
|
||||
|
||||
Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
|
||||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this license document, but changing it is not allowed.
|
||||
|
||||
Preamble
|
||||
|
||||
The licenses for most software are designed to take away your
|
||||
freedom to share and change it. By contrast, the GNU General Public
|
||||
License is intended to guarantee your freedom to share and change free
|
||||
software--to make sure the software is free for all its users. This
|
||||
General Public License applies to most of the Free Software
|
||||
Foundation's software and to any other program whose authors commit to
|
||||
using it. (Some other Free Software Foundation software is covered by
|
||||
the GNU Lesser General Public License instead.) You can apply it to
|
||||
your programs, too.
|
||||
|
||||
When we speak of free software, we are referring to freedom, not
|
||||
price. Our General Public Licenses are designed to make sure that you
|
||||
have the freedom to distribute copies of free software (and charge for
|
||||
this service if you wish), that you receive source code or can get it
|
||||
if you want it, that you can change the software or use pieces of it
|
||||
in new free programs; and that you know you can do these things.
|
||||
|
||||
To protect your rights, we need to make restrictions that forbid
|
||||
anyone to deny you these rights or to ask you to surrender the rights.
|
||||
These restrictions translate to certain responsibilities for you if you
|
||||
distribute copies of the software, or if you modify it.
|
||||
|
||||
For example, if you distribute copies of such a program, whether
|
||||
gratis or for a fee, you must give the recipients all the rights that
|
||||
you have. You must make sure that they, too, receive or can get the
|
||||
source code. And you must show them these terms so they know their
|
||||
rights.
|
||||
|
||||
We protect your rights with two steps: (1) copyright the software, and
|
||||
(2) offer you this license which gives you legal permission to copy,
|
||||
distribute and/or modify the software.
|
||||
|
||||
Also, for each author's protection and ours, we want to make certain
|
||||
that everyone understands that there is no warranty for this free
|
||||
software. If the software is modified by someone else and passed on, we
|
||||
want its recipients to know that what they have is not the original, so
|
||||
that any problems introduced by others will not reflect on the original
|
||||
authors' reputations.
|
||||
|
||||
Finally, any free program is threatened constantly by software
|
||||
patents. We wish to avoid the danger that redistributors of a free
|
||||
program will individually obtain patent licenses, in effect making the
|
||||
program proprietary. To prevent this, we have made it clear that any
|
||||
patent must be licensed for everyone's free use or not licensed at all.
|
||||
|
||||
The precise terms and conditions for copying, distribution and
|
||||
modification follow.
|
||||
|
||||
GNU GENERAL PUBLIC LICENSE
|
||||
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
||||
|
||||
0. This License applies to any program or other work which contains
|
||||
a notice placed by the copyright holder saying it may be distributed
|
||||
under the terms of this General Public License. The "Program", below,
|
||||
refers to any such program or work, and a "work based on the Program"
|
||||
means either the Program or any derivative work under copyright law:
|
||||
that is to say, a work containing the Program or a portion of it,
|
||||
either verbatim or with modifications and/or translated into another
|
||||
language. (Hereinafter, translation is included without limitation in
|
||||
the term "modification".) Each licensee is addressed as "you".
|
||||
|
||||
Activities other than copying, distribution and modification are not
|
||||
covered by this License; they are outside its scope. The act of
|
||||
running the Program is not restricted, and the output from the Program
|
||||
is covered only if its contents constitute a work based on the
|
||||
Program (independent of having been made by running the Program).
|
||||
Whether that is true depends on what the Program does.
|
||||
|
||||
1. You may copy and distribute verbatim copies of the Program's
|
||||
source code as you receive it, in any medium, provided that you
|
||||
conspicuously and appropriately publish on each copy an appropriate
|
||||
copyright notice and disclaimer of warranty; keep intact all the
|
||||
notices that refer to this License and to the absence of any warranty;
|
||||
and give any other recipients of the Program a copy of this License
|
||||
along with the Program.
|
||||
|
||||
You may charge a fee for the physical act of transferring a copy, and
|
||||
you may at your option offer warranty protection in exchange for a fee.
|
||||
|
||||
2. You may modify your copy or copies of the Program or any portion
|
||||
of it, thus forming a work based on the Program, and copy and
|
||||
distribute such modifications or work under the terms of Section 1
|
||||
above, provided that you also meet all of these conditions:
|
||||
|
||||
a) You must cause the modified files to carry prominent notices
|
||||
stating that you changed the files and the date of any change.
|
||||
|
||||
b) You must cause any work that you distribute or publish, that in
|
||||
whole or in part contains or is derived from the Program or any
|
||||
part thereof, to be licensed as a whole at no charge to all third
|
||||
parties under the terms of this License.
|
||||
|
||||
c) If the modified program normally reads commands interactively
|
||||
when run, you must cause it, when started running for such
|
||||
interactive use in the most ordinary way, to print or display an
|
||||
announcement including an appropriate copyright notice and a
|
||||
notice that there is no warranty (or else, saying that you provide
|
||||
a warranty) and that users may redistribute the program under
|
||||
these conditions, and telling the user how to view a copy of this
|
||||
License. (Exception: if the Program itself is interactive but
|
||||
does not normally print such an announcement, your work based on
|
||||
the Program is not required to print an announcement.)
|
||||
|
||||
These requirements apply to the modified work as a whole. If
|
||||
identifiable sections of that work are not derived from the Program,
|
||||
and can be reasonably considered independent and separate works in
|
||||
themselves, then this License, and its terms, do not apply to those
|
||||
sections when you distribute them as separate works. But when you
|
||||
distribute the same sections as part of a whole which is a work based
|
||||
on the Program, the distribution of the whole must be on the terms of
|
||||
this License, whose permissions for other licensees extend to the
|
||||
entire whole, and thus to each and every part regardless of who wrote it.
|
||||
|
||||
Thus, it is not the intent of this section to claim rights or contest
|
||||
your rights to work written entirely by you; rather, the intent is to
|
||||
exercise the right to control the distribution of derivative or
|
||||
collective works based on the Program.
|
||||
|
||||
In addition, mere aggregation of another work not based on the Program
|
||||
with the Program (or with a work based on the Program) on a volume of
|
||||
a storage or distribution medium does not bring the other work under
|
||||
the scope of this License.
|
||||
|
||||
3. You may copy and distribute the Program (or a work based on it,
|
||||
under Section 2) in object code or executable form under the terms of
|
||||
Sections 1 and 2 above provided that you also do one of the following:
|
||||
|
||||
a) Accompany it with the complete corresponding machine-readable
|
||||
source code, which must be distributed under the terms of Sections
|
||||
1 and 2 above on a medium customarily used for software interchange; or,
|
||||
|
||||
b) Accompany it with a written offer, valid for at least three
|
||||
years, to give any third party, for a charge no more than your
|
||||
cost of physically performing source distribution, a complete
|
||||
machine-readable copy of the corresponding source code, to be
|
||||
distributed under the terms of Sections 1 and 2 above on a medium
|
||||
customarily used for software interchange; or,
|
||||
|
||||
c) Accompany it with the information you received as to the offer
|
||||
to distribute corresponding source code. (This alternative is
|
||||
allowed only for noncommercial distribution and only if you
|
||||
received the program in object code or executable form with such
|
||||
an offer, in accord with Subsection b above.)
|
||||
|
||||
The source code for a work means the preferred form of the work for
|
||||
making modifications to it. For an executable work, complete source
|
||||
code means all the source code for all modules it contains, plus any
|
||||
associated interface definition files, plus the scripts used to
|
||||
control compilation and installation of the executable. However, as a
|
||||
special exception, the source code distributed need not include
|
||||
anything that is normally distributed (in either source or binary
|
||||
form) with the major components (compiler, kernel, and so on) of the
|
||||
operating system on which the executable runs, unless that component
|
||||
itself accompanies the executable.
|
||||
|
||||
If distribution of executable or object code is made by offering
|
||||
access to copy from a designated place, then offering equivalent
|
||||
access to copy the source code from the same place counts as
|
||||
distribution of the source code, even though third parties are not
|
||||
compelled to copy the source along with the object code.
|
||||
|
||||
4. You may not copy, modify, sublicense, or distribute the Program
|
||||
except as expressly provided under this License. Any attempt
|
||||
otherwise to copy, modify, sublicense or distribute the Program is
|
||||
void, and will automatically terminate your rights under this License.
|
||||
However, parties who have received copies, or rights, from you under
|
||||
this License will not have their licenses terminated so long as such
|
||||
parties remain in full compliance.
|
||||
|
||||
5. You are not required to accept this License, since you have not
|
||||
signed it. However, nothing else grants you permission to modify or
|
||||
distribute the Program or its derivative works. These actions are
|
||||
prohibited by law if you do not accept this License. Therefore, by
|
||||
modifying or distributing the Program (or any work based on the
|
||||
Program), you indicate your acceptance of this License to do so, and
|
||||
all its terms and conditions for copying, distributing or modifying
|
||||
the Program or works based on it.
|
||||
|
||||
6. Each time you redistribute the Program (or any work based on the
|
||||
Program), the recipient automatically receives a license from the
|
||||
original licensor to copy, distribute or modify the Program subject to
|
||||
these terms and conditions. You may not impose any further
|
||||
restrictions on the recipients' exercise of the rights granted herein.
|
||||
You are not responsible for enforcing compliance by third parties to
|
||||
this License.
|
||||
|
||||
7. If, as a consequence of a court judgment or allegation of patent
|
||||
infringement or for any other reason (not limited to patent issues),
|
||||
conditions are imposed on you (whether by court order, agreement or
|
||||
otherwise) that contradict the conditions of this License, they do not
|
||||
excuse you from the conditions of this License. If you cannot
|
||||
distribute so as to satisfy simultaneously your obligations under this
|
||||
License and any other pertinent obligations, then as a consequence you
|
||||
may not distribute the Program at all. For example, if a patent
|
||||
license would not permit royalty-free redistribution of the Program by
|
||||
all those who receive copies directly or indirectly through you, then
|
||||
the only way you could satisfy both it and this License would be to
|
||||
refrain entirely from distribution of the Program.
|
||||
|
||||
If any portion of this section is held invalid or unenforceable under
|
||||
any particular circumstance, the balance of the section is intended to
|
||||
apply and the section as a whole is intended to apply in other
|
||||
circumstances.
|
||||
|
||||
It is not the purpose of this section to induce you to infringe any
|
||||
patents or other property right claims or to contest validity of any
|
||||
such claims; this section has the sole purpose of protecting the
|
||||
integrity of the free software distribution system, which is
|
||||
implemented by public license practices. Many people have made
|
||||
generous contributions to the wide range of software distributed
|
||||
through that system in reliance on consistent application of that
|
||||
system; it is up to the author/donor to decide if he or she is willing
|
||||
to distribute software through any other system and a licensee cannot
|
||||
impose that choice.
|
||||
|
||||
This section is intended to make thoroughly clear what is believed to
|
||||
be a consequence of the rest of this License.
|
||||
|
||||
8. If the distribution and/or use of the Program is restricted in
|
||||
certain countries either by patents or by copyrighted interfaces, the
|
||||
original copyright holder who places the Program under this License
|
||||
may add an explicit geographical distribution limitation excluding
|
||||
those countries, so that distribution is permitted only in or among
|
||||
countries not thus excluded. In such case, this License incorporates
|
||||
the limitation as if written in the body of this License.
|
||||
|
||||
9. The Free Software Foundation may publish revised and/or new versions
|
||||
of the General Public License from time to time. Such new versions will
|
||||
be similar in spirit to the present version, but may differ in detail to
|
||||
address new problems or concerns.
|
||||
|
||||
Each version is given a distinguishing version number. If the Program
|
||||
specifies a version number of this License which applies to it and "any
|
||||
later version", you have the option of following the terms and conditions
|
||||
either of that version or of any later version published by the Free
|
||||
Software Foundation. If the Program does not specify a version number of
|
||||
this License, you may choose any version ever published by the Free Software
|
||||
Foundation.
|
||||
|
||||
10. If you wish to incorporate parts of the Program into other free
|
||||
programs whose distribution conditions are different, write to the author
|
||||
to ask for permission. For software which is copyrighted by the Free
|
||||
Software Foundation, write to the Free Software Foundation; we sometimes
|
||||
make exceptions for this. Our decision will be guided by the two goals
|
||||
of preserving the free status of all derivatives of our free software and
|
||||
of promoting the sharing and reuse of software generally.
|
||||
|
||||
NO WARRANTY
|
||||
|
||||
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
|
||||
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
|
||||
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
|
||||
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
|
||||
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
|
||||
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
|
||||
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
|
||||
REPAIR OR CORRECTION.
|
||||
|
||||
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
|
||||
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
|
||||
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
|
||||
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
|
||||
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
|
||||
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
|
||||
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
|
||||
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
|
||||
POSSIBILITY OF SUCH DAMAGES.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
How to Apply These Terms to Your New Programs
|
||||
|
||||
If you develop a new program, and you want it to be of the greatest
|
||||
possible use to the public, the best way to achieve this is to make it
|
||||
free software which everyone can redistribute and change under these terms.
|
||||
|
||||
To do so, attach the following notices to the program. It is safest
|
||||
to attach them to the start of each source file to most effectively
|
||||
convey the exclusion of warranty; and each file should have at least
|
||||
the "copyright" line and a pointer to where the full notice is found.
|
||||
|
||||
<one line to give the program's name and a brief idea of what it does.>
|
||||
Copyright (C) <year> <name of author>
|
||||
|
||||
This program 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; either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program 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 program; if not, write to the Free Software Foundation, Inc.,
|
||||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
|
||||
Also add information on how to contact you by electronic and paper mail.
|
||||
|
||||
If the program is interactive, make it output a short notice like this
|
||||
when it starts in an interactive mode:
|
||||
|
||||
Gnomovision version 69, Copyright (C) year name of author
|
||||
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
|
||||
This is free software, and you are welcome to redistribute it
|
||||
under certain conditions; type `show c' for details.
|
||||
|
||||
The hypothetical commands `show w' and `show c' should show the appropriate
|
||||
parts of the General Public License. Of course, the commands you use may
|
||||
be called something other than `show w' and `show c'; they could even be
|
||||
mouse-clicks or menu items--whatever suits your program.
|
||||
|
||||
You should also get your employer (if you work as a programmer) or your
|
||||
school, if any, to sign a "copyright disclaimer" for the program, if
|
||||
necessary. Here is a sample; alter the names:
|
||||
|
||||
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
|
||||
`Gnomovision' (which makes passes at compilers) written by James Hacker.
|
||||
|
||||
<signature of Ty Coon>, 1 April 1989
|
||||
Ty Coon, President of Vice
|
||||
|
||||
This General Public License does not permit incorporating your program into
|
||||
proprietary programs. If your program is a subroutine library, you may
|
||||
consider it more useful to permit linking proprietary applications with the
|
||||
library. If this is what you want to do, use the GNU Lesser General
|
||||
Public License instead of this License.
|
BIN
gpm-1.20.7.tar.lzma
(Stored with Git LFS)
Normal file
BIN
gpm-1.20.7.tar.lzma
(Stored with Git LFS)
Normal file
Binary file not shown.
134
gpm-DESTDIR.patch
Normal file
134
gpm-DESTDIR.patch
Normal file
@ -0,0 +1,134 @@
|
||||
---
|
||||
Makefile.in | 8 ++++++--
|
||||
Makefile.include.in | 1 +
|
||||
doc/Makefile.in | 31 ++++++++++---------------------
|
||||
src/Makefile.in | 19 ++++++++++---------
|
||||
4 files changed, 27 insertions(+), 32 deletions(-)
|
||||
|
||||
Index: Makefile.in
|
||||
===================================================================
|
||||
--- Makefile.in.orig 2012-10-26 23:21:38.000000000 +0200
|
||||
+++ Makefile.in 2013-04-16 11:42:15.933917724 +0200
|
||||
@@ -65,9 +65,13 @@ install-strip:
|
||||
$(MAKE) INSTALL_PROGRAM='$(INSTALL_PROGRAM) $(STRIP)' install
|
||||
|
||||
installdirs:
|
||||
- $(MKDIR) $(libdir) $(bindir) $(sbindir) $(includedir) $(sysconfdir); \
|
||||
+ $(INSTALL_DIR) $(DESTDIR)$(libdir)
|
||||
+ $(INSTALL_DIR) $(DESTDIR)$(bindir)
|
||||
+ $(INSTALL_DIR) $(DESTDIR)$(sbindir)
|
||||
+ $(INSTALL_DIR) $(DESTDIR)$(includedir)
|
||||
+ $(INSTALL_DIR) $(DESTDIR)$(sysconfdir); \
|
||||
if test "x$(ELISP)" != "x" ; then \
|
||||
- $(MKDIR) $(lispdir) ; \
|
||||
+ $(MKDIR) $(DESTDIR)$(lispdir) ; \
|
||||
fi
|
||||
|
||||
### GENERIC
|
||||
Index: Makefile.include.in
|
||||
===================================================================
|
||||
--- Makefile.include.in.orig 2012-10-26 23:21:38.000000000 +0200
|
||||
+++ Makefile.include.in 2013-04-16 11:42:15.933917724 +0200
|
||||
@@ -43,6 +43,7 @@ YACC = @YACC@
|
||||
INSTALL = @INSTALL@
|
||||
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
||||
INSTALL_DATA = @INSTALL_DATA@
|
||||
+INSTALL_DIR = @INSTALL@ -d
|
||||
LN_S = @LN_S@
|
||||
EMACS = @EMACS@
|
||||
ELISP = @ELISP@
|
||||
Index: doc/Makefile.in
|
||||
===================================================================
|
||||
--- doc/Makefile.in.orig 2012-10-26 23:21:38.000000000 +0200
|
||||
+++ doc/Makefile.in 2013-04-16 11:42:15.933917724 +0200
|
||||
@@ -111,29 +111,18 @@ gpmdoc.ps: gpm.ps
|
||||
# install & uninstall
|
||||
|
||||
installdirs:
|
||||
- $(MKDIR) $(man1dir) $(man7dir) $(man8dir) $(infodir)
|
||||
+ $(INSTALL_DIR) $(DESTDIR)$(man1dir)
|
||||
+ $(INSTALL_DIR) $(DESTDIR)$(man7dir)
|
||||
+ $(INSTALL_DIR) $(DESTDIR)$(man8dir)
|
||||
+ $(INSTALL_DIR) $(DESTDIR)$(infodir)
|
||||
|
||||
install: all installdirs
|
||||
- $(INSTALL_DATA) -m 644 mev.1 $(man1dir)
|
||||
- $(INSTALL_DATA) -m 644 mouse-test.1 $(man1dir)
|
||||
- $(INSTALL_DATA) -m 644 gpm-root.1 $(man1dir)
|
||||
- $(INSTALL_DATA) -m 644 gpm-types.7 $(man7dir)
|
||||
- $(INSTALL_DATA) -m 644 gpm.8 $(man8dir)
|
||||
- $(INSTALL_DATA) -m 644 $(srcdir)/gpm.info $(infodir)
|
||||
- # Use install-info if available
|
||||
- -if $(SHELL) -c 'install-info --version' >/dev/null 2>&1; then \
|
||||
- if [ -f $(infodir)/dir ] ; then \
|
||||
- install-info --dir-file=$(infodir)/dir $(infodir)/gpm.info; \
|
||||
- fi; \
|
||||
- fi
|
||||
- #itz Sat Dec 26 23:21:05 PST 1998
|
||||
- #i keep all my infopages compressed and i'm tired to do it by
|
||||
- #hand, so check if there are any compressed pages and do this
|
||||
- #one too
|
||||
- -ls $(infodir)/*[-.]info.gz >/dev/null 2>&1 \
|
||||
- && gzip -f $(infodir)/gpm.info
|
||||
- # Hmm.... shouldn't man pages be compressed too?
|
||||
- # maybe they should, but at least at my system they are not.
|
||||
+ $(INSTALL_DATA) -m 644 mev.1 $(DESTDIR)$(man1dir)
|
||||
+ $(INSTALL_DATA) -m 644 mouse-test.1 $(DESTDIR)$(man1dir)
|
||||
+ $(INSTALL_DATA) -m 644 gpm-root.1 $(DESTDIR)$(man1dir)
|
||||
+ $(INSTALL_DATA) -m 644 gpm-types.7 $(DESTDIR)$(man7dir)
|
||||
+ $(INSTALL_DATA) -m 644 gpm.8 $(DESTDIR)$(man8dir)
|
||||
+ $(INSTALL_DATA) -m 644 $(srcdir)/gpm.info $(DESTDIR)$(infodir)
|
||||
|
||||
# This potentially leaves around cached manpages,
|
||||
# e.g. /var/cache/man/cat1/mev.1.gz. Deleting these is not our job,
|
||||
Index: src/Makefile.in
|
||||
===================================================================
|
||||
--- src/Makefile.in.orig 2012-10-26 23:21:38.000000000 +0200
|
||||
+++ src/Makefile.in 2013-04-16 11:47:36.772320635 +0200
|
||||
@@ -104,17 +104,17 @@ check: all
|
||||
installdirs:
|
||||
|
||||
install: check
|
||||
- $(INSTALL_PROGRAM) gpm $(sbindir)/gpm
|
||||
+ $(INSTALL_PROGRAM) gpm $(DESTDIR)$(sbindir)/gpm
|
||||
if [ -f lib/libgpm.a ] ; then \
|
||||
- $(INSTALL_DATA) -m 644 lib/libgpm.a $(libdir)/libgpm.a ; \
|
||||
+ $(INSTALL_DATA) -m 644 lib/libgpm.a $(DESTDIR)$(libdir)/libgpm.a ; \
|
||||
fi
|
||||
- $(INSTALL_DATA) -m 644 $(srcdir)/headers/gpm.h $(includedir)/gpm.h
|
||||
+ $(INSTALL_DATA) -m 644 $(srcdir)/headers/gpm.h $(DESTDIR)$(includedir)/gpm.h
|
||||
# POSIX requires the range of a for loop be nonempty and Bash
|
||||
# 2.x goes along; unfortunately that means an additional
|
||||
# headache in cases like this
|
||||
if test "x@SHLIB@" != "x" ; then \
|
||||
- $(INSTALL_DATA) -m 644 lib/libgpm.so.@abi_full@ $(libdir)/libgpm.so.@abi_full@ ; \
|
||||
- cd $(libdir) && $(LN_S) -f libgpm.so.@abi_full@ libgpm.so.@abi_lev@ ; \
|
||||
+ $(INSTALL_DATA) -m 644 lib/libgpm.so.@abi_full@ $(DESTDIR)$(libdir)/libgpm.so.@abi_full@ ; \
|
||||
+ cd $(DESTDIR)$(libdir) && $(LN_S) -f libgpm.so.@abi_full@ libgpm.so.@abi_lev@ ; \
|
||||
echo "WARNING: We installed a lib, you should now call ldconfig" ; \
|
||||
echo "f.i.: ldconfig -n -l $(libdir)/libgpm.so.@abi_full@" ; \
|
||||
echo "Or to update everything just type ldconfig" ; \
|
||||
@@ -124,7 +124,7 @@ install: check
|
||||
|
||||
# prog/
|
||||
for i in $(PROG); do \
|
||||
- $(INSTALL_PROGRAM) $$i $(bindir)/`echo $$i | sed 's,prog/,,'` ;\
|
||||
+ $(INSTALL_PROGRAM) $$i $(DESTDIR)$(bindir)/`echo $$i | sed 's,prog/,,'` ;\
|
||||
done
|
||||
|
||||
install-strip:
|
||||
@@ -133,10 +133,11 @@ install-strip:
|
||||
# Note: this leaves around /usr/lib/libgpm.so.1 and /usr/lib/libgpm.so.1.nn
|
||||
# This is probably the right thing, because programs may be linked to it
|
||||
uninstall:
|
||||
- rm -f $(bindir)/mev $(bindir)/gpm-root $(bindir)/disable-paste \
|
||||
- $(sbindir)/gpm $(libdir)/libgpm.a $(libdir)/libgpm.so $(includedir)/gpm.h
|
||||
+ rm -f $(DESTDIR)$(bindir)/mev $(DESTDIR)$(bindir)/gpm-root $(DESTDIR)$(bindir)/disable-paste \
|
||||
+ $(DESTDIR)$(sbindir)/gpm $(DESTDIR)$(libdir)/libgpm.a $(DESTDIR)$(libdir)/libgpm.so \
|
||||
+ $(DESTDIR) $(includedir)/gpm.h
|
||||
for i in $(PROG); do \
|
||||
- rm -f $(bindir)/$$i ;\
|
||||
+ rm -f $(DESTDIR)$(bindir)/$$i ;\
|
||||
done
|
||||
|
||||
# Configure & unconfigure
|
15
gpm-Gpm_Open.patch
Normal file
15
gpm-Gpm_Open.patch
Normal file
@ -0,0 +1,15 @@
|
||||
Index: src/lib/liblow.c
|
||||
===================================================================
|
||||
--- src/lib/liblow.c.orig 2009-02-09 10:58:53.000000000 +0100
|
||||
+++ src/lib/liblow.c 2010-09-08 16:42:15.667355974 +0200
|
||||
@@ -255,6 +255,10 @@ int Gpm_Open(Gpm_Connect *conn, int flag
|
||||
if (tty == NULL) {
|
||||
gpm_report(GPM_PR_ERR,"checking tty name failed");
|
||||
goto err;
|
||||
+ }
|
||||
+ if (consolename == NULL) {
|
||||
+ gpm_report(GPM_PR_ERR,"consolename not set");
|
||||
+ goto err;
|
||||
}
|
||||
|
||||
conn->vc=atoi(&tty[strlen(consolename)-1]);
|
61
gpm-ceil.patch
Normal file
61
gpm-ceil.patch
Normal file
@ -0,0 +1,61 @@
|
||||
Note that GCC 4.0 will optimize ceil (constant), we therefore
|
||||
have to make the argument non-constant.
|
||||
|
||||
================================================================================
|
||||
---
|
||||
configure.ac.footer | 20 ++++++++++++++++++++
|
||||
src/Makefile.in | 3 ++-
|
||||
2 files changed, 22 insertions(+), 1 deletion(-)
|
||||
|
||||
Index: configure.ac.footer
|
||||
===================================================================
|
||||
--- configure.ac.footer.orig 2012-10-26 23:21:38.000000000 +0200
|
||||
+++ configure.ac.footer 2013-04-16 12:21:01.350791832 +0200
|
||||
@@ -112,6 +112,25 @@ fi
|
||||
AC_CHECK_FUNCS(vsyslog syslog)
|
||||
AC_FUNC_ALLOCA
|
||||
|
||||
+AC_MSG_CHECKING(for ceil)
|
||||
+AC_TRY_LINK([#define __NO_MATH_INLINES 1
|
||||
+ double d;],
|
||||
+ [d = ceil(1.0*d);],
|
||||
+ SYNLDFLAGS=""
|
||||
+ AC_MSG_RESULT(yes),
|
||||
+ SYNLDFLAGS=-lm
|
||||
+ AC_MSG_RESULT(no))
|
||||
+
|
||||
+if test "$SYNLDFLAGS" = "-lm" ; then
|
||||
+ SAVE_LIBS="$LIBS"
|
||||
+ AC_CHECK_LIB(m,
|
||||
+ ceil,
|
||||
+ ,
|
||||
+ echo "libmath.so is needed due the ceil function"
|
||||
+ exit 1)
|
||||
+ LIBS="$SAVE_LIBS"
|
||||
+fi
|
||||
+
|
||||
case $with_curses in
|
||||
No|no|N|n) SHARED_LIBS=-lc ;;
|
||||
*)
|
||||
@@ -142,6 +161,7 @@ AC_SUBST(ELISP)
|
||||
AC_SUBST(SHLIB)
|
||||
AC_SUBST(PICFLAGS)
|
||||
AC_SUBST(SOLDFLAGS)
|
||||
+AC_SUBST(SYNLDFLAGS)
|
||||
AC_SUBST(LIBGPM_A)
|
||||
AC_SUBST(CURSES_OBJS)
|
||||
AC_SUBST(SHARED_LIBS)
|
||||
Index: src/Makefile.in
|
||||
===================================================================
|
||||
--- src/Makefile.in.orig 2013-04-16 12:18:43.719054511 +0200
|
||||
+++ src/Makefile.in 2013-04-16 12:18:43.762053491 +0200
|
||||
@@ -166,7 +166,8 @@ lib/libgpm.a: $(LOBJ)
|
||||
|
||||
lib/libgpm.so.@abi_full@: $(PICS)
|
||||
$(CC) @SOLDFLAGS@libgpm.so.@abi_lev@ \
|
||||
- @LDFLAGS@ $(LDFLAGS) -o lib/libgpm.so.@abi_full@ $^ @LIBS@ @SHARED_LIBS@ $(LIBS)
|
||||
+ @LDFLAGS@ $(LDFLAGS) -o lib/libgpm.so.@abi_full@ $^ @LIBS@ @SHARED_LIBS@ @SYNLDFLAGS@ $(LIBS)
|
||||
+
|
||||
lib/libgpm.so.@abi_lev@: lib/libgpm.so.@abi_full@
|
||||
$(LN_S) -f libgpm.so.@abi_full@ lib/libgpm.so.@abi_lev@
|
||||
# unneeded, isn't it?
|
16
gpm-close-fds.patch
Normal file
16
gpm-close-fds.patch
Normal file
@ -0,0 +1,16 @@
|
||||
--- src/daemon/startup.c.close-fds 2008-06-13 10:08:19.000000000 +0200
|
||||
+++ src/daemon/startup.c 2008-12-02 10:11:12.000000000 +0100
|
||||
@@ -135,6 +135,13 @@ void startup(int argc, char **argv)
|
||||
check_uniqueness();
|
||||
gpm_report(GPM_PR_INFO,GPM_MESS_STARTED);
|
||||
|
||||
+ // close extra fds
|
||||
+ if (option.run_status == GPM_RUN_STARTUP ) {
|
||||
+ close(0);
|
||||
+ close(1);
|
||||
+ close(2);
|
||||
+ }
|
||||
+
|
||||
//return mouse_table[1].fd; /* the second is handled in the main() */
|
||||
|
||||
/****************** OLD CODE from gpn.c END ***********************/
|
152
gpm-conf.patch
Normal file
152
gpm-conf.patch
Normal file
@ -0,0 +1,152 @@
|
||||
---
|
||||
README | 2 +-
|
||||
doc/README.synaptics | 4 ++--
|
||||
doc/README.twiddler | 12 ++++++------
|
||||
doc/doc.gpm.in | 6 +++---
|
||||
src/headers/twiddler.h | 4 ++--
|
||||
src/prog/gpm-root.y | 2 +-
|
||||
src/synaptics.c | 4 ++--
|
||||
7 files changed, 17 insertions(+), 17 deletions(-)
|
||||
|
||||
Index: README
|
||||
===================================================================
|
||||
--- README.orig 2012-10-26 23:21:38.000000000 +0200
|
||||
+++ README 2013-04-16 11:48:12.185482121 +0200
|
||||
@@ -108,7 +108,7 @@ Configuration is optional...
|
||||
(string-match "con.*" (getenv "TERM"))))
|
||||
(load-library "t-mouse"))
|
||||
|
||||
-* If you want to use gpm-root, copy gpm-root.conf to your /usr/etc
|
||||
+* If you want to use gpm-root, copy gpm-root.conf to your /etc/gpm/root.conf
|
||||
directory, test it out and then edit it to suit your feels.
|
||||
|
||||
* You'd like to name the gpm info file inside /usr/info/dir. Just insert
|
||||
Index: doc/README.synaptics
|
||||
===================================================================
|
||||
--- doc/README.synaptics.orig 2012-10-26 23:21:38.000000000 +0200
|
||||
+++ doc/README.synaptics 2013-04-16 11:48:12.186482098 +0200
|
||||
@@ -25,8 +25,8 @@ the buttons, this support currently has
|
||||
|
||||
These features can be enabled/disabled and many of them have time and speed
|
||||
parameters which can be adjusted to the taste of the user. These parameters
|
||||
-can be provided in the "/usr/etc/gpm-syn.conf" file (or
|
||||
-/usr/local/etc/gpm-syn.conf, or /etc/gpm-syn.conf, according to how you ran
|
||||
+can be provided in the "/etc/gpm/syn.conf" file (or /usr/etc/syn.conf
|
||||
+/usr/local/etc/syn.conf, or /etc/syn.conf, according to how you ran
|
||||
configure). Each line in this file has the following syntax: [param-name]
|
||||
<value>
|
||||
|
||||
Index: doc/README.twiddler
|
||||
===================================================================
|
||||
--- doc/README.twiddler.orig 2012-10-26 23:21:38.000000000 +0200
|
||||
+++ doc/README.twiddler 2013-04-16 11:48:12.186482098 +0200
|
||||
@@ -101,23 +101,23 @@ precompile values because that would mea
|
||||
file, and provide documentation as well. Using a compulsory
|
||||
configuration file reliefs my workload :-)
|
||||
|
||||
-The file "gpm-twiddler.conf" that appears in the gpm configuration
|
||||
+The file "twiddler.conf" that appears in the gpm configuration
|
||||
includes the default keyboard map, and can be used right away. If the
|
||||
file is not in place, gpm will complain about its absence. By default
|
||||
-the file must live in /usr/etc (or /usr/local/etc, or whatever you
|
||||
+the file must live in /etc/gpm (or /usr/local/etc, or whatever you
|
||||
gave as a prefix to ./configure). The behaviour is similar for
|
||||
different installation prefixes. The file is not installed by "make
|
||||
install". If the file is missing, gpm will exit producing a message
|
||||
like this:
|
||||
|
||||
- ./gpm: /usr/etc/gpm-twiddler.conf: No such file or directory
|
||||
+ ./gpm: /etc/gpm/twiddler.conf: No such file or directory
|
||||
|
||||
The distributed configuration file includes its own documentation.
|
||||
|
||||
If you want to add keys to the default file, you can avoid editing it
|
||||
-by writing a "gpm-twiddler.user" file and putting it in the same
|
||||
-directory as gpm-twiddler.conf. Gpm will read both files, in sequence,
|
||||
-but won't complain if gpm-twiddler.user doesn't exist.
|
||||
+by writing a "twiddler.user" file and putting it in the same
|
||||
+directory as twiddler.conf. Gpm will read both files, in sequence,
|
||||
+but won't complain if twiddler.user doesn't exist.
|
||||
|
||||
Gpm will print an error message for any incorrect line in any of the
|
||||
configuration files: error messages include the file name and the
|
||||
Index: doc/doc.gpm.in
|
||||
===================================================================
|
||||
--- doc/doc.gpm.in.orig 2012-10-26 23:21:38.000000000 +0200
|
||||
+++ doc/doc.gpm.in 2013-04-16 11:48:12.187482074 +0200
|
||||
@@ -1971,7 +1971,7 @@ Available command line options are the f
|
||||
|
||||
@item -u
|
||||
Deny using user-specific configuration files. With this
|
||||
- option on, only @file{/etc/gpm-root.conf} will be used as a source
|
||||
+ option on, only @file{/etc/gpm/root.conf} will be used as a source
|
||||
of configuration information. This option
|
||||
is intended for those system administrators who fear security could
|
||||
be broken by this daemon. Things should be sufficiently secure, but
|
||||
@@ -1999,7 +1999,7 @@ changed. This allows modification of per
|
||||
the daemon.
|
||||
|
||||
%M The actual configuration file is better introduced by looking at your
|
||||
-%M @file{/etc/gpm-root.conf}.
|
||||
+%M @file{/etc/gpm/root.conf}.
|
||||
%M
|
||||
%MSKIP
|
||||
|
||||
@@ -2186,7 +2186,7 @@ Alessandro Rubini <rubini@linux.it>
|
||||
.SH FILES
|
||||
.nf
|
||||
/dev/gpmctl The socket used to connect to gpm.
|
||||
-/etc/gpm-root.conf The default configuration file.
|
||||
+/etc/gpm/root.conf The default configuration file.
|
||||
$(HOME)/.gpm-root The user configuration file.
|
||||
/dev/vcs* Virtual Console Screens
|
||||
.fi
|
||||
Index: src/headers/twiddler.h
|
||||
===================================================================
|
||||
--- src/headers/twiddler.h.orig 2012-10-26 23:21:38.000000000 +0200
|
||||
+++ src/headers/twiddler.h 2013-04-16 11:48:12.188482050 +0200
|
||||
@@ -46,7 +46,7 @@
|
||||
#define TW_M_MASK 0x1FF /* mask of movement bits, after shifting */
|
||||
#define TW_M_BIT 0x100
|
||||
|
||||
-#define TW_SYSTEM_FILE SYSCONFDIR "/gpm-twiddler.conf"
|
||||
-#define TW_CUSTOM_FILE SYSCONFDIR "/gpm-twiddler.user"
|
||||
+#define TW_SYSTEM_FILE SYSCONFDIR "/twiddler.conf"
|
||||
+#define TW_CUSTOM_FILE SYSCONFDIR "/twiddler.user"
|
||||
|
||||
|
||||
Index: src/prog/gpm-root.y
|
||||
===================================================================
|
||||
--- src/prog/gpm-root.y.orig 2012-10-26 23:21:38.000000000 +0200
|
||||
+++ src/prog/gpm-root.y 2013-04-16 11:48:12.203481695 +0200
|
||||
@@ -77,7 +77,7 @@
|
||||
#endif
|
||||
|
||||
#define USER_CFG ".gpm-root"
|
||||
-#define SYSTEM_CFG SYSCONFDIR "/gpm-root.conf"
|
||||
+#define SYSTEM_CFG SYSCONFDIR "/root.conf"
|
||||
|
||||
#define DEFAULT_FORE 7
|
||||
#define DEFAULT_BACK 0
|
||||
Index: src/synaptics.c
|
||||
===================================================================
|
||||
--- src/synaptics.c.orig 2012-10-26 23:21:38.000000000 +0200
|
||||
+++ src/synaptics.c 2013-04-16 11:48:12.204481671 +0200
|
||||
@@ -2064,7 +2064,7 @@ static void tp_process_report (Gpm_Event
|
||||
** syn_read_config_file
|
||||
**
|
||||
** Read the configuration data from the global config file
|
||||
-** SYSCONFDIR "/gpm-syn.conf".
|
||||
+** SYSCONFDIR "/syn.conf".
|
||||
*/
|
||||
void tp_read_config_file (char* config_filename)
|
||||
{
|
||||
@@ -2188,7 +2188,7 @@ static void syn_process_config (info_typ
|
||||
gpm_report (GPM_PR_INFO, " Firmware version %d.%d\n",
|
||||
ident.info_major, ident.info_minor);
|
||||
|
||||
- tp_read_config_file ("gpm-syn.conf");
|
||||
+ tp_read_config_file ("syn.conf");
|
||||
|
||||
|
||||
/* Limit the options depending on the touchpad capabilities. This should be
|
25
gpm-daemon_mode.patch
Normal file
25
gpm-daemon_mode.patch
Normal file
@ -0,0 +1,25 @@
|
||||
Index: src/headers/message.h
|
||||
===================================================================
|
||||
--- src/headers/message.h.orig 2010-09-08 16:43:48.924334502 +0200
|
||||
+++ src/headers/message.h 2010-09-08 16:43:49.456294395 +0200
|
||||
@@ -146,6 +146,7 @@
|
||||
#define GPM_MESS_SETSID_FAILED "Setsid failed"
|
||||
#define GPM_MESS_CHDIR_FAILED "change directory failed"
|
||||
#define GPM_MESS_FORK_FAILED "Fork failed."
|
||||
+#define GPM_MESS_DAEMON_FAILED "Change to run in background failed."
|
||||
#define GPM_MESS_VCCHECK "Failed on virtual console check."
|
||||
#define GPM_MESS_PROT_ERR "Error in protocol"
|
||||
#define GPM_MESS_ROOT "You should be root to run gpm!"
|
||||
Index: src/daemon/startup.c
|
||||
===================================================================
|
||||
--- src/daemon/startup.c.orig 2010-09-08 16:43:49.328304044 +0200
|
||||
+++ src/daemon/startup.c 2010-09-08 16:46:36.665526251 +0200
|
||||
@@ -126,7 +126,7 @@ void startup(int argc, char **argv)
|
||||
|
||||
if (option.run_status == GPM_RUN_STARTUP ) { /* else is debugging */
|
||||
if (daemon(0,0))
|
||||
- gpm_report(GPM_PR_OOPS,GPM_MESS_FORK_FAILED); /* error */
|
||||
+ gpm_report(GPM_PR_OOPS,GPM_MESS_DAEMON_FAILED); /* error */
|
||||
|
||||
option.run_status = GPM_RUN_DAEMON; /* child */
|
||||
}
|
26
gpm-dependencies.patch
Normal file
26
gpm-dependencies.patch
Normal file
@ -0,0 +1,26 @@
|
||||
From: Philipp Thomas <pth@suse.de>
|
||||
Date: 2013-04-16 13:06:54+02:00
|
||||
Subject: pass directory for gpm.h
|
||||
|
||||
The directory containing gpm.h wasn't passed to the compiler when
|
||||
generating dependencies.
|
||||
|
||||
---
|
||||
src/Makefile.in | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
signed-off-by: Philipp Thomas <pth@suse.de>
|
||||
|
||||
Index: src/Makefile.in
|
||||
===================================================================
|
||||
--- src/Makefile.in.orig 2012-10-26 23:21:38.000000000 +0200
|
||||
+++ src/Makefile.in 2013-04-16 13:06:07.913236362 +0200
|
||||
@@ -96,7 +96,7 @@ $(DEPFILE) dep: prog/gpm-root.c
|
||||
|
||||
# create dependencies
|
||||
for DEPS in `echo *.c */*.c`; do \
|
||||
- $(CC) -I. -I $(srcdir) -M @CPPFLAGS@ $(CPPFLAGS) $$DEPS | \
|
||||
+ $(CC) -I. -I $(srcdir) -I $(srcdir)/headers -M @CPPFLAGS@ $(CPPFLAGS) $$DEPS | \
|
||||
$(SED) 's/^\(.*\)\.o\([ :]+\)/\1.o \1.lo\2/g' >> $(DEPFILE) ; done
|
||||
|
||||
### INSTALL
|
46
gpm-do_create_symlink.patch
Normal file
46
gpm-do_create_symlink.patch
Normal file
@ -0,0 +1,46 @@
|
||||
From: Philipp Thomas <pth@suse.de>
|
||||
Date: 2013-04-16 13:20:48+02:00
|
||||
Subject: Do create the symlink libgpm.so
|
||||
|
||||
---
|
||||
src/Makefile.in | 11 ++++++-----
|
||||
1 file changed, 6 insertions(+), 5 deletions(-)
|
||||
|
||||
signed-off-by: Philipp Thomas <pth@suse.de>
|
||||
|
||||
Index: src/Makefile.in
|
||||
===================================================================
|
||||
--- src/Makefile.in.orig 2013-04-16 13:16:45.723219315 +0200
|
||||
+++ src/Makefile.in 2013-04-16 13:29:52.385720884 +0200
|
||||
@@ -79,7 +79,7 @@ prog/%: prog/%.o
|
||||
# | $(SED) '\''s/\($*\)\.o\([ :]*\)/\1.o \1.lo\2/g'\'' > $(DEPDIR)/$@'
|
||||
|
||||
# Do it all!
|
||||
-all: gpm lib/libgpm.so.@abi_lev@ @LIBGPM_A@ $(PROG)
|
||||
+all: gpm lib/libgpm.so.@abi_lev@ lib/libgpm.so @LIBGPM_A@ $(PROG)
|
||||
|
||||
gpm: $(GOBJ)
|
||||
$(CC) @LDFLAGS@ $(LDFLAGS) -o $@ $(GOBJ) @LIBS@ $(LIBS) -lm
|
||||
@@ -114,7 +114,8 @@ install: check
|
||||
# headache in cases like this
|
||||
if test "x@SHLIB@" != "x" ; then \
|
||||
$(INSTALL_DATA) -m 644 lib/libgpm.so.@abi_full@ $(DESTDIR)$(libdir)/libgpm.so.@abi_full@ ; \
|
||||
- cd $(DESTDIR)$(libdir) && $(LN_S) -f libgpm.so.@abi_full@ libgpm.so.@abi_lev@ ; \
|
||||
+ cd $(DESTDIR)$(libdir) && $(LN_S) -f libgpm.so.@abi_full@ libgpm.so.@abi_lev@ && \
|
||||
+ $(LN_S) -f libgpm.so.@abi_lev@ libgpm.so ; \
|
||||
echo "WARNING: We installed a lib, you should now call ldconfig" ; \
|
||||
echo "f.i.: ldconfig -n -l $(libdir)/libgpm.so.@abi_full@" ; \
|
||||
echo "Or to update everything just type ldconfig" ; \
|
||||
@@ -170,9 +171,9 @@ lib/libgpm.so.@abi_full@: $(PICS)
|
||||
|
||||
lib/libgpm.so.@abi_lev@: lib/libgpm.so.@abi_full@
|
||||
$(LN_S) -f libgpm.so.@abi_full@ lib/libgpm.so.@abi_lev@
|
||||
-# unneeded, isn't it?
|
||||
-#lib/libgpm.so: lib/libgpm.so.@abi_full@
|
||||
-# $(LN_S) -f libgpm.so.@abi_full@ lib/libgpm.so
|
||||
+
|
||||
+lib/libgpm.so: lib/libgpm.so.@abi_full@
|
||||
+ $(LN_S) -f libgpm.so.@abi_full@ lib/libgpm.so
|
||||
|
||||
include $(DEPFILE)
|
||||
|
39
gpm-fix_fsf_addess.patch
Normal file
39
gpm-fix_fsf_addess.patch
Normal file
@ -0,0 +1,39 @@
|
||||
---
|
||||
src/headers/gpm.h | 22 +++++++++++-----------
|
||||
1 file changed, 11 insertions(+), 11 deletions(-)
|
||||
|
||||
Index: src/headers/gpm.h
|
||||
===================================================================
|
||||
--- src/headers/gpm.h.orig 2012-10-26 23:21:38.000000000 +0200
|
||||
+++ src/headers/gpm.h 2016-01-13 13:41:20.368535392 +0100
|
||||
@@ -5,19 +5,19 @@
|
||||
* Copyright 1998 Ian Zimmerman <itz@rahul.net>
|
||||
* Copyright 2002-2008 Nico Schottelius <nico-gpm2008 at schottelius.org>
|
||||
*
|
||||
- * This program 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; either version 2 of the License, or
|
||||
- * (at your option) any later version.
|
||||
+ * This program 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; either version 2 of the License, or
|
||||
+ * (at your option) any later version.
|
||||
*
|
||||
- * This program 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.
|
||||
+ * This program 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 program; if not, write to the Free Software
|
||||
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
|
||||
+ * You should have received a copy of the GNU General Public License along
|
||||
+ * with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
********/
|
||||
|
||||
#ifndef _GPM_H_
|
13
gpm-fno-common.patch
Normal file
13
gpm-fno-common.patch
Normal file
@ -0,0 +1,13 @@
|
||||
Index: gpm-1.20.7/src/headers/daemon.h
|
||||
===================================================================
|
||||
--- gpm-1.20.7.orig/src/headers/daemon.h
|
||||
+++ gpm-1.20.7/src/headers/daemon.h
|
||||
@@ -180,7 +180,7 @@ extern struct mouse_features mouse_tabl
|
||||
extern Gpm_Type mice[];
|
||||
extern Gpm_Type *repeated_type;
|
||||
|
||||
-time_t last_selection_time;
|
||||
+extern time_t last_selection_time;
|
||||
|
||||
|
||||
|
12
gpm-glibc210.patch
Normal file
12
gpm-glibc210.patch
Normal file
@ -0,0 +1,12 @@
|
||||
Index: gpm-1.20.1/src/gpm.c
|
||||
===================================================================
|
||||
--- src/daemon/gpm.c
|
||||
+++ src/daemon/gpm.c
|
||||
@@ -22,6 +22,7 @@
|
||||
********/
|
||||
|
||||
#include <stdio.h>
|
||||
+#define __USE_GNU
|
||||
#include <stdlib.h>
|
||||
#include <string.h> /* strerror(); ?!? */
|
||||
#include <errno.h>
|
13
gpm-int_ptr_casts.patch
Normal file
13
gpm-int_ptr_casts.patch
Normal file
@ -0,0 +1,13 @@
|
||||
Index: src/twiddler.c
|
||||
===================================================================
|
||||
--- src/twiddler.c.orig 2009-02-09 10:58:53.000000000 +0100
|
||||
+++ src/twiddler.c 2010-09-08 18:13:31.706407202 +0200
|
||||
@@ -429,7 +429,7 @@ char *twiddler_rest_to_value(char *s)
|
||||
return strdup(buf);
|
||||
}
|
||||
if (*ptr == '\\')
|
||||
- return (char *)twiddler_escape_sequence(ptr+1, &len /* unused */);
|
||||
+ return (char *)(long)twiddler_escape_sequence(ptr+1, &len /* unused */);
|
||||
|
||||
if (strlen(ptr)==1) return ((char *)((unsigned long)*ptr & 0xFF));
|
||||
|
19
gpm-lib-silent.patch
Normal file
19
gpm-lib-silent.patch
Normal file
@ -0,0 +1,19 @@
|
||||
--- src/lib/report-lib.c.lib-silent 2002-12-24 23:57:16.000000000 +0100
|
||||
+++ src/lib/report-lib.c 2006-01-18 17:55:38.000000000 +0100
|
||||
@@ -24,8 +24,16 @@
|
||||
|
||||
#include "headers/message.h"
|
||||
|
||||
+static int gpm_silent() {
|
||||
+ if ( getenv( "GPM_VERBOSE" ) == NULL ) return 1;
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
void gpm_report(int line, char *file, int stat, char *text, ... )
|
||||
{
|
||||
+ if ( gpm_silent() && stat != GPM_STAT_OOPS )
|
||||
+ return;
|
||||
+
|
||||
char *string = NULL;
|
||||
int log_level;
|
||||
va_list ap;
|
16
gpm-log.patch
Normal file
16
gpm-log.patch
Normal file
@ -0,0 +1,16 @@
|
||||
Index: src/report.c
|
||||
===================================================================
|
||||
--- src/report.c.orig 2010-09-08 17:04:41.743044084 +0200
|
||||
+++ src/report.c 2010-09-08 17:08:22.257855674 +0200
|
||||
@@ -92,8 +92,9 @@ void gpm_report(int line, char *file, in
|
||||
switch(stat) {
|
||||
case GPM_STAT_INFO:
|
||||
#ifdef HAVE_VSYSLOG
|
||||
- syslog(LOG_INFO | LOG_USER, GPM_STRING_INFO);
|
||||
- vsyslog(LOG_INFO | LOG_USER, text, ap2);
|
||||
+ // gpm spams /var/log/messages (bnc#307209)
|
||||
+ // syslog(LOG_INFO | LOG_USER, GPM_STRING_INFO);
|
||||
+ // vsyslog(LOG_INFO | LOG_USER, text, ap2);
|
||||
#else
|
||||
fprintf(stderr,GPM_STRING_INFO);
|
||||
vfprintf(stderr,text,ap);
|
32
gpm-multilib.patch
Normal file
32
gpm-multilib.patch
Normal file
@ -0,0 +1,32 @@
|
||||
Index: contrib/Makefile.in
|
||||
===================================================================
|
||||
--- contrib/Makefile.in.orig 2008-06-19 07:48:48.000000000 +0200
|
||||
+++ contrib/Makefile.in 2011-01-27 12:31:18.404745581 +0100
|
||||
@@ -9,10 +9,10 @@ top_builddir = ..
|
||||
|
||||
include $(top_builddir)/Makefile.include
|
||||
|
||||
-all: $(srcdir)/$(ELISP)
|
||||
+all: $(filter-out %.elc,$(srcdir)/$(ELISP))
|
||||
|
||||
install: all
|
||||
- if [ -n "$(ELISP)" ]; then for i in `echo $(ELISP)`; do \
|
||||
+ if [ -n "$(filter-out %.elc,$(ELISP))" ]; then for i in `echo $(filter-out %.elc,$(ELISP))`; do \
|
||||
$(INSTALL_DATA) $(srcdir)/$$i $(lispdir)/`basename $$i` ;\
|
||||
done; fi
|
||||
|
||||
@@ -20,7 +20,7 @@ install: all
|
||||
$(EMACS) -batch -l $(srcdir)/emacs/exec.el -exec '(byte-compile-file "$<")'
|
||||
|
||||
uninstall:
|
||||
- if [ -n "$(ELISP)" ]; then for i in `echo $(ELISP)`; do \
|
||||
+ if [ -n "$(filter-out %.elc,$(ELISP))" ]; then for i in `echo $(filter-out %.elc,$(ELISP))`; do \
|
||||
rm -f $(lispdir)/$$i ;\
|
||||
done; fi
|
||||
|
||||
@@ -28,4 +28,4 @@ dist:
|
||||
$(CP) -r $(srcdir) $(top_builddir)/gpm-$(release)/
|
||||
|
||||
clean distclean:
|
||||
- $(RM) -f $(srcdir)/emacs/*.elc Makefile
|
||||
+ $(RM) $(srcdir)/emacs/*.elc Makefile
|
62
gpm-no_templates_for_new_multiple_mode.patch
Normal file
62
gpm-no_templates_for_new_multiple_mode.patch
Normal file
@ -0,0 +1,62 @@
|
||||
Index: src/daemon/cmdline.c
|
||||
===================================================================
|
||||
--- src/daemon/cmdline.c.orig 2010-09-08 18:38:23.672261112 +0200
|
||||
+++ src/daemon/cmdline.c 2010-09-08 19:43:17.467206480 +0200
|
||||
@@ -46,38 +46,35 @@ void cmdline(int argc, char **argv)
|
||||
if (optarg)
|
||||
opt_age_limit = atoi(optarg); break;
|
||||
case 'b': (which_mouse->opt_baud) = atoi(optarg); break;
|
||||
- case 'B': (which_mouse->opt_sequence) = optarg; break;
|
||||
+ case 'B': (which_mouse->opt_sequence) = optarg; break;
|
||||
case 'd': (which_mouse->opt_delta) = atoi(optarg); break;
|
||||
case 'D': option.run_status = GPM_RUN_DEBUG; break;
|
||||
case 'g': (which_mouse->opt_glidepoint_tap)=atoi(optarg); break;
|
||||
case 'h': exit(usage(NULL));
|
||||
- case 'i': (which_mouse->opt_time)=atoi(optarg); break;
|
||||
+ case 'i': (which_mouse->opt_time)=atoi(optarg); break;
|
||||
case 'k': check_kill(); break;
|
||||
case 'l': opt_lut = optarg; break;
|
||||
- case 'm': add_mouse(GPM_ADD_DEVICE,optarg);
|
||||
- (which_mouse->opt_dev) = optarg; break; /* GO AWAY!*/
|
||||
+ case 'm': (which_mouse->opt_dev) = optarg; break; /* GO AWAY!*/
|
||||
case 'M': opt_double++; option.repeater++;
|
||||
if (option.repeater_type == 0)
|
||||
option.repeater_type = "msc";
|
||||
which_mouse=mouse_table+2; break;
|
||||
- case 'o': add_mouse(GPM_ADD_OPTIONS,optarg);
|
||||
- gpm_report(GPM_PR_DEBUG,"options: %s",optarg);
|
||||
- (which_mouse->opt_options) = optarg; break; /* GO AWAY */
|
||||
+ case 'o': gpm_report(GPM_PR_DEBUG,"options: %s",optarg);
|
||||
+ (which_mouse->opt_options) = optarg; break; /* GO AWAY */
|
||||
case 'p': opt_ptrdrag = 0; break;
|
||||
case 'r':
|
||||
/* being called responsiveness, I must take the inverse */
|
||||
(which_mouse->opt_scale)=atoi(optarg);
|
||||
if(!(which_mouse->opt_scale) || (which_mouse->opt_scale) > 100) (which_mouse->opt_scale)=100; /* the maximum */
|
||||
- else (which_mouse->opt_scale)=100/(which_mouse->opt_scale); break;
|
||||
+ else (which_mouse->opt_scale)=100/(which_mouse->opt_scale); break;
|
||||
case 'R':
|
||||
option.repeater++;
|
||||
if (optarg) option.repeater_type = optarg;
|
||||
else option.repeater_type = "msc"; break;
|
||||
- case 's': (which_mouse->opt_sample) = atoi(optarg); break;
|
||||
+ case 's': (which_mouse->opt_sample) = atoi(optarg); break;
|
||||
case 'S': if (optarg) opt_special = optarg;
|
||||
else opt_special=""; break;
|
||||
- case 't': add_mouse(GPM_ADD_TYPE,optarg);
|
||||
- (which_mouse->opt_type) = optarg; break; /* GO AWAY */
|
||||
+ case 't': (which_mouse->opt_type) = optarg; break; /* GO AWAY */
|
||||
case 'u': option.autodetect = 1; break;
|
||||
case 'T': opt_test++; break;
|
||||
case 'v': printf(GPM_MESS_VERSION "\n"); exit(0);
|
||||
Index: src/daemon/startup.c
|
||||
===================================================================
|
||||
--- src/daemon/startup.c.orig 2010-09-08 18:38:23.672261112 +0200
|
||||
+++ src/daemon/startup.c 2010-09-08 19:42:23.770512127 +0200
|
||||
@@ -139,6 +139,5 @@ void startup(int argc, char **argv)
|
||||
|
||||
/****************** OLD CODE from gpn.c END ***********************/
|
||||
|
||||
- init_mice(option.micelist); /* reads option.micelist */
|
||||
atexit(gpm_exited); /* call gpm_exited at the end */
|
||||
}
|
158
gpm-syn_conf.patch
Normal file
158
gpm-syn_conf.patch
Normal file
@ -0,0 +1,158 @@
|
||||
--- conf/gpm-syn.conf
|
||||
+++ conf/gpm-syn.conf
|
||||
@@ -1,49 +1,107 @@
|
||||
+/* generated from src/synaptics.c, gpm-1.20.1 */
|
||||
/* enabling configuration parameters */
|
||||
-[edge_motion_enabled] TRUE
|
||||
-[edge_motion_speed_enabled] TRUE
|
||||
-[corner_taps_enabled] TRUE
|
||||
-[tap_gesture_enabled] TRUE
|
||||
-[pressure_speed_enabled] TRUE
|
||||
-[tossing_enabled] TRUE
|
||||
-[does_toss_use_static_speed] TRUE
|
||||
-/* pressure induced speed related configuration parameters */
|
||||
-[low_pressure] 60
|
||||
-[speed_up_pressure] 60
|
||||
-[pressure_factor] 0.10
|
||||
-[standard_speed_factor] 0.10
|
||||
-/* toss/catch related parameters */
|
||||
-[min_toss_time] 100
|
||||
-[max_toss_time] 300
|
||||
-[prevent_toss_time] 300
|
||||
-[min_toss_dist] 2
|
||||
-[static_toss_speed] 70
|
||||
-[toss_speed_factor] 0.5
|
||||
-/* edge motion related configuration parameters */
|
||||
-[edge_speed] 20
|
||||
-/* corner tap actions */
|
||||
-[upper_left_action] 0 (none)
|
||||
-[upper_right_action] 2 (middle)
|
||||
-[lower_left_action] 0 (none)
|
||||
-[lower_right_action] 3 (right)
|
||||
-/* wmode parameters */
|
||||
-[wmode_enabled] TRUE
|
||||
-[drag_lock_enabled] FALSE
|
||||
-[finger_threshold] 30
|
||||
-[tap_lower_limit] 5
|
||||
-[tap_upper_limit] 200
|
||||
-[tap_range] 100
|
||||
-[tap_interval] 200
|
||||
-[pads_tap_interval] 8
|
||||
-[multiple_tap_delay] 30
|
||||
-[palm_detect_enabled] TRUE
|
||||
-[palm_detect_level] 12
|
||||
-[multi_finger_tap_enable] TRUE
|
||||
-[multi_finger_stop_enabled] TRUE
|
||||
-[multi_finger_stop_delay] 8
|
||||
- /* Additional options */
|
||||
-[touch_pad_enabled] TRUE
|
||||
-[stick_enabled] TRUE
|
||||
-[scrolling_enabled] TRUE
|
||||
-[scrolling_edge] 2
|
||||
-[auto_scrolling_enabled] TRUE
|
||||
-
|
||||
+[edge_motion_enabled] TRUE
|
||||
+[edge_motion_speed_enabled] TRUE
|
||||
+[corner_taps_enabled] TRUE
|
||||
+[tap_gesture_enabled] TRUE
|
||||
+[pressure_speed_enabled] TRUE
|
||||
+[tossing_enabled] TRUE
|
||||
+[does_toss_use_static_speed] TRUE
|
||||
+[tap_hold_edge_motion_enabled] TRUE
|
||||
+/* pressure induced speed related configuration parameters */
|
||||
+[low_pressure] 60
|
||||
+[speed_up_pressure] 60
|
||||
+[pressure_factor] 0.05
|
||||
+[standard_speed_factor] 0.08
|
||||
+/* toss/catch related parameters */
|
||||
+[min_toss_time] 100
|
||||
+[max_toss_time] 300
|
||||
+[prevent_toss_time] 300
|
||||
+[min_toss_dist] 2
|
||||
+[static_toss_speed] 70
|
||||
+[toss_speed_factor] 0.5
|
||||
+/* edge motion related configuration parameters */
|
||||
+[x_min_center] 1632
|
||||
+[x_max_center] 5312
|
||||
+[y_min_center] 1408
|
||||
+[y_max_center] 4108
|
||||
+[edge_speed] 20
|
||||
+/* use wmode */
|
||||
+[wmode_enabled] TRUE
|
||||
+[drag_lock_enabled] TRUE
|
||||
+[finger_threshold] 30
|
||||
+[tap_lower_limit] 5
|
||||
+[tap_upper_limit] 200
|
||||
+[tap_range] 100
|
||||
+[tap_interval] 200
|
||||
+[multiple_tap_delay] 30
|
||||
+[pads_tap_interval] 8
|
||||
+/* Additional wmode parameters */
|
||||
+[palm_detect_enabled] TRUE
|
||||
+[palm_detect_level] 12
|
||||
+[multi_finger_tap_enable] TRUE
|
||||
+[multi_finger_stop_enabled] TRUE
|
||||
+[multi_finger_stop_delay] 8
|
||||
+[fake_finger_layer_enabled] 1
|
||||
+/* Additional options*/
|
||||
+/* Values for [scrolling_edge]:
|
||||
+ LEFT_EDGE 0x01
|
||||
+ RIGHT_EDGE 0x02
|
||||
+ TOP_EDGE 0x04
|
||||
+ BOTTOM_EDGE 0x08
|
||||
+ UPPER_LEFT_CORNER (LEFT_EDGE | TOP_EDGE)
|
||||
+ LOWER_LEFT_CORNER (LEFT_EDGE | BOTTOM_EDGE)
|
||||
+ UPPER_RIGHT_CORNER (RIGHT_EDGE | TOP_EDGE)
|
||||
+ LOWER_RIGHT_CORNER (RIGHT_EDGE | BOTTOM_EDGE) */
|
||||
+[touchpad_enabled] TRUE
|
||||
+[stick_enabled] TRUE
|
||||
+[stick_pressure_enabled] FALSE
|
||||
+[four_way_button_enabled] TRUE
|
||||
+[four_way_button_is_mouse] TRUE
|
||||
+[scrolling_enabled] TRUE
|
||||
+[auto_scrolling_enabled] TRUE
|
||||
+[scrolling_edge] 0x02
|
||||
+[scrolling_speed] 10
|
||||
+[scrolling_button_factor] 0.5
|
||||
+[auto_scrolling_factor] 2.0
|
||||
+/* Action id's:
|
||||
+ No_Action = 0
|
||||
+ Left_Button_Action = 1
|
||||
+ Middle_Button_Action = 2
|
||||
+ Right_Button_Action = 3
|
||||
+ Fourth_Button_Action = 4
|
||||
+ Up_Button_Action = 5
|
||||
+ Down_Button_Action = 6
|
||||
+ Turn_On_Off_Action = 7
|
||||
+ Debug_On_Off_Action = 8
|
||||
+ Reset_Touchpad_Action = 9
|
||||
+ Toggle_Four_Way_Button_Action = 10
|
||||
+ Toggle_Stick_Pressure_Action = 11
|
||||
+ Toggle_Scrolling_Action = 12
|
||||
+ Left_Double_Click_Action = 13
|
||||
+*/
|
||||
+/* corner tap actions */
|
||||
+[upper_left_action] 0
|
||||
+[lower_left_action] 0
|
||||
+[upper_right_action] 2
|
||||
+[lower_right_action] 3
|
||||
+/* no. of fingers tap actions */
|
||||
+[one_finger_tap_action] 1
|
||||
+[two_fingers_tap_action] 3
|
||||
+[three_fingers_tap_action] 2
|
||||
+/* normal button actions */
|
||||
+[left_button_action] 1
|
||||
+[middle_button_action] 2
|
||||
+[right_button_action] 3
|
||||
+[fourth_button_action] 4
|
||||
+[up_button_action] 5
|
||||
+[down_button_action] 6
|
||||
+/* 4 way button actions */
|
||||
+[four_way_left_button_action] 2
|
||||
+[four_way_right_button_action] 4
|
||||
+[four_way_up_button_action] 5
|
||||
+[four_way_down_button_action] 6
|
||||
+/* Synaptic Stick (passthrugh,stick) actions */
|
||||
+[stick_left_button_action] 1
|
||||
+[stick_middle_button_action] 2
|
||||
+[stick_right_button_action] 3
|
13
gpm-use_getdtablesize.patch
Normal file
13
gpm-use_getdtablesize.patch
Normal file
@ -0,0 +1,13 @@
|
||||
Index: src/daemon/processspecial.c
|
||||
===================================================================
|
||||
--- src/daemon/processspecial.c.orig 2009-02-09 10:58:53.000000000 +0100
|
||||
+++ src/daemon/processspecial.c 2010-09-08 17:41:17.533664061 +0200
|
||||
@@ -157,7 +157,7 @@ int processSpecial(Gpm_Event *event)
|
||||
open(option.consolename,O_WRONLY); /* stdout */
|
||||
dup(1); /* stderr */
|
||||
int open_max = sysconf(_SC_OPEN_MAX);
|
||||
- if (open_max == -1) open_max = 1024;
|
||||
+ if (open_max == -1) open_max = getdtablesize();
|
||||
for (i=3;i<open_max; i++) close(i);
|
||||
execl("/bin/sh","sh","-c",command,(char *)NULL);
|
||||
exit(1); /* shouldn't happen */
|
66
gpm-va_arg.patch
Normal file
66
gpm-va_arg.patch
Normal file
@ -0,0 +1,66 @@
|
||||
Index: src/lib/report-lib.c
|
||||
===================================================================
|
||||
--- src/lib/report-lib.c.orig 2009-02-09 10:58:53.000000000 +0100
|
||||
+++ src/lib/report-lib.c 2010-09-08 13:34:13.721996934 +0200
|
||||
@@ -55,5 +55,7 @@ void gpm_report(int line, char *file, in
|
||||
fprintf(stderr,"\n");
|
||||
#endif
|
||||
|
||||
+ va_end(ap);
|
||||
+
|
||||
if(stat == GPM_STAT_OOPS) exit(1); /* may a lib function call exit ???? */
|
||||
}
|
||||
Index: src/report.c
|
||||
===================================================================
|
||||
--- src/report.c.orig 2009-02-09 10:58:53.000000000 +0100
|
||||
+++ src/report.c 2010-09-08 13:34:45.694394879 +0200
|
||||
@@ -76,6 +76,9 @@ void gpm_report(int line, char *file, in
|
||||
#ifdef HAVE_VSYSLOG
|
||||
va_list ap2;
|
||||
#endif
|
||||
+ int exit_request = 0; /* 0 -> return is requested
|
||||
+ 1 -> exit(1) is requested
|
||||
+ 2 -> _exit(1) is requested */
|
||||
|
||||
va_start(ap,text);
|
||||
va_copy(ap3, ap);
|
||||
@@ -129,7 +132,7 @@ void gpm_report(int line, char *file, in
|
||||
vfprintf(stderr,text,ap);
|
||||
fprintf(stderr,"\n");
|
||||
|
||||
- exit(1); /* we should have a oops()-function,but this works,too*/
|
||||
+ exit_request = 1; /* we should have an oops()-function,but this works,too*/
|
||||
break;
|
||||
}
|
||||
break; /* startup sequence */
|
||||
@@ -188,7 +191,7 @@ void gpm_report(int line, char *file, in
|
||||
vfprintf(stderr,text,ap);
|
||||
fprintf(stderr,"\n");
|
||||
|
||||
- _exit(1); /* we are the fork()-child */
|
||||
+ exit_request = 2; /* we are the fork()-child */
|
||||
break;
|
||||
}
|
||||
break; /* running gpm */
|
||||
@@ -216,7 +219,7 @@ void gpm_report(int line, char *file, in
|
||||
vfprintf(console,text,ap);
|
||||
fprintf(console,"\n");
|
||||
|
||||
- if(stat == GPM_STAT_OOPS) exit(1);
|
||||
+ if(stat == GPM_STAT_OOPS) exit_request = 1;
|
||||
|
||||
break;
|
||||
} /* switch for current modus */
|
||||
@@ -226,6 +229,12 @@ void gpm_report(int line, char *file, in
|
||||
#ifdef HAVE_VSYSLOG
|
||||
va_end(ap2);
|
||||
#endif
|
||||
+ if (exit_request == 2)
|
||||
+ _exit(1);
|
||||
+ if (exit_request == 1)
|
||||
+ exit(1);
|
||||
+
|
||||
+ return;
|
||||
} /* gpm_report */
|
||||
|
||||
|
42
gpm-verbosity.patch
Normal file
42
gpm-verbosity.patch
Normal file
@ -0,0 +1,42 @@
|
||||
Index: src/prog/gpm-root.y
|
||||
===================================================================
|
||||
--- src/prog/gpm-root.y.orig 2010-09-08 17:00:51.668569297 +0200
|
||||
+++ src/prog/gpm-root.y 2010-09-08 17:00:52.032543941 +0200
|
||||
@@ -870,7 +870,6 @@ int usage(void)
|
||||
" -m <number-or-name> modifier to use\n"
|
||||
" -u inhibit user configuration files\n"
|
||||
" -D don't auto-background and run as daemon\n"
|
||||
- " -V <verbosity-delta> increase amount of logged messages\n"
|
||||
);
|
||||
|
||||
return 1;
|
||||
Index: src/daemon/cmdline.c
|
||||
===================================================================
|
||||
--- src/daemon/cmdline.c.orig 2010-09-08 17:00:51.788560939 +0200
|
||||
+++ src/daemon/cmdline.c 2010-09-08 17:01:43.769151777 +0200
|
||||
@@ -78,8 +78,9 @@ void cmdline(int argc, char **argv)
|
||||
case 'u': option.autodetect = 1; break;
|
||||
case 'T': opt_test++; break;
|
||||
case 'v': printf(GPM_MESS_VERSION "\n"); exit(0);
|
||||
- case '2': (which_mouse->opt_three) = -1; break;
|
||||
- case '3': (which_mouse->opt_three) = 1; break;
|
||||
+ case 'V': break; /* gpm_debug_level not supported anymore */
|
||||
+ case '2': (which_mouse->opt_three) = -1; break;
|
||||
+ case '3': (which_mouse->opt_three) = 1; break;
|
||||
default: exit(usage("commandline"));
|
||||
}
|
||||
}
|
||||
Index: src/headers/message.h
|
||||
===================================================================
|
||||
--- src/headers/message.h.orig 2010-09-08 17:00:51.984547286 +0200
|
||||
+++ src/headers/message.h 2010-09-08 17:00:53.060472330 +0200
|
||||
@@ -98,8 +98,7 @@
|
||||
" -t mouse-type sets mouse type (default '%s')\n" \
|
||||
" Use a non-existent type (e.g. \"help\") to get a list\n" \
|
||||
" -T test: read mouse, no clients\n" \
|
||||
- " -v print version and exit\n" \
|
||||
- " -V verbosity increase number of logged messages\n\n\n" \
|
||||
+ " -v print version and exit\n\n\n" \
|
||||
" Examples:\n\n" \
|
||||
" gpm -m /dev/misc/psaux -t ps2 to start with a ps2 mouse\n" \
|
||||
" gpm -m /dev/tts/0 -t mman to use mouse man on COM1\n\n"
|
40
gpm-weak-wgetch.patch
Normal file
40
gpm-weak-wgetch.patch
Normal file
@ -0,0 +1,40 @@
|
||||
---
|
||||
configure.ac.footer | 2 +-
|
||||
src/lib/libcurses.c | 7 ++++++-
|
||||
2 files changed, 7 insertions(+), 2 deletions(-)
|
||||
|
||||
Index: configure.ac.footer
|
||||
===================================================================
|
||||
--- configure.ac.footer.orig 2013-04-16 12:26:55.701393713 +0200
|
||||
+++ configure.ac.footer 2013-04-16 12:29:05.441356326 +0200
|
||||
@@ -148,7 +148,7 @@ No|no|N|n) SHARED_LIBS=-lc ;;
|
||||
AC_CHECK_LIB($i, wgetch,,,$TERMLIBS)
|
||||
else :; fi
|
||||
done
|
||||
- SHARED_LIBS="$LIBS $TERMLIBS -lc"
|
||||
+ SHARED_LIBS="-lc"
|
||||
LIBS=$SAVELIBS ;;
|
||||
esac
|
||||
|
||||
Index: src/lib/libcurses.c
|
||||
===================================================================
|
||||
--- src/lib/libcurses.c.orig 2012-10-26 23:21:38.000000000 +0200
|
||||
+++ src/lib/libcurses.c 2013-04-16 12:26:55.834390599 +0200
|
||||
@@ -41,7 +41,16 @@
|
||||
#endif /* HAVE_NCURSES_CURSES_H */
|
||||
#endif /* HAVE_NCURSES_H */
|
||||
|
||||
-#define GET(win) ((win) ? wgetch(win) : getch())
|
||||
+/* If win != NULL, it must have been created by ncurses anyway.
|
||||
+ Avoid circular library dependencies. */
|
||||
+#pragma weak wgetch
|
||||
+#if defined(NCURSES_VERSION_MAJOR) && (NCURSES_VERSION_MAJOR > 5)
|
||||
+#pragma weak _nc_stdscr
|
||||
+#else
|
||||
+#pragma weak stdscr
|
||||
+#endif
|
||||
+
|
||||
+#define GET(win) ((win && wgetch) ? wgetch(win) : getch())
|
||||
|
||||
int Gpm_Wgetch(WINDOW *win)
|
||||
{
|
791
gpm.changes
Normal file
791
gpm.changes
Normal file
@ -0,0 +1,791 @@
|
||||
-------------------------------------------------------------------
|
||||
Fri Oct 15 07:29:47 UTC 2021 - Johannes Segitz <jsegitz@suse.com>
|
||||
|
||||
- Added hardening to systemd service(s) (bsc#1181400). Modified:
|
||||
* gpm.service
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Mar 10 13:17:37 UTC 2021 - Adam Majer <adam.majer@suse.de>
|
||||
|
||||
- remove unnecessary StandardOutput override in the unit definition
|
||||
file. (bsc#1182147)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Jan 15 09:54:37 UTC 2020 - Adam Majer <adam.majer@suse.de>
|
||||
|
||||
- gpm-fno-common.patch: fix compilation in Tumbleweed (bsc#1160873)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Jan 9 07:43:00 UTC 2020 - Jean Delvare <jdelvare@suse.com>
|
||||
|
||||
- Add back support for the TAOS evaluation module to inputattach.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Mar 27 11:41:04 CEST 2018 - kukuk@suse.de
|
||||
|
||||
- Use %license instead of %doc [bsc#1082318]
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Nov 23 13:40:02 UTC 2017 - rbrown@suse.com
|
||||
|
||||
- Replace references to /var/adm/fillup-templates with new
|
||||
%_fillupdir macro (boo#1069468)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Sep 11 18:59:26 UTC 2017 - jengelh@inai.de
|
||||
|
||||
- Update description and remove two unnecessary ldconfig calls.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Jul 5 13:10:44 UTC 2017 - schwab@suse.de
|
||||
|
||||
- decls.patch: fix missing declarations
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Jun 12 16:55:57 UTC 2017 - adam.majer@suse.de
|
||||
|
||||
- synced SLE .changes into devel project (bnc#1041340)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Jan 22 16:09:10 CET 2016 - pth@suse.de
|
||||
|
||||
- Remove dependency on aaa_base as using %{_sysconfig} instead of
|
||||
hardcoded /etc shuts up rpmlint.
|
||||
- Use %{buildroot} and %{optflags} insead of env vars.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Jan 13 10:54:53 CET 2016 - pth@suse.de
|
||||
|
||||
- Add %post and %postun entries for libgpm2.
|
||||
- Add a current version of GPL-2.0 with valid FSF address.
|
||||
- Add gpm-fix_fsf_addess.patch to get the current FSF address into
|
||||
gpm.h.
|
||||
-------------------------------------------------------------------
|
||||
Thu Jul 9 06:54:11 UTC 2015 - werner@suse.de
|
||||
|
||||
- Make libgpm able to handle ncurses ABI 6
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Apr 14 16:15:49 UTC 2015 - jengelh@inai.de
|
||||
|
||||
- Update license: the only GPL3 parts found are in the scripts/
|
||||
directory, which is not packaged.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed May 21 11:06:04 UTC 2014 - jsegitz@novell.com
|
||||
|
||||
- added necessary macros for systemd files
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue May 13 10:34:12 UTC 2014 - nadvornik@suse.com
|
||||
|
||||
- install gpm.service with mode 644 (bnc#877455)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sat Apr 5 18:03:49 UTC 2014 - dimstar@opensuse.org
|
||||
|
||||
- Install gpm.service without executable bit. The service files are
|
||||
never 'started'. This silences a warning in journal:
|
||||
systemd[1]: Configuration file /usr/lib/systemd/system/gpm.service
|
||||
is marked executable. Please remove executable permission bits.
|
||||
Proceeding anyway
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Mar 26 14:03:21 UTC 2014 - jengelh@inai.de
|
||||
|
||||
- Implement shlib packaging guidelines: new libgpm2 subpackage
|
||||
- Add missing %pre scriptlet
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Dec 2 11:40:18 UTC 2013 - coolo@suse.com
|
||||
|
||||
- don't buildrequire systemd, we just need the macros
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Oct 28 13:46:46 UTC 2013 - p.drouand@gmail.com
|
||||
|
||||
- Add systemd support and drop sysvinit support
|
||||
- Change pid directory for new standard one
|
||||
- Fix suse-wrong-suse-capitalisation rpmlint warning
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Apr 22 11:26:44 UTC 2013 - cfarrell@suse.com
|
||||
|
||||
- license update: GPL-2.0+ and GPL-3.0+
|
||||
Scripts git-archive-tarbz2.sh and report_success.sh are GPL-3.0+ licensed
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Apr 16 15:01:42 CEST 2013 - pth@suse.de
|
||||
|
||||
- Add software URL.
|
||||
- Remove the patches tarball as upstream doesn't provide it anymore.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Apr 16 12:23:35 CEST 2013 - pth@suse.de
|
||||
|
||||
- Update to 1.20.7:
|
||||
|
||||
- Adapt patches to changed sources.
|
||||
- Add patch to pass the directory for gpm.h when generating
|
||||
dependencies: gpm-dependencies.patch
|
||||
- Add patch that enables the creation of the libgpm.so symlink
|
||||
again and installs it: gpm-do_create_symlink.patch
|
||||
- Removed patches not needed anymore:
|
||||
gpm-gcc4.3.patch
|
||||
gpm-libtool.patch
|
||||
config-guess-sub-update.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Feb 12 07:56:47 UTC 2013 - schwab@suse.de
|
||||
|
||||
- config-guess-sub-update.patch:
|
||||
Update config.guess/sub for aarch64
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Jan 10 10:41:10 UTC 2013 - jengelh@inai.de
|
||||
|
||||
- Remove obsolete/undesired tags/sections
|
||||
- Use more robust make install call
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sat Oct 15 04:47:11 UTC 2011 - coolo@suse.com
|
||||
|
||||
- add libtool as buildrequire to make the spec file more reliable
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Sep 30 15:18:56 UTC 2011 - uli@suse.com
|
||||
|
||||
- cross-build fix: use %__cc macro
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Jan 27 16:57:52 CET 2011 - pth@suse.de
|
||||
|
||||
- Through out the PS/2 patches that lead to gpm not working.
|
||||
- Add patches from Fedora.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Oct 26 16:44:52 UTC 2010 - cristian.rodriguez@opensuse.org
|
||||
|
||||
- Own gpm pid file but %ghost it
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Sep 8 19:59:58 CEST 2010 - pth@suse.de
|
||||
|
||||
- Fix patches.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Sep 8 17:17:02 CEST 2010 - pth@suse.de
|
||||
|
||||
- Update to latest stable version 1.20.6. Notable changes since
|
||||
1.20.1:
|
||||
* Fix default handler in liblow.c
|
||||
* Fixed SONAME (praise the Debian guys, Jonathan Nieder)
|
||||
* Fix possible segfault (FD_SET/negative)
|
||||
* Allow specifying ELISP variable on commandline
|
||||
* Fix broken code semantics
|
||||
* Fix socklen_t issue: Require posix header
|
||||
* Fix building with glibc 2.8
|
||||
* Updated library to version 2.1.0
|
||||
* Gpm_GetLibVersion behaves more consistent (all numbers are one or two digits)
|
||||
- Remove version number from patch name.
|
||||
- Adapt and clean out patches.
|
||||
- Split out contained patches to a separate tar ball as not to
|
||||
confuse quilt.
|
||||
- Use lzma instead of bzip2 to compress tarball.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Sep 7 11:06:22 UTC 2010 - aj@suse.de
|
||||
|
||||
- Split up devel package, do not package static library.
|
||||
- Remove support for updating from SUSE Linux 8.2.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sun Jan 10 19:07:40 UTC 2010 - coolo@novell.com
|
||||
|
||||
- add baselibs.conf as source
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Jun 19 10:35:46 CEST 2009 - coolo@novell.com
|
||||
|
||||
- disable as-needed for this package as it fails to build with it
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Jun 11 22:22:40 CEST 2009 - coolo@novell.com
|
||||
|
||||
- fix build with glibc 2.10
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Dec 10 12:34:56 CET 2008 - olh@suse.de
|
||||
|
||||
- use Obsoletes: -XXbit only for ppc64 to help solver during distupgrade
|
||||
(bnc#437293)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Nov 24 12:34:56 CET 2008 - olh@suse.de
|
||||
|
||||
- obsolete old -XXbit packages (bnc#437293)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Aug 22 15:20:59 CEST 2008 - ro@suse.de
|
||||
|
||||
- remove deprecated option from fillup_and_insserv
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Aug 11 10:20:49 CEST 2008 - anosek@suse.cz
|
||||
|
||||
- fixed gpm not enabled at all run levels (bnc#340646)
|
||||
- enabled gpm also for runlevel 5 in /etc/init.d/gpm
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Apr 10 12:54:45 CEST 2008 - ro@suse.de
|
||||
|
||||
- added baselibs.conf file to build xxbit packages
|
||||
for multilib support
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Apr 9 09:26:43 CEST 2008 - anosek@suse.cz
|
||||
|
||||
- fixed: gpm spams /var/log/messages (bnc#307209) (log.patch)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Feb 22 00:01:15 CET 2008 - crrodriguez@suse.de
|
||||
|
||||
- add missing calls to restart_on_update and stop_on_removal macros
|
||||
- update obsolete XUnitedLinux tags in the init script
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Dec 12 11:17:26 CET 2007 - rguenther@suse.de
|
||||
|
||||
- use FOPEN_MAX instead of OPEN_MAX to fix build.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Aug 7 09:23:55 CEST 2007 - anosek@suse.cz
|
||||
|
||||
- fixed /etc/sysconfig/mouse should configure the mouse by default for gpm
|
||||
[#262749]
|
||||
* modified sysconfig.mouse-gpm accordingly
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu May 24 11:45:20 CEST 2007 - schwab@suse.de
|
||||
|
||||
- Don't install t-mouse.el, part of emacs now.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Mar 26 15:52:13 CEST 2007 - rguenther@suse.de
|
||||
|
||||
- add bison BuildRequires
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Mar 22 16:37:52 CET 2007 - rguenther@suse.de
|
||||
|
||||
- add ncurses-devel BuildRequires
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Feb 27 16:18:07 CET 2007 - prusnak@suse.cz
|
||||
|
||||
- verbosity.patch [#247230]
|
||||
* removed -V option from documentation (not supported anymore)
|
||||
* silented error when -V provided on command-line
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Feb 13 14:03:56 CET 2007 - anosek@suse.cz
|
||||
|
||||
- fixed libgpm.so.1 is not owned by any package [#244447]
|
||||
(gpm-1.20.1.patch)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Jan 4 12:00:46 CET 2007 - anosek@suse.cz
|
||||
|
||||
- fixed twiddler.c:334: warning: operation on 'ptr' may be
|
||||
undefined (warnings.patch)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Feb 16 14:23:52 CET 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 21:30:21 CET 2006 - mls@suse.de
|
||||
|
||||
- converted neededforbuild to BuildRequires
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Nov 3 14:15:59 CET 2005 - mmarek@suse.cz
|
||||
|
||||
- fix apparent typo in gunze touchscreen driver [#132053]
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Aug 23 17:54:03 CEST 2005 - pmladek@suse.cz
|
||||
|
||||
- fixed the init script to print error messages if there are any
|
||||
problems with configuration [#106700]
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sat Apr 9 17:18:33 CEST 2005 - aj@suse.de
|
||||
|
||||
- Fix build also on i386 with GCC 4.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sat Mar 26 23:48:12 CET 2005 - aj@suse.de
|
||||
|
||||
- Fix build with GCC 4.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Mar 24 16:10:02 CET 2005 - uli@suse.de
|
||||
|
||||
- fixed to build on ARM
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Nov 10 11:50:47 CET 2004 - ro@suse.de
|
||||
|
||||
- fixed file list
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Mar 05 17:32:00 CET 2004 - mcihar@suse.cz
|
||||
|
||||
- fix possible segfault in Gpm_Open (bug #31970)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Oct 17 17:41:03 CEST 2003 - mcihar@suse.cz
|
||||
|
||||
- do not build as root
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Sep 15 09:14:47 CEST 2003 - mcihar@suse.cz
|
||||
|
||||
- allow to set gpm repeating in sysconfig (GPM_REPEAT)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Aug 14 15:53:27 CEST 2003 - mcihar@suse.cz
|
||||
|
||||
- added activation metadata to sysconfig template (bug #28903)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Jun 20 02:26:09 CEST 2003 - ro@suse.de
|
||||
|
||||
- added directories to filelist
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Apr 24 14:52:03 CEST 2003 - ro@suse.de
|
||||
|
||||
- merged postuns
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Apr 24 12:20:23 CEST 2003 - ro@suse.de
|
||||
|
||||
- fix install_info --delete call and move from preun to postun
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Mar 14 19:41:59 CET 2003 - pmladek@suse.cz
|
||||
|
||||
- redirected stdin, stdout and stderr to /dev/null in the daemon mode [#25386]
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Mar 04 19:18:59 CET 2003 - pmladek@suse.cz
|
||||
|
||||
- fixed Gpm_Open to initialize option.consolename only for the first time
|
||||
(Gpm_Open.patch) [#24587]
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Feb 17 17:33:43 CET 2003 - mmj@suse.de
|
||||
|
||||
- Use %install_info macros [#23421]
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Jan 09 12:22:56 CET 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 11:31:30 CET 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 01:45:15 CEST 2002 - ro@suse.de
|
||||
|
||||
- removed bogus self-provides
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Sep 2 08:47:50 CEST 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 09:55:56 MEST 2002 - pmladek@suse.cz
|
||||
|
||||
- already enabled __os_install_post macro
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Aug 12 19:33:06 MEST 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 23:32:16 CEST 2002 - ro@suse.de
|
||||
|
||||
- also rename MOUSE to MOUSEDEVICE on update
|
||||
- added PreReqs
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Jul 30 17:26:03 MEST 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 11:15:51 CEST 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 16:03:12 CEST 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 17:05:00 CEST 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 9 11:43:38 CEST 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 17:19:12 CET 2002 - kukuk@suse.de
|
||||
|
||||
- fix typo in sysconfig.gpm [Bug #15034]
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Jan 17 19:06:13 CET 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 18:40:46 CET 2002 - ro@suse.de
|
||||
|
||||
- removed setup.selection
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Jan 11 18:39:17 CET 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 8 20:30:05 CET 2002 - egmont@suselinux.hu
|
||||
|
||||
- removed colons from init script messages
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Jan 8 17:34:20 CET 2002 - ro@suse.de
|
||||
|
||||
- moved GPM_PARAM to /etc/sysconfig/mouse
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Dec 10 18:03:26 CET 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 5 02:18:19 CET 2001 - ro@suse.de
|
||||
|
||||
- add "-p" to macro call to deactivate perl-hack
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Dec 5 01:51:46 CET 2001 - ro@suse.de
|
||||
|
||||
- use fillup_and_insserv and removed START_GPM
|
||||
- move variable GPM_PARAM to this package
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Oct 18 15:37:02 CEST 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 12:08:03 CEST 2001 - pmladek@suse.cz
|
||||
|
||||
- fixed to detect tokens AA 00 only in protocols
|
||||
for ps/2 mouses
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Sep 10 17:46:51 CEST 2001 - pmladek@suse.cz
|
||||
|
||||
- fixed to read only two bytes when mouse is
|
||||
reconected and it sends tokens AA 00
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Sep 7 11:44:56 CEST 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 10:30:51 CEST 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 6 15:59:55 CEST 2001 - kukuk@suse.de
|
||||
|
||||
- Fix comment about init script location [Bug #9494]
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Jun 14 16:46:45 CEST 2001 - pmladek@suse.cz
|
||||
|
||||
- fixed link libgpm.so.1
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Jun 8 12:26:36 CEST 2001 - kukuk@suse.de
|
||||
|
||||
- Use _libdir macros
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Jun 8 11:14:55 CEST 2001 - pmladek@suse.cz
|
||||
|
||||
- fixed to compile on sparc64 (libraries in /usr/lib64 now)
|
||||
- fixed BUILD_ROOT
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed May 16 15:15:24 CEST 2001 - pmladek@suse.cz
|
||||
|
||||
- fixed cast warnings on ia64
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Apr 23 07:51:16 CEST 2001 - pmladek@suse.cz
|
||||
|
||||
- fixed warnings on ia64
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Apr 12 05:33:05 CEST 2001 - pmladek@suse.cz
|
||||
|
||||
- fixed init script by new skeleton
|
||||
- fixed to compile
|
||||
- removed include $(DEPS) from makefile
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Jan 15 10:06:52 CET 2001 - nadvornik@suse.cz
|
||||
|
||||
- added Required-Start: $remote_fs $syslog [bug #5580]
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Jan 2 00:02:38 CET 2001 - olh@suse.de
|
||||
|
||||
- add script name to %postin
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Dec 20 16:12:48 MET 2000 - pthomas@suse.de
|
||||
|
||||
- Fix bug in Gpm_Wgetch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Nov 28 18:31:00 CET 2000 - ro@suse.de
|
||||
|
||||
- sbin/init.d -> etc/init.d
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Nov 22 10:58:21 CET 2000 - nadvornik@suse.cz
|
||||
|
||||
- removed runlevel links
|
||||
- fixed init script
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Oct 9 09:00:19 CEST 2000 - nadvornik@suse.cz
|
||||
|
||||
- fixed Copyright
|
||||
- used bzip2
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Oct 6 09:46:00 CEST 2000 - schwab@suse.de
|
||||
|
||||
- Use getdtablesize() instead of OPEN_MAX.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Jul 17 09:33:58 CEST 2000 - nadvornik@suse.cz
|
||||
|
||||
- added security patch for disable-paste. Now it don't
|
||||
need to be installed with suid root.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Apr 27 08:58:34 CEST 2000 - nadvornik@suse.cz
|
||||
|
||||
- added initgroups() patch
|
||||
- used --sysconfdir=/etc
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Apr 18 09:56:08 CEST 2000 - nadvornik@suse.cz
|
||||
|
||||
- added BuildRoot
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Apr 3 15:12:32 MEST 2000 - uli@suse.de
|
||||
|
||||
- merged in gpm-root fix by Alessandro Rubini
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Feb 25 15:38:57 CET 2000 - kukuk@suse.de
|
||||
|
||||
- Move /usr/{info,man} -> /usr/share/{info,man}
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Jan 31 13:46:24 MET 2000 - uli@suse.de
|
||||
|
||||
- added fix for possible /tmp race attacks by thomas@suse.de
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Dec 17 00:52:15 CET 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 12:35:02 MEST 1999 - uli@suse.de
|
||||
|
||||
- update -> 1.18.0
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Sep 13 17:23:57 CEST 1999 - bs@suse.de
|
||||
|
||||
- ran old prepare_spec on spec file to switch to new prepare_spec.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Mar 16 18:15:37 MET 1999 - ro@suse.de
|
||||
|
||||
- fixed rc-script: check if gpm already running
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Mar 5 17:48:03 MET 1999 - ro@suse.de
|
||||
|
||||
- fixed rc script
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Mar 2 18:31:19 MET 1999 - ro@suse.de
|
||||
|
||||
- update to 1.17.5
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Dec 7 11:48:57 MET 1998 - ro@suse.de
|
||||
|
||||
- updated init-script
|
||||
- added rcgpm symlink
|
||||
|
||||
----------------------------------------------------------------------------
|
||||
Fri Oct 24 15:06:18 MEST 1997 - florian@suse.de
|
||||
|
||||
- update to gpm 1.13
|
||||
|
||||
|
||||
----------------------------------------------------------------------------
|
||||
Sun May 4 15:23:41 CEST 1997 - bs@suse.de
|
||||
|
||||
- added /var/adm/setup/setup.selection
|
||||
|
||||
|
||||
----------------------------------------------------------------------------
|
||||
Wed Apr 30 15:57:14 CEST 1997 - florian@suse.de
|
||||
|
||||
|
||||
- update to version 1.12
|
||||
|
||||
|
||||
----------------------------------------------------------------------------
|
||||
Wed Nov 6 00:13:26 CET 1996 - florian@suse.de
|
||||
|
||||
|
||||
- move startup scripts from aaa_base to gpm.tgz
|
||||
|
26
gpm.service
Normal file
26
gpm.service
Normal file
@ -0,0 +1,26 @@
|
||||
[Unit]
|
||||
Description=Console Mouse manager
|
||||
|
||||
# This could probably benefit from socket activation, but honestly I think it
|
||||
# is time for gpm to go away, and hence I am not planning to spend the time
|
||||
# to add socket activation here.
|
||||
|
||||
[Service]
|
||||
# added automatically, for details please see
|
||||
# https://en.opensuse.org/openSUSE:Security_Features#Systemd_hardening_effort
|
||||
ProtectSystem=full
|
||||
ProtectHome=true
|
||||
ProtectHostname=true
|
||||
ProtectKernelTunables=true
|
||||
ProtectKernelModules=true
|
||||
ProtectKernelLogs=true
|
||||
ProtectControlGroups=true
|
||||
RestrictRealtime=true
|
||||
# end of automatic additions
|
||||
EnvironmentFile=-/etc/sysconfig/mouse
|
||||
ExecStart=/usr/sbin/gpm -m /dev/input/mice -t exps2
|
||||
Type=forking
|
||||
PIDFile=/run/gpm.pid
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
231
gpm.spec
Normal file
231
gpm.spec
Normal file
@ -0,0 +1,231 @@
|
||||
#
|
||||
# spec file for package gpm
|
||||
#
|
||||
# Copyright (c) 2021 SUSE LLC
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
# upon. The license for this file, and modifications and additions to the
|
||||
# file, is the same license as for the pristine package itself (unless the
|
||||
# license for the pristine package is not an Open Source License, in which
|
||||
# case the license is the MIT License). An "Open Source License" is a
|
||||
# license that conforms to the Open Source Definition (Version 1.9)
|
||||
# published by the Open Source Initiative.
|
||||
|
||||
# Please submit bugfixes or comments via https://bugs.opensuse.org/
|
||||
#
|
||||
|
||||
|
||||
#Compat macro for new _fillupdir macro introduced in Nov 2017
|
||||
%if ! %{defined _fillupdir}
|
||||
%define _fillupdir /var/adm/fillup-templates
|
||||
%endif
|
||||
|
||||
Name: gpm
|
||||
%define lname libgpm2
|
||||
Version: 1.20.7
|
||||
Release: 0
|
||||
Summary: Console Mouse Support
|
||||
License: GPL-2.0-or-later AND GPL-3.0-or-later
|
||||
Group: System/Console
|
||||
URL: http://linux.schottelius.org/gpm/
|
||||
|
||||
Source0: http://www.nico.schottelius.org/software/gpm/archives/gpm-%{version}.tar.lzma
|
||||
Source2: gpm.service
|
||||
Source3: sysconfig.mouse-%{name}
|
||||
Source4: README.SUSE
|
||||
Source5: baselibs.conf
|
||||
Source6: inputattach.c
|
||||
Source7: gpl-2.0.txt
|
||||
Patch0: gpm-DESTDIR.patch
|
||||
Patch4: gpm-syn_conf.patch
|
||||
Patch6: gpm-conf.patch
|
||||
Patch7: gpm-va_arg.patch
|
||||
Patch9: gpm-no_templates_for_new_multiple_mode.patch
|
||||
Patch10: gpm-ceil.patch
|
||||
Patch11: gpm-Gpm_Open.patch
|
||||
Patch12: gpm-daemon_mode.patch
|
||||
Patch15: gpm-verbosity.patch
|
||||
Patch17: gpm-log.patch
|
||||
Patch18: gpm-glibc210.patch
|
||||
Patch19: gpm-use_getdtablesize.patch
|
||||
Patch20: gpm-int_ptr_casts.patch
|
||||
Patch21: gpm-close-fds.patch
|
||||
Patch23: gpm-lib-silent.patch
|
||||
Patch25: gpm-multilib.patch
|
||||
Patch26: gpm-weak-wgetch.patch
|
||||
#PATCH-FIX-UPSTREAM Pass path to gpm.h
|
||||
Patch28: gpm-dependencies.patch
|
||||
#PATCH-FIX-UPSTREAM Create the symlink libgpm.so
|
||||
Patch29: gpm-do_create_symlink.patch
|
||||
#PATCH-FIX-UPSTREAM Copy the current licence text from gpl-2.0+ to gpm.h
|
||||
Patch30: gpm-fix_fsf_addess.patch
|
||||
#PATCH-FIX-UPSTREAM Fix missing declarations
|
||||
Patch31: decls.patch
|
||||
Patch32: gpm-fno-common.patch
|
||||
BuildRequires: bison
|
||||
BuildRequires: libtool
|
||||
BuildRequires: lzma
|
||||
BuildRequires: makeinfo
|
||||
BuildRequires: ncurses-devel
|
||||
BuildRequires: systemd-rpm-macros
|
||||
Requires(pre): %install_info_prereq
|
||||
Requires(pre): /bin/sed
|
||||
Requires(pre): %fillup_prereq
|
||||
%{?systemd_requires}
|
||||
Provides: select
|
||||
%ifarch ppc64
|
||||
# bug437293
|
||||
Obsoletes: gpm-64bit
|
||||
%endif
|
||||
|
||||
%description
|
||||
The gpm (general purpose mouse) daemon is a mouse server for
|
||||
applications running on the Linux console. It provides cut and paste
|
||||
operations. If a gpm-aware program, such as mc (Midnight Commander)
|
||||
or w3m (a text-based web browser), is active, they will use to gpm to
|
||||
receive mouse events and do custom handling.
|
||||
|
||||
%package -n %lname
|
||||
Summary: Console mouse support library
|
||||
License: GPL-2.0-or-later
|
||||
Group: System/Libraries
|
||||
|
||||
%description -n %lname
|
||||
This package provides a library that handles mouse requests and
|
||||
delivers them to applications. See the description for the "gpm"
|
||||
package for more information.
|
||||
|
||||
%package devel
|
||||
Summary: Development files for gpm (Console Mouse Support)
|
||||
License: GPL-2.0-or-later
|
||||
Group: Development/Libraries/C and C++
|
||||
Requires: %lname = %version
|
||||
|
||||
%description devel
|
||||
Development files for the gpm (general purpose mouse) package.
|
||||
|
||||
%prep
|
||||
%setup -q
|
||||
%patch0
|
||||
%patch4
|
||||
%patch6
|
||||
%patch7
|
||||
%patch9
|
||||
%patch10
|
||||
%patch11
|
||||
%patch12
|
||||
%patch15
|
||||
%patch17
|
||||
%patch18
|
||||
%patch19
|
||||
%patch20
|
||||
%patch21
|
||||
%patch23
|
||||
%patch25
|
||||
%patch26
|
||||
%patch28
|
||||
%patch29
|
||||
%patch30
|
||||
%patch31 -p1
|
||||
%patch32 -p1
|
||||
cp %{S:2} %{S:3} %{S:4} .
|
||||
cp %{S:7} COPYING
|
||||
|
||||
%build
|
||||
# This package failed when testing with -Wl,-as-needed being default.
|
||||
# So we disable it here, if you want to retest, just delete this comment and the line below.
|
||||
#export SUSE_ASNEEDED=1
|
||||
NOCONFIGURE=1 ./autogen.sh
|
||||
autoreconf -fi
|
||||
export CFLAGS="%{optflags} -DQUIET_LIBGPM -D_REENTRANT"
|
||||
%configure --disable-static \
|
||||
--sysconfdir=%{_sysconfdir}/gpm
|
||||
make CC=gcc %{?_smp_mflags}
|
||||
gcc %{optflags} -o inputattach %{SOURCE6}
|
||||
|
||||
%install
|
||||
make install DESTDIR="%buildroot" ROOT=""
|
||||
#
|
||||
# gpm confings
|
||||
install -d %{buildroot}%{_sysconfdir}/${file/conf\/gpm-/gpm\/}
|
||||
for file in conf/gpm-* ; do
|
||||
install -d %{buildroot}%{_sysconfdir}/${file/conf\/gpm-/gpm\/}
|
||||
install -m 644 $file %{buildroot}%{_sysconfdir}/${file/conf\/gpm-/gpm\/}
|
||||
done
|
||||
#
|
||||
# lisp
|
||||
# an updated version is part of emacs now
|
||||
#install -d %%{buildroot}/usr/share/emacs/site-lisp
|
||||
#install contrib/emacs/t-mouse.el* %%{buildroot}/usr/share/emacs/site-lisp
|
||||
#
|
||||
# start script
|
||||
install -m 755 -d %{buildroot}%{_fillupdir}
|
||||
install -m 755 -d %{buildroot}/%{_unitdir}
|
||||
install -m 755 -d %{buildroot}/usr/sbin
|
||||
install -m 755 inputattach %{buildroot}%{_sbindir}
|
||||
install -m 644 sysconfig.mouse-%{name} %{buildroot}%{_fillupdir}
|
||||
install -m 644 %{S:2} %{buildroot}/%{_unitdir}/gpm.service
|
||||
ln -sf %{_sbindir}/service %{buildroot}/usr/sbin/rcgpm
|
||||
# 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=" %{_sysconfdir}/sysconfig/mouse 1>/dev/null 2>/dev/null ; then
|
||||
if grep "^MOUSETYPE=" %{_sysconfdir}/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|" %%{_sysconfdir}/sysconfig/mouse
|
||||
fi
|
||||
# rename GPM_PROTOCOL to MOUSETYPE
|
||||
perl -pi -e "s|^GPM_PROTOCOL=(.*)$|\# the variable GPM_PROTOCOL was renamed to MOUSETYPE\nMOUSETYPE=\$1|" %%{_sysconfdir}/sysconfig/mouse
|
||||
fi
|
||||
|
||||
# Do not package static library
|
||||
rm -fv %{buildroot}/%{_libdir}/libgpm.a
|
||||
mkdir -p %{buildroot}/run
|
||||
touch %{buildroot}/run/gpm.pid
|
||||
|
||||
%pre
|
||||
%service_add_pre gpm.service
|
||||
|
||||
%preun
|
||||
%service_del_preun gpm.service
|
||||
|
||||
%post
|
||||
%{fillup_only gpm}
|
||||
%service_add_post gpm.service
|
||||
%{fillup_only -an mouse}
|
||||
%install_info --info-dir=%{_infodir} %{_infodir}/%{name}.info.gz
|
||||
|
||||
%postun
|
||||
%install_info_delete --info-dir=%{_infodir} %{_infodir}/%{name}.info.gz
|
||||
%service_del_postun gpm.service
|
||||
|
||||
%post -n %lname -p /sbin/ldconfig
|
||||
%postun -n %lname -p /sbin/ldconfig
|
||||
|
||||
%files
|
||||
%defattr(-,root,root)
|
||||
%license COPYING
|
||||
%doc README README.gpm2 README.SUSE TODO
|
||||
%doc doc/Announce doc/FAQ doc/README* doc/changelog
|
||||
%{_infodir}/*
|
||||
%{_mandir}/*/*
|
||||
%dir %config %{_sysconfdir}/gpm
|
||||
%config %{_sysconfdir}/gpm/*
|
||||
%{_unitdir}/gpm.service
|
||||
%{_bindir}/*
|
||||
%{_sbindir}/*
|
||||
%{_fillupdir}/*
|
||||
%ghost /run/gpm.pid
|
||||
|
||||
%files -n %lname
|
||||
%defattr(-,root,root)
|
||||
%_libdir/libgpm.so.2*
|
||||
|
||||
%files devel
|
||||
%defattr(-,root,root)
|
||||
%{_includedir}/gpm.h
|
||||
%{_libdir}/libgpm.so
|
||||
|
||||
%changelog
|
481
inputattach.c
Normal file
481
inputattach.c
Normal file
@ -0,0 +1,481 @@
|
||||
/*
|
||||
* $Id: inputattach.c,v 1.2 2007/04/02 14:18:54 tjanouse Exp $
|
||||
*
|
||||
* Copyright (c) 1999-2000 Vojtech Pavlik
|
||||
*
|
||||
* Sponsored by SuSE
|
||||
*
|
||||
* Twiddler support Copyright (c) 2001 Arndt Schoenewald
|
||||
* Sponsored by Quelltext AG (http://www.quelltext-ag.de), Dortmund, Germany
|
||||
*/
|
||||
|
||||
/*
|
||||
* Input line discipline attach program
|
||||
*/
|
||||
|
||||
/*
|
||||
* This program 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; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program 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 program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*
|
||||
* Should you need to contact me, the author, you can do so either by
|
||||
* e-mail - mail your message to <vojtech@ucw.cz>, or by paper mail:
|
||||
* Vojtech Pavlik, Simunkova 1594, Prague 8, 182 00 Czech Republic
|
||||
*/
|
||||
|
||||
#include <linux/serio.h>
|
||||
|
||||
#include <sys/types.h>
|
||||
#include <sys/stat.h>
|
||||
#include <sys/ioctl.h>
|
||||
#include <sys/time.h>
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <unistd.h>
|
||||
#include <fcntl.h>
|
||||
#include <termios.h>
|
||||
#include <string.h>
|
||||
#include <assert.h>
|
||||
#include <ctype.h>
|
||||
|
||||
int readchar(int fd, unsigned char *c, int timeout)
|
||||
{
|
||||
struct timeval tv;
|
||||
fd_set set;
|
||||
|
||||
tv.tv_sec = 0;
|
||||
tv.tv_usec = timeout * 1000;
|
||||
|
||||
FD_ZERO(&set);
|
||||
FD_SET(fd, &set);
|
||||
|
||||
if (!select(fd+1, &set, NULL, NULL, &tv)) return -1;
|
||||
if (read(fd, c, 1) != 1) return -1;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
|
||||
void setline(int fd, int flags, int speed)
|
||||
{
|
||||
struct termios t;
|
||||
|
||||
tcgetattr(fd, &t);
|
||||
|
||||
t.c_cflag = flags | CREAD | HUPCL | CLOCAL;
|
||||
t.c_iflag = IGNBRK | IGNPAR;
|
||||
t.c_oflag = 0;
|
||||
t.c_lflag = 0;
|
||||
t.c_cc[VMIN ] = 1;
|
||||
t.c_cc[VTIME] = 0;
|
||||
|
||||
cfsetispeed(&t, speed);
|
||||
cfsetospeed(&t, speed);
|
||||
|
||||
tcsetattr(fd, TCSANOW, &t);
|
||||
}
|
||||
|
||||
int logitech_command(int fd, char *c)
|
||||
{
|
||||
int i;
|
||||
unsigned char d;
|
||||
for (i = 0; c[i]; i++) {
|
||||
write(fd, c + i, 1);
|
||||
if (readchar(fd, &d, 1000))
|
||||
return -1;
|
||||
if (c[i] != d)
|
||||
return -1;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
int magellan_init(int fd, long *id, long *extra)
|
||||
{
|
||||
write(fd, "m3\rpBB\rz\r", 9);
|
||||
return 0;
|
||||
}
|
||||
|
||||
int warrior_init(int fd, long *id, long *extra)
|
||||
{
|
||||
if (logitech_command(fd, "*S")) return -1;
|
||||
setline(fd, CS8, B4800);
|
||||
return 0;
|
||||
}
|
||||
|
||||
int spaceball_waitchar(int fd, unsigned char c, unsigned char *d, int timeout)
|
||||
{
|
||||
unsigned char b = 0;
|
||||
|
||||
while (!readchar(fd, &b, timeout)) {
|
||||
if (b == 0x0a) continue;
|
||||
*d++ = b;
|
||||
if (b == c) break;
|
||||
}
|
||||
|
||||
*d = 0;
|
||||
|
||||
return -(b != c);
|
||||
}
|
||||
|
||||
int spaceball_waitcmd(int fd, char c, char *d)
|
||||
{
|
||||
int i;
|
||||
|
||||
for (i = 0; i < 8; i++) {
|
||||
if (spaceball_waitchar(fd, 0x0d, d, 1000))
|
||||
return -1;
|
||||
if (d[0] == c)
|
||||
return 0;
|
||||
}
|
||||
|
||||
return -1;
|
||||
}
|
||||
|
||||
int spaceball_cmd(int fd, char *c, char *d)
|
||||
{
|
||||
int i;
|
||||
|
||||
for (i = 0; c[i]; i++)
|
||||
write(fd, c + i, 1);
|
||||
write(fd, "\r", 1);
|
||||
|
||||
i = spaceball_waitcmd(fd, toupper(c[0]), d);
|
||||
|
||||
return i;
|
||||
}
|
||||
|
||||
#define SPACEBALL_1003 1
|
||||
#define SPACEBALL_2003B 3
|
||||
#define SPACEBALL_2003C 4
|
||||
#define SPACEBALL_3003C 7
|
||||
#define SPACEBALL_4000FLX 8
|
||||
#define SPACEBALL_4000FLX_L 9
|
||||
|
||||
int spaceball_init(int fd, long *id, long *extra)
|
||||
{
|
||||
char r[64];
|
||||
|
||||
if (spaceball_waitchar(fd, 0x11, r, 4000) ||
|
||||
spaceball_waitchar(fd, 0x0d, r, 1000))
|
||||
return -1;
|
||||
|
||||
if (spaceball_waitcmd(fd, '@', r))
|
||||
return -1;
|
||||
|
||||
if (strncmp("@1 Spaceball alive", r, 18))
|
||||
return -1;
|
||||
|
||||
if (spaceball_waitcmd(fd, '@', r))
|
||||
return -1;
|
||||
|
||||
if (spaceball_cmd(fd, "hm", r))
|
||||
return -1;
|
||||
|
||||
if (!strncmp("Hm2003B", r, 7))
|
||||
*id = SPACEBALL_2003B;
|
||||
if (!strncmp("Hm2003C", r, 7))
|
||||
*id = SPACEBALL_2003C;
|
||||
if (!strncmp("Hm3003C", r, 7))
|
||||
*id = SPACEBALL_3003C;
|
||||
|
||||
if (!strncmp("HvFirmware", r, 10)) {
|
||||
|
||||
if (spaceball_cmd(fd, "\"", r))
|
||||
return -1;
|
||||
|
||||
if (strncmp("\"1 Spaceball 4000 FLX", r, 21))
|
||||
return -1;
|
||||
|
||||
if (spaceball_waitcmd(fd, '"', r))
|
||||
return -1;
|
||||
|
||||
if (strstr(r, " L "))
|
||||
*id = SPACEBALL_4000FLX_L;
|
||||
else
|
||||
*id = SPACEBALL_4000FLX;
|
||||
|
||||
if (spaceball_waitcmd(fd, '"', r))
|
||||
return -1;
|
||||
|
||||
if (spaceball_cmd(fd, "YS", r))
|
||||
return -1;
|
||||
|
||||
if (spaceball_cmd(fd, "M", r))
|
||||
return -1;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (spaceball_cmd(fd, "P@A@A", r) ||
|
||||
spaceball_cmd(fd, "FT@", r) ||
|
||||
spaceball_cmd(fd, "MSS", r))
|
||||
return -1;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int stinger_init(int fd, long *id, long *extra)
|
||||
{
|
||||
int i;
|
||||
unsigned char c;
|
||||
unsigned char *response = "\r\n0600520058C272";
|
||||
|
||||
if (write(fd, " E5E5", 5) != 5) /* Enable command */
|
||||
return -1;
|
||||
|
||||
for (i = 0; i < 16; i++) /* Check for Stinger */
|
||||
if (readchar(fd, &c, 200) || (c != response[i]))
|
||||
return -1;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int mzp_init(int fd, long *id, long *extra)
|
||||
{
|
||||
if (logitech_command(fd, "*X*q")) return -1;
|
||||
setline(fd, CS8, B9600);
|
||||
return 0;
|
||||
}
|
||||
|
||||
int newton_init(int fd, long *id, long *extra)
|
||||
{
|
||||
int i;
|
||||
unsigned char c;
|
||||
unsigned char response[35] =
|
||||
{ 0x16, 0x10, 0x02, 0x64, 0x5f, 0x69, 0x64, 0x00,
|
||||
0x00, 0x00, 0x0c, 0x6b, 0x79, 0x62, 0x64, 0x61,
|
||||
0x70, 0x70, 0x6c, 0x00, 0x00, 0x00, 0x01, 0x6e,
|
||||
0x6f, 0x66, 0x6d, 0x00, 0x00, 0x00, 0x00, 0x10,
|
||||
0x03, 0xdd, 0xe7 };
|
||||
|
||||
for (i = 0; i < 35; i++)
|
||||
if (readchar(fd, &c, 400) || (c != response[i]))
|
||||
return -1;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int twiddler_init(int fd, long *id, long *extra)
|
||||
{
|
||||
unsigned char c[10];
|
||||
int count, line;
|
||||
|
||||
/* Turn DTR off, otherwise the Twiddler won't send any data. */
|
||||
if (ioctl(fd, TIOCMGET, &line)) return -1;
|
||||
line &= ~TIOCM_DTR;
|
||||
if (ioctl(fd, TIOCMSET, &line)) return -1;
|
||||
|
||||
/* Check whether the device on the serial line is the Twiddler.
|
||||
*
|
||||
* The Twiddler sends data packets of 5 bytes which have the following
|
||||
* properties: the MSB is 0 on the first and 1 on all other bytes, and
|
||||
* the high order nibble of the last byte is always 0x8.
|
||||
*
|
||||
* We read and check two of those 5 byte packets to be sure that we
|
||||
* are indeed talking to a Twiddler. */
|
||||
|
||||
/* Read at most 5 bytes until we find one with the MSB set to 0 */
|
||||
for (count = 0; count < 5; count++) {
|
||||
if (readchar(fd, c+0, 500)) return -1;
|
||||
if ((c[0] & 0x80) == 0) break;
|
||||
}
|
||||
|
||||
if (count == 5) {
|
||||
/* Could not find header byte in data stream */
|
||||
return -1;
|
||||
}
|
||||
|
||||
/* Read remaining 4 bytes plus the full next data packet */
|
||||
for (count = 1; count < 10; count++) {
|
||||
if (readchar(fd, c+count, 500)) return -1;
|
||||
}
|
||||
|
||||
/* Check whether the bytes of both data packets obey the rules */
|
||||
for (count = 1; count < 10; count++) {
|
||||
if ((count % 5 == 0 && (c[count] & 0x80) != 0)
|
||||
|| (count % 5 == 4 && (c[count] & 0xF0) != 0x80)
|
||||
|| (count % 5 != 0 && (c[count] & 0x80) != 0x80)) {
|
||||
/* Invalid byte in data packet */
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int dump_init(int fd, long *id, long *extra)
|
||||
{
|
||||
unsigned char c, o = 0;
|
||||
|
||||
c = 0x80;
|
||||
|
||||
if (write(fd, &c, 1) != 1) /* Enable command */
|
||||
return -1;
|
||||
|
||||
while (1)
|
||||
if (!readchar(fd, &c, 1)) {
|
||||
printf("%02x (%c) ", c, ((c > 32) && (c < 127)) ? c : 'x');
|
||||
o = 1;
|
||||
} else {
|
||||
if (o) {
|
||||
printf("\n");
|
||||
o = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
struct input_types {
|
||||
char name[16];
|
||||
char name2[16];
|
||||
int speed;
|
||||
int flags;
|
||||
unsigned long type;
|
||||
unsigned long id;
|
||||
unsigned long extra;
|
||||
int flush;
|
||||
int (*init)(int fd, long *id, long *extra);
|
||||
};
|
||||
|
||||
struct input_types input_types[] = {
|
||||
|
||||
{ "--sunkbd", "-skb", B1200, CS8, SERIO_SUNKBD, 0, 0, 1, NULL },
|
||||
{ "--lkkbd", "-lk", B4800, CS8|CSTOPB, SERIO_LKKBD, 0, 0, 1, NULL },
|
||||
{ "--vsxxx-aa", "-vs", B4800, CS8|CSTOPB|PARENB|PARODD,SERIO_VSXXXAA, 0, 0, 1, NULL },
|
||||
{ "--spaceorb", "-orb", B9600, CS8, SERIO_SPACEORB, 0, 0, 1, NULL },
|
||||
{ "--spaceball", "-sbl", B9600, CS8, SERIO_SPACEBALL,0, 0, 0, spaceball_init },
|
||||
{ "--magellan", "-mag", B9600, CS8 | CSTOPB | CRTSCTS, SERIO_MAGELLAN, 0, 0, 1, magellan_init },
|
||||
{ "--warrior", "-war", B1200, CS7 | CSTOPB, SERIO_WARRIOR, 0, 0, 1, warrior_init },
|
||||
{ "--stinger", "-sting", B1200, CS8, SERIO_STINGER, 0, 0, 1, stinger_init },
|
||||
{ "--mousesystems", "-msc", B1200, CS8, SERIO_MSC, 0, 0x01, 1, NULL },
|
||||
{ "--sunmouse", "-sun", B1200, CS8, SERIO_SUN, 0, 0x01, 1, NULL },
|
||||
{ "--microsoft", "-bare", B1200, CS7, SERIO_MS, 0, 0, 1, NULL },
|
||||
{ "--mshack", "-ms", B1200, CS7, SERIO_MS, 0, 0x01, 1, NULL },
|
||||
{ "--mouseman", "-mman", B1200, CS7, SERIO_MP, 0, 0x01, 1, NULL },
|
||||
{ "--intellimouse", "-ms3", B1200, CS7, SERIO_MZ, 0, 0x11, 1, NULL },
|
||||
{ "--mmwheel", "-mmw", B1200, CS7 | CSTOPB, SERIO_MZP, 0, 0x13, 1, mzp_init },
|
||||
{ "--iforce", "-ifor", B38400, CS8, SERIO_IFORCE, 0, 0, 0, NULL },
|
||||
{ "--newtonkbd", "-newt", B9600, CS8, SERIO_NEWTON, 0, 0, 0, newton_init },
|
||||
{ "--h3600ts", "-ipaq", B115200, CS8, SERIO_H3600, 0, 0, 0, NULL },
|
||||
{ "--stowawaykbd", "-ipaqkbd", B115200, CS8, SERIO_STOWAWAY, 0, 0, 0, NULL },
|
||||
{ "--ps2serkbd", "-ps2ser", B1200, CS8, SERIO_PS2SER, 0, 0, 1, NULL },
|
||||
{ "--twiddler", "-twid", B2400, CS8, SERIO_TWIDKBD, 0, 0, 0, twiddler_init },
|
||||
{ "--twiddler-joy", "-twidjoy", B2400, CS8, SERIO_TWIDJOY, 0, 0, 0, twiddler_init },
|
||||
{ "--elotouch", "-elo", B9600, CS8 | CRTSCTS, SERIO_ELO, 0, 0, 0, NULL },
|
||||
{ "--elo4002", "-elo6b", B9600, CS8 | CRTSCTS, SERIO_ELO, 1, 0, 0, NULL },
|
||||
{ "--elo271-140", "-elo4b", B9600, CS8 | CRTSCTS, SERIO_ELO, 2, 0, 0, NULL },
|
||||
{ "--elo261-280", "-elo3b", B9600, CS8 | CRTSCTS, SERIO_ELO, 3, 0, 0, NULL },
|
||||
#ifdef SERIO_TAOSEVM
|
||||
{ "--taos-evm", "-taos", B1200, CS8, SERIO_TAOSEVM, 0, 0, 0, NULL },
|
||||
#endif
|
||||
{ "--dump", "-dump", B2400, CS8, 0, 0, 0, 0, dump_init },
|
||||
{ "", "", 0, 0 }
|
||||
|
||||
};
|
||||
|
||||
int main(int argc, char **argv)
|
||||
{
|
||||
unsigned long devt;
|
||||
int ldisc;
|
||||
int type;
|
||||
long id, extra;
|
||||
int fd;
|
||||
char c;
|
||||
|
||||
if (argc < 2 || argc > 4 || (argc == 4 && strcmp(argv[3], "--daemon")) || !strcmp("--help", argv[1])) {
|
||||
puts("");
|
||||
puts("Usage: inputttach <mode> <device>");
|
||||
puts("");
|
||||
puts("Modes:");
|
||||
puts(" --sunkbd -skb Sun Type 4 and Type 5 keyboards");
|
||||
puts(" --lkkbd -lk DEC LK201 / LK401 keyboards");
|
||||
puts(" --vsxxx-aa -vs DEC VSXXX-AA / VSXXX-GA mouse and VSXXX-AB tablet");
|
||||
puts(" --spaceorb -orb SpaceOrb 360 / SpaceBall Avenger");
|
||||
puts(" --spaceball -sbl SpaceBall 2003 / 3003 / 4000 FLX");
|
||||
puts(" --magellan -mag Magellan / SpaceMouse");
|
||||
puts(" --warrior -war WingMan Warrior");
|
||||
puts(" --stinger -stng Gravis Stinger");
|
||||
puts(" --mousesystems -msc 3-button Mouse Systems mice");
|
||||
puts(" --sunmouse -sun 3-button Sun mice");
|
||||
puts(" --microsoft -bare 2-button Microsoft mice");
|
||||
puts(" --mshack -ms 3-button mice in Microsoft mode");
|
||||
puts(" --mouseman -mman 3-button Logitech and Genius mice");
|
||||
puts(" --intellimouse -ms3 Microsoft IntelliMouse");
|
||||
puts(" --mmwheel -mmw Logitech mice with 4-5 buttons or wheel");
|
||||
puts(" --iforce -ifor I-Force joysticks and wheels");
|
||||
puts(" --h3600ts -ipaq Ipaq h3600 touchscreen");
|
||||
puts(" --stowawaykbd -ipaqkbd Stowaway keyboard");
|
||||
puts(" --ps2serkbd -ps2ser PS/2 via serial keyboard");
|
||||
puts(" --twiddler -twid Handykey Twiddler chording keyboard");
|
||||
puts(" --twiddler-joy -twidjoy Handykey Twiddler used as a joystick");
|
||||
#ifdef SERIO_TAOSEVM
|
||||
puts(" --taos-evm -taos TAOS evaluation module");
|
||||
#endif
|
||||
puts("");
|
||||
return 1;
|
||||
}
|
||||
|
||||
for (type = 0; input_types[type].speed; type++) {
|
||||
if (!strncasecmp(argv[1], input_types[type].name, 16) ||
|
||||
!strncasecmp(argv[1], input_types[type].name2, 16))
|
||||
break;
|
||||
}
|
||||
|
||||
if (!input_types[type].speed) {
|
||||
fprintf(stderr, "inputattach: invalid mode\n");
|
||||
return 1;
|
||||
}
|
||||
|
||||
if ((fd = open(argv[2], O_RDWR | O_NOCTTY | O_NONBLOCK)) < 0) {
|
||||
perror("inputattach");
|
||||
return 1;
|
||||
}
|
||||
|
||||
setline(fd, input_types[type].flags, input_types[type].speed);
|
||||
|
||||
if (input_types[type].flush)
|
||||
while (!readchar(fd, &c, 100));
|
||||
|
||||
id = input_types[type].id;
|
||||
extra = input_types[type].extra;
|
||||
|
||||
if (input_types[type].init && input_types[type].init(fd, &id, &extra)) {
|
||||
fprintf(stderr, "inputattach: device initialization failed\n");
|
||||
return 1;
|
||||
}
|
||||
|
||||
ldisc = N_MOUSE;
|
||||
if(ioctl(fd, TIOCSETD, &ldisc)) {
|
||||
fprintf(stderr, "inputattach: can't set line discipline\n");
|
||||
return 1;
|
||||
}
|
||||
|
||||
devt = input_types[type].type | (id << 8) | (extra << 16);
|
||||
|
||||
if(ioctl(fd, SPIOCSTYPE, &devt)) {
|
||||
fprintf(stderr, "inputattach: can't set device type\n");
|
||||
return 1;
|
||||
}
|
||||
|
||||
if (argc == 4 && !strcmp(argv[3],"--daemon"))
|
||||
daemon(0,0);
|
||||
|
||||
read(fd, NULL, 0);
|
||||
|
||||
ldisc = 0;
|
||||
ioctl(fd, TIOCSETD, &ldisc);
|
||||
close(fd);
|
||||
|
||||
return 0;
|
||||
}
|
37
sysconfig.mouse-gpm
Normal file
37
sysconfig.mouse-gpm
Normal file
@ -0,0 +1,37 @@
|
||||
## Path: Hardware/Mouse/Console
|
||||
## Description: Console mouse configuration
|
||||
## ServiceRestart: gpm
|
||||
#
|
||||
## Type: string(/dev/input/mice,/dev/psaux)
|
||||
## Default: "/dev/input/mice"
|
||||
#
|
||||
# The mouse device used on the console by gpm.
|
||||
# The default value is generated by YaST.
|
||||
#
|
||||
MOUSEDEVICE="/dev/input/mice"
|
||||
|
||||
## Type: string(imps2,ms,ms3,msc,mman,ps2,syn,synps2)
|
||||
## Default: "imps2"
|
||||
#
|
||||
# The mouse type which defines the mouse protocol used by gpm for the mouse
|
||||
# device in the variable MOUSEDEVICE
|
||||
# The default value is generated by YaST
|
||||
#
|
||||
MOUSETYPE="imps2"
|
||||
|
||||
## Type: string
|
||||
## Default: ""
|
||||
#
|
||||
# You can define your own options to start gpm here. If the variable is empty
|
||||
# then the gpm will start with the option "-m $MOUSEDEVICE -t $MOUSETYPE"
|
||||
#
|
||||
GPM_PARAM=""
|
||||
|
||||
## Type: string(raw,imps2,ms,ms3,msc,mman,ps2,syn,synps2)
|
||||
## Default: ""
|
||||
#
|
||||
# Define type of repeating for gpm. This is usually needed when you want to
|
||||
# use gpm together with XFree. All mouse data will be repeated in fifo
|
||||
# /dev/gpmdata. Use "raw" for repeating same data as received by gpm.
|
||||
#
|
||||
GPM_REPEAT=""
|
Loading…
Reference in New Issue
Block a user