diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..814e0c6 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +SOURCES/gpm-1.20.7.tar.xz diff --git a/.gpm.metadata b/.gpm.metadata new file mode 100644 index 0000000..67b465f --- /dev/null +++ b/.gpm.metadata @@ -0,0 +1 @@ +79c4c5f4af8000f0bcea98f189b5ecf8b2c94dff SOURCES/gpm-1.20.7.tar.xz diff --git a/SOURCES/1.20.7...e82d1a653ca94aa4ed12441424da6ce780b1e530.diff b/SOURCES/1.20.7...e82d1a653ca94aa4ed12441424da6ce780b1e530.diff new file mode 100644 index 0000000..fea8a7f --- /dev/null +++ b/SOURCES/1.20.7...e82d1a653ca94aa4ed12441424da6ce780b1e530.diff @@ -0,0 +1,555 @@ +diff --git a/.gitignore b/.gitignore +index 87df93b..5f79b9d 100644 +--- a/.gitignore ++++ b/.gitignore +@@ -11,6 +11,7 @@ Makefile + Makefile.include + /aclocal.m4 + /autom4te.cache ++/config.cache + /config.log + /config.status + /configure +@@ -29,7 +30,7 @@ Makefile.include + /src/gpm + /src/gpm2/tmp + /src/gpm2/out +-/src/lib/libgpm.so.* ++/src/lib/libgpm.so* + /src/prog/disable-paste + /src/prog/display-buttons + /src/prog/display-coords +diff --git a/Makefile.in b/Makefile.in +index 5412334..0aa6a78 100644 +--- a/Makefile.in ++++ b/Makefile.in +@@ -102,19 +102,24 @@ TAGS: $(SRCS) $(HDRS) src/prog/gpm-root.y do-TAGS + + ### RELEASE STUFF + TARS =../gpm-$(release).tar.gz +-TARS +=../gpm-$(release).tar.bz2 ../gpm-$(release).tar.lzma ++TARS +=../gpm-$(release).tar.bz2 ../gpm-$(release).tar.xz + + M_HOST=arcana.linux.it + M_DIR=gpm/ + + tars: $(TARS) ++ chmod a+r $< + + # configure headers, produce new configure script + distconf: Makefile.in Makefile.include.in configure acinclude.m4 $(versionfiles) + + ../gpm-$(release).tar: $(srcdir) distclean distconf + # no exclude possible of .git with pax it seems, so the following is not possible: +- git archive --prefix "gpm-$(release)/" -o $@ HEAD ++ rm -rf "gpm-$(release)/" ++ git archive --prefix "gpm-$(release)/" HEAD | tar xf - ++ cd "gpm-$(release)/" && ./autogen.sh && rm -rf autom4te.cache ++ tar cf $@ "gpm-$(release)/" ++ rm -rf "gpm-$(release)/" + + ../gpm-$(release).tar.gz: ../gpm-$(release).tar + gzip -9 -c $< > $@ +@@ -122,11 +127,11 @@ distconf: Makefile.in Makefile.include.in configure acinclude.m4 $(versionfiles) + ../gpm-$(release).tar.bz2: ../gpm-$(release).tar + bzip2 -9 -c $< > $@ + +-../gpm-$(release).tar.lzma: ../gpm-$(release).tar +- lzma -9 -c $< > $@ ++../gpm-$(release).tar.xz: ../gpm-$(release).tar ++ xz -9 -c $< > $@ + + # 3. Put package together into .tar.gz and .tar.bz2 +-dist: disttest distclean distconf $(TARS) ++dist: disttest distclean distconf $(TARS) tars + scp $(TARS) $(M_HOST):$(M_DIR) + mv $(TARS) ~/niconetz/software/gpm/archives + +diff --git a/configure.ac.footer b/configure.ac.footer +index 89a4cd9..1e5e4da 100644 +--- a/configure.ac.footer ++++ b/configure.ac.footer +@@ -124,7 +124,7 @@ No|no|N|n) SHARED_LIBS=-lc ;; + done + TERMLIBS=$LIBS + LIBS= +- for i in ncurses curses; do ++ for i in ncurses curses ncursesw; do + if test x$LIBS = x; then + AC_CHECK_LIB($i, wgetch,,,$TERMLIBS) + else :; fi +diff --git a/doc/changelog b/doc/changelog +index de64bcf..1581fd1 100644 +--- a/doc/changelog ++++ b/doc/changelog +@@ -1,3 +1,7 @@ ++1.20.8: ++ * Remove lzma, use xz (Mike Frysinger) ++ * Install shared lib with +x perms (Mike Frysinger) ++ + 1.20.7: 2012-10-26 + * Fix inclusion of unwanted binary data + * Even more cleanups (Mike Frysinger) +@@ -5,7 +9,7 @@ + * Don't build static libgpm by default (Sean McGovern) + * autogen.sh is now required to create setup version in autoconf (Nico Schottelius) + +-1.20.5: 9th of February 2009 ++1.20.6: 9th of February 2009 + * Some cleanups (Mike Frysinger/Nico Schottelius) + * Pull in fcntl.h rather than unistd.h for open() (Mike Frysinger) + * Fix gcc warning "control reaches end of non-void function" (Mike Frysinger) +diff --git a/doc/doc.gpm.in b/doc/doc.gpm.in +index afd5a29..795b958 100644 +--- a/doc/doc.gpm.in ++++ b/doc/doc.gpm.in +@@ -88,7 +88,7 @@ by the Free Software Foundation. + @subtitle A general purpose mouse server for the Linux console + @subtitle @value{update-month} + +-@author by Nico Schottelius ++@author by Nico Schottelius + + @end titlepage + @setchapternewpage off +@@ -525,7 +525,7 @@ security risks when using them. + Andrew Haylett (the original selection code) + Ian Zimmerman (old maintainer) + Alessandro Rubini (old maintainer (still helps a lot)) +-Nico Schottelius (maintainer) ++Nico Schottelius (maintainer) + + Many many contributors, to both selection and gpm. + .fi +diff --git a/src/Makefile.in b/src/Makefile.in +index d3b1dcd..2f92989 100644 +--- a/src/Makefile.in ++++ b/src/Makefile.in +@@ -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 +@@ -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 +@@ -113,7 +113,7 @@ install: check + # 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@ ; \ ++ $(INSTALL_DATA) -m 755 lib/libgpm.so.@abi_full@ $(libdir)/libgpm.so.@abi_full@ ; \ + cd $(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@" ; \ +@@ -168,9 +168,8 @@ lib/libgpm.so.@abi_full@: $(PICS) + @LDFLAGS@ $(LDFLAGS) -o lib/libgpm.so.@abi_full@ $^ @LIBS@ @SHARED_LIBS@ $(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? +-#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) + +diff --git a/src/daemon/gpm.c b/src/daemon/gpm.c +index 771da5c..6806dce 100644 +--- a/src/daemon/gpm.c ++++ b/src/daemon/gpm.c +@@ -29,7 +29,7 @@ + #include /* SIGPIPE */ + #include /* time() */ + #include +-#include /* O_RDONLY */ ++#include /* O_RDONLY */ + #include /* wait() */ + #include /* mkdir() */ + #include /* timeval */ +diff --git a/src/daemon/old_main.c b/src/daemon/old_main.c +index 9cd4e56..ab7a87f 100644 +--- a/src/daemon/old_main.c ++++ b/src/daemon/old_main.c +@@ -25,6 +25,7 @@ + #include /* guess again */ + #include /* guess again */ + #include /* unlink */ ++#include /* strcpy, bzero */ + #include /* chmod */ + + #include /* linux hd* */ +@@ -192,10 +193,11 @@ int old_main() + * or to the default handler, if any + * or to the selection handler + */ /* FIXME -- check event.vc */ +- /* can't we please rewrite the following a bit nicer?*/ +- (cinfo[event.vc] && do_client(cinfo[event.vc], &event)) +- || (cinfo[0] && do_client(cinfo[0], &event)) +- || do_selection(&event); ++ if(!cinfo[event.vc] || !do_client(cinfo[event.vc], &event)) { ++ if(!cinfo[0] || !do_client(cinfo[0],&event)) { ++ do_selection(&event); ++ } ++ } + } + } + +diff --git a/src/daemon/open_console.c b/src/daemon/open_console.c +index 98297c9..6dd43e6 100644 +--- a/src/daemon/open_console.c ++++ b/src/daemon/open_console.c +@@ -21,8 +21,13 @@ + + #include /* open and co. */ + #include /* stat() */ ++#include /* major() */ + #include /* ioctl */ + ++#ifdef HAVE_SYS_SYSMACROS_H ++#include /* major() w/newer glibc */ ++#endif ++ + /* Linux specific (to be outsourced in gpm2 */ + #include /* for serial console check */ + #include /* for serial console check */ +diff --git a/src/daemon/processconn.c b/src/daemon/processconn.c +index a5839a3..e92fa63 100644 +--- a/src/daemon/processconn.c ++++ b/src/daemon/processconn.c +@@ -67,7 +67,8 @@ int processConn(int fd) + return -1; + } + +- if((vc = request->vc) > MAX_VC) { ++ vc = request->vc; ++ if(vc > MAX_VC || vc < 0) { + gpm_report(GPM_PR_DEBUG, GPM_MESS_REQUEST_ON, vc, MAX_VC); + free(info); + close(newfd); +diff --git a/src/headers/daemon.h b/src/headers/daemon.h +index a8936ad..24a1a97 100644 +--- a/src/headers/daemon.h ++++ b/src/headers/daemon.h +@@ -180,7 +180,7 @@ extern struct mouse_features mouse_table[3], + extern Gpm_Type mice[]; + extern Gpm_Type *repeated_type; + +-time_t last_selection_time; ++extern time_t last_selection_time; + + + +diff --git a/src/headers/gpm.h b/src/headers/gpm.h +index 57dc618..fe52e53 100644 +--- a/src/headers/gpm.h ++++ b/src/headers/gpm.h +@@ -280,10 +280,16 @@ int Gpm_GetSnapshot(Gpm_Event *ePtr); + char *Gpm_get_console( void ); + int Gpm_x_high_y(int base, int pot_y); + int Gpm_cnt_digits(int number); +-void gpm_oops(int line, char *file, char *text, ... ); ++#ifdef __GNUC__ ++__attribute__((__format__(printf, 3, 4))) ++#endif ++void gpm_oops(int line, const char *file, const char *text, ... ); + + /* report.c / report-lib.c */ +-void gpm_report(int line, char *file, int stat, char *text, ... ); ++#ifdef __GNUC__ ++__attribute__((__format__(printf, 4, 5))) ++#endif ++void gpm_report(int line, const char *file, int stat, const char *text, ... ); + + #ifdef __cplusplus + }; +diff --git a/src/headers/message.h b/src/headers/message.h +index a0fed0e..4b60291 100644 +--- a/src/headers/message.h ++++ b/src/headers/message.h +@@ -226,7 +226,10 @@ + /* #define GPM_MESS_ "" */ + + /* functions */ +-void gpm_report(int line, char *file, int stat, char *text, ... ); ++#ifdef __GNUC__ ++__attribute__((__format__(printf, 4, 5))) ++#endif ++void gpm_report(int line, const char *file, int stat, const char *text, ... ); + + /* rest of wd.h */ + #ifdef HAVE_SYSLOG_H +diff --git a/src/lib/liblow.c b/src/lib/liblow.c +index e789d09..8b40b71 100644 +--- a/src/lib/liblow.c ++++ b/src/lib/liblow.c +@@ -29,11 +29,12 @@ + #include /* strncmp */ + #include /* select(); */ + #include ++#include /* O_RDONLY */ ++ + #include /* timeval */ + #include /* socket() */ + #include /* socket() */ + #include /* struct sockaddr_un */ +-#include /* O_RDONLY */ + #include /* stat() */ + + #ifdef SIGTSTP /* true if BSD system */ +@@ -173,7 +174,7 @@ static void gpm_suspend_hook (int signum) + /* Reincarnation. Prepare for another death early. */ + sigemptyset(&sa.sa_mask); + sa.sa_handler = gpm_suspend_hook; +- sa.sa_flags = SA_NOMASK; ++ sa.sa_flags = SA_NODEFER; + sigaction (SIGTSTP, &sa, 0); + + /* Pop the gpm stack by closing the useless connection */ +@@ -364,7 +365,7 @@ int Gpm_Open(Gpm_Connect *conn, int flag) + + /* if signal was originally ignored, job control is not supported */ + if (gpm_saved_suspend_hook.sa_handler != SIG_IGN) { +- sa.sa_flags = SA_NOMASK; ++ sa.sa_flags = SA_NODEFER; + sa.sa_handler = gpm_suspend_hook; + sigaction(SIGTSTP, &sa, 0); + } +diff --git a/src/lib/report-lib.c b/src/lib/report-lib.c +index c0ae086..03230b4 100644 +--- a/src/lib/report-lib.c ++++ b/src/lib/report-lib.c +@@ -24,9 +24,9 @@ + + #include "headers/message.h" + +-void gpm_report(int line, char *file, int stat, char *text, ... ) ++void gpm_report(int line, const char *file, int stat, const char *text, ... ) + { +- char *string = NULL; ++ const char *string = NULL; + int log_level; + va_list ap; + +@@ -47,7 +47,7 @@ void gpm_report(int line, char *file, int stat, char *text, ... ) + log_level = LOG_CRIT; break; + } + #ifdef HAVE_VSYSLOG +- syslog(log_level, string); ++ syslog(log_level, "%s", string); + vsyslog(log_level, text, ap); + #else + fprintf(stderr,"%s[%s(%d)]:\n",string,file,line); +diff --git a/src/prog/display-buttons.c b/src/prog/display-buttons.c +index de8e5b2..38d2f11 100644 +--- a/src/prog/display-buttons.c ++++ b/src/prog/display-buttons.c +@@ -36,6 +36,7 @@ + #include /* printf() */ + #include /* time() */ + #include /* errno */ ++#include /* fd_set and FD_* */ + #include /* gpm information */ + + /* display resulting data */ +diff --git a/src/prog/display-coords.c b/src/prog/display-coords.c +index ed15c8a..82afd12 100644 +--- a/src/prog/display-coords.c ++++ b/src/prog/display-coords.c +@@ -33,10 +33,12 @@ + */ + + #include /* write, read, open */ ++#include + #include /* strtol() */ + #include /* printf() */ + #include /* time() */ + #include /* errno */ ++#include /* fd_set and FD_* */ + #include /* gpm information */ + + /* display resulting data */ +@@ -50,7 +52,7 @@ int display_data(Gpm_Event *event, void *data) + last = now; + + /* display time, delta time */ +- printf("[%d] delta: %ds",now,delta); ++ printf("[%jd] delta: %ds",(intmax_t)now,delta); + + /* display mouse information */ + printf(": x=%2i, y=%2i, dx=%2i, dy=%2i\n", event->x, event->y, event->dx, event->dy); +diff --git a/src/prog/gpm-root.y b/src/prog/gpm-root.y +index 069d801..76c896c 100644 +--- a/src/prog/gpm-root.y ++++ b/src/prog/gpm-root.y +@@ -443,6 +443,7 @@ void f__fix(struct passwd *pass) + } + + /*---------------------------------------------------------------------*/ ++#if 0 + static int f_debug_one(FILE *f, Draw *draw) + { + DrawItem *ip; +@@ -465,6 +466,7 @@ static int f_debug_one(FILE *f, Draw *draw) + #undef LINE + return 0; + } ++#endif + + int f_debug(int mode, DrawItem *self, int uid) + { +@@ -960,10 +962,8 @@ static inline void scr_dump(int fd, FILE *f, unsigned char *buffer, int vc) + /*------------*/ + static inline void scr_restore(int fd, FILE *f, unsigned char *buffer, int vc) + { +- int x,y, dumpfd; ++ int dumpfd; + char dumpname[20]; +- +- x=buffer[2]; y=buffer[3]; + + /* WILL NOT WORK WITH DEVFS! FIXME! */ + sprintf(dumpname,"/dev/vcsa%i",vc); +@@ -1196,12 +1196,8 @@ int main(int argc, char **argv) + LOG_DAEMON : LOG_USER); + /* reap your zombies */ + childaction.sa_handler=reap_children; +-#if defined(__GLIBC__) +- __sigemptyset(&childaction.sa_mask); +-#else /* __GLIBC__ */ +- childaction.sa_mask=0; +-#endif /* __GLIBC__ */ +- childaction.sa_flags=SA_INTERRUPT; /* need to break the select() call */ ++ sigemptyset(&childaction.sa_mask); ++ childaction.sa_flags=0; + sigaction(SIGCHLD,&childaction,NULL); + + /*....................................... Connect and get your buffer */ +diff --git a/src/prog/mouse-test.c b/src/prog/mouse-test.c +index 0bb1982..d7d1027 100644 +--- a/src/prog/mouse-test.c ++++ b/src/prog/mouse-test.c +@@ -182,14 +182,14 @@ Gpm_Type *(*I_serial)(int fd, unsigned short flags, struct Gpm_Type *type, + /*----------------------------------------------------------------------------- + Place the description here. + -----------------------------------------------------------------------------*/ +-int mousereopen(int oldfd, char *name, Gpm_Type *type) ++int mousereopen(int oldfd, const char *name, Gpm_Type *type) + { + int fd; + if (!type) type=mice+1; /* ms */ + close(oldfd); + usleep(100000); + fd=open(name,O_RDWR); +- if (fd < 0) gpm_report(GPM_PR_OOPS,name); ++ if (fd < 0) gpm_report(GPM_PR_OOPS, "%s", name); + (*I_serial)(fd,type->flags,type,1,&type->name); /* ms initialization */ + return fd; + } +diff --git a/src/report.c b/src/report.c +index 6c7c2ee..286c1b7 100644 +--- a/src/report.c ++++ b/src/report.c +@@ -69,7 +69,7 @@ + * + */ + +-void gpm_report(int line, char *file, int stat, char *text, ... ) ++void gpm_report(int line, const char *file, int stat, const char *text, ...) + { + FILE *console = NULL; + va_list ap, ap3; +diff --git a/src/synaptics.c b/src/synaptics.c +index 2418c75..a978ef0 100644 +--- a/src/synaptics.c ++++ b/src/synaptics.c +@@ -214,6 +214,7 @@ + #include + #include + #include ++#include + #include + #include + +@@ -2241,8 +2242,7 @@ static void syn_process_config (info_type ident, + + + +-static unsigned char tp_hextoint (unsigned char byte1, +- unsigned char byte2) ++static unsigned char tp_hextoint (unsigned byte1,unsigned byte2) + { + unsigned char bytes [3]; + int result; +@@ -2250,7 +2250,7 @@ static unsigned char tp_hextoint (unsigned char byte1, + bytes [0] = byte1; + bytes [1] = byte2; + bytes [2] = '\0'; +- sscanf (bytes, "%x", &result); ++ sscanf ((char *)bytes, "%x", &result); + return result; + } + +@@ -2311,8 +2311,7 @@ static void tp_serial_read (int fd, + } + + /* Write a string of commands */ +-static void tp_serial_send_cmd(int fd, +- unsigned char *cmd) ++static void tp_serial_send_cmd(int fd, const char *cmd) + { + unsigned char junk [15]; + +@@ -2329,7 +2328,7 @@ static void tp_serial_send_cmd(int fd, + static void syn_serial_set_mode (int fd, + unsigned char mode) + { +- unsigned char bytes [15]; ++ char bytes [15]; + + sprintf (bytes, "%%C3B%02X5555", mode); + #if DEBUG_SENT_DATA +diff --git a/src/twiddler.c b/src/twiddler.c +index 1d2bd50..972a616 100644 +--- a/src/twiddler.c ++++ b/src/twiddler.c +@@ -250,7 +250,6 @@ static inline int twiddler_use_item(char *item) + int twiddler_key(unsigned long message) + { + char **table = twiddler_get_table(message); +- char *val; + /* + * These two are needed to avoid transmitting single keys when typing + * chords. When the number of keys being held down decreases, data +@@ -269,7 +268,6 @@ int twiddler_key(unsigned long message) + + if (!table) return 0; + message &= 0xff; +- val = table[message]; + + if ((message < last_message) && !marked) { /* ok, do it */ + marked++; /* don't retransmit on release */ +@@ -428,8 +426,11 @@ char *twiddler_rest_to_value(char *s) + buf[ibuf]='\0'; + return strdup(buf); + } +- if (*ptr == '\\') +- return (char *)twiddler_escape_sequence(ptr+1, &len /* unused */); ++ if (*ptr == '\\') { ++ buf[ibuf++] = twiddler_escape_sequence(ptr+1, &len /* unused */); ++ buf[ibuf] = '\0'; ++ return strdup(buf); ++ } + + if (strlen(ptr)==1) return ((char *)((unsigned long)*ptr & 0xFF)); + diff --git a/SOURCES/gpm-1.20.1-lib-silent.patch b/SOURCES/gpm-1.20.1-lib-silent.patch new file mode 100644 index 0000000..c12da41 --- /dev/null +++ b/SOURCES/gpm-1.20.1-lib-silent.patch @@ -0,0 +1,19 @@ +--- gpm-1.20.1/src/lib/report-lib.c.lib-silent 2002-12-24 23:57:16.000000000 +0100 ++++ gpm-1.20.1/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, const char *file, int stat, const char *text, ... ) + { ++ if ( gpm_silent() && stat != GPM_STAT_OOPS ) ++ return; ++ + const char *string = NULL; + int log_level; + va_list ap; diff --git a/SOURCES/gpm-1.20.1-weak-wgetch.patch b/SOURCES/gpm-1.20.1-weak-wgetch.patch new file mode 100644 index 0000000..e1901a6 --- /dev/null +++ b/SOURCES/gpm-1.20.1-weak-wgetch.patch @@ -0,0 +1,26 @@ +--- gpm-1.20.1/src/lib/libcurses.c.weak-wgetch 2002-12-24 17:57:16.000000000 -0500 ++++ gpm-1.20.1/src/lib/libcurses.c 2004-03-22 15:51:24.000000000 -0500 +@@ -41,7 +41,12 @@ + #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 ++#pragma weak stdscr ++ ++#define GET(win) ((win && wgetch) ? wgetch(win) : getch()) + + int Gpm_Wgetch(WINDOW *win) + { +--- gpm-1.20.1/configure.ac.weak-wgetch 2004-03-22 15:49:51.000000000 -0500 ++++ gpm-1.20.1/configure.ac.footer 2004-03-22 15:51:24.000000000 -0500 +@@ -115,7 +115,7 @@ + AC_CHECK_LIB($i, wgetch,,,$TERMLIBS) + else :; fi + done +- SHARED_LIBS="$LIBS $TERMLIBS -lc" ++ SHARED_LIBS="-lc" + LIBS=$SAVELIBS ;; + esac diff --git a/SOURCES/gpm-1.20.5-close-fds.patch b/SOURCES/gpm-1.20.5-close-fds.patch new file mode 100644 index 0000000..f33f07c --- /dev/null +++ b/SOURCES/gpm-1.20.5-close-fds.patch @@ -0,0 +1,17 @@ +diff -up gpm-1.20.5/src/daemon/startup.c.close-fds gpm-1.20.5/src/daemon/startup.c +--- gpm-1.20.5/src/daemon/startup.c.close-fds 2008-06-13 10:08:19.000000000 +0200 ++++ gpm-1.20.5/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 ***********************/ diff --git a/SOURCES/gpm-1.20.6-multilib.patch b/SOURCES/gpm-1.20.6-multilib.patch new file mode 100644 index 0000000..820db88 --- /dev/null +++ b/SOURCES/gpm-1.20.6-multilib.patch @@ -0,0 +1,45 @@ +diff -up gpm-1.20.6/contrib/Makefile.in.multilib gpm-1.20.6/contrib/Makefile.in +--- gpm-1.20.6/contrib/Makefile.in.multilib 2008-06-19 07:48:48.000000000 +0200 ++++ gpm-1.20.6/contrib/Makefile.in 2009-02-24 10:36:09.000000000 +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 +diff -up gpm-1.20.6/doc/Makefile.in.multilib gpm-1.20.6/doc/Makefile.in +--- gpm-1.20.6/doc/Makefile.in.multilib 2009-02-09 10:58:53.000000000 +0100 ++++ gpm-1.20.6/doc/Makefile.in 2009-02-24 10:36:09.000000000 +0100 +@@ -130,8 +130,8 @@ install: all installdirs + #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 ++ #-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. + diff --git a/SOURCES/gpm-1.20.7-covscan.patch b/SOURCES/gpm-1.20.7-covscan.patch new file mode 100644 index 0000000..f10e66a --- /dev/null +++ b/SOURCES/gpm-1.20.7-covscan.patch @@ -0,0 +1,115 @@ +diff --git a/src/daemon/check_uniqueness.c b/src/daemon/check_uniqueness.c +index 4972413..d0eb4e4 100644 +--- a/src/daemon/check_uniqueness.c ++++ b/src/daemon/check_uniqueness.c +@@ -36,6 +36,7 @@ void check_uniqueness(void) + + if((fp = fopen(GPM_NODE_PID, "r")) != NULL) { + fscanf(fp, "%d", &old_pid); ++ fclose(fp); + if (kill(old_pid,0) == -1) { + gpm_report(GPM_PR_INFO,GPM_MESS_STALE_PID, GPM_NODE_PID); + unlink(GPM_NODE_PID); +diff --git a/src/lib/liblow.c b/src/lib/liblow.c +index 8b40b71..d197dae 100644 +--- a/src/lib/liblow.c ++++ b/src/lib/liblow.c +@@ -250,9 +250,9 @@ int Gpm_Open(Gpm_Connect *conn, int flag) + memcpy(tty, consolename, strlen(consolename)-1); + sprintf(&tty[strlen(consolename) - 1], "%i", flag); + } else if (flag==0) { /* use your current vc */ +- if (isatty(0)) tty = ttyname(0); /* stdin */ +- if (!tty && isatty(1)) tty = ttyname(1); /* stdout */ +- if (!tty && isatty(2)) tty = ttyname(2); /* stderr */ ++ if (isatty(0) && ttyname(0)) tty = strdup(ttyname(0)); /* stdin */ ++ if (!tty && isatty(1) && ttyname(1)) tty = strdup(ttyname(1)); /* stdout */ ++ if (!tty && isatty(2) && ttyname(2)) tty = strdup(ttyname(2)); /* stderr */ + if (tty == NULL) { + gpm_report(GPM_PR_ERR,"checking tty name failed"); + goto err; +@@ -373,10 +373,12 @@ int Gpm_Open(Gpm_Connect *conn, int flag) + #endif + + } ++ if (tty) free(tty); + return gpm_fd; + + /*....................................... Error: free all memory */ + err: ++ if (tty) free(tty); + if (gpm_is_disabled < 2) /* be quiet if no gpmctl socket found */ + gpm_report(GPM_PR_ERR,"Oh, oh, it's an error! possibly I die! "); + while(gpm_stack) { +diff --git a/src/lib/report-lib.c b/src/lib/report-lib.c +index 03230b4..ff74b8c 100644 +--- a/src/lib/report-lib.c ++++ b/src/lib/report-lib.c +@@ -63,5 +63,6 @@ void gpm_report(int line, const char *file, int stat, const char *text, ... ) + fprintf(stderr,"\n"); + #endif + ++ va_end(ap); + if(stat == GPM_STAT_OOPS) exit(1); /* may a lib function call exit ???? */ + } +diff --git a/src/mice.c b/src/mice.c +index 6cbd491..090dfed 100644 +--- a/src/mice.c ++++ b/src/mice.c +@@ -905,7 +905,7 @@ static int M_wacom(Gpm_Event *state, unsigned char *data) + } else { /* Relative Mode */ + /* Treshold; if greather then treat tool as first time in proximity */ + if( abs(x-ox)>(wmaxx/wcmodell[WacomModell].treshold) +- || abs(y-oy)>(wmaxy/wcmodell[WacomModell].treshold) ) ox=x; oy=y; ++ || abs(y-oy)>(wmaxy/wcmodell[WacomModell].treshold) ) { ox=x; oy=y; } + + state->dx= (x-ox) / (wmaxx / win.ws_col / wcmodell[WacomModell].treshold); + state->dy= (y-oy) / (wmaxy / win.ws_row / wcmodell[WacomModell].treshold); +diff --git a/src/prog/gpm-root.y b/src/prog/gpm-root.y +index 76c896c..ded326a 100644 +--- a/src/prog/gpm-root.y ++++ b/src/prog/gpm-root.y +@@ -555,12 +555,15 @@ int f_jptty(int mode, DrawItem *self, int uid) + } /*if*/ + if (ioctl(fd, VT_ACTIVATE, i)<0) { + gpm_report(GPM_PR_ERR, "%s: %s", consolename,strerror(errno)); ++ close(fd); + return 1; + } /*if*/ + if (ioctl(fd, VT_WAITACTIVE, i)<0) { + gpm_report(GPM_PR_ERR, "%s: %s", consolename,strerror(errno)); ++ close(fd); + return 1; + } ++ close(fd); + default: return 0; + } + return 0; /* silly gcc -Wall */ +@@ -586,14 +589,17 @@ int f_mktty(int mode, DrawItem *self, int uid) + } /*if*/ + if (ioctl(fd, VT_OPENQRY, &vc)<0) { + gpm_report(GPM_PR_ERR, "%s: %s",consolename, strerror(errno)); ++ close(fd); + return 1; + } /*if*/ + switch(pid=fork()) { + case -1: + gpm_report(GPM_PR_ERR, "fork(): %s", strerror(errno)); ++ close(fd); + return 1; + case 0: /* child: exec getty */ + sprintf(name,"tty%i",vc); ++ close(fd); + execl("/sbin/mingetty","mingetty",name,(char *)NULL); + exit(1); /* shouldn't happen */ + default: /* father: jump to the tty */ +@@ -601,8 +607,10 @@ int f_mktty(int mode, DrawItem *self, int uid) + ,pid,vc); + consolepids[vc]=pid; + sprintf(self->arg,"%i",vc); ++ close(fd); + return f_jptty(mode,self,uid); + } ++ close(fd); + default: return 0; + } + return 0; diff --git a/SOURCES/gpm-1.20.7-rhbz-668480-gpm-types-7-manpage-fixes.patch b/SOURCES/gpm-1.20.7-rhbz-668480-gpm-types-7-manpage-fixes.patch new file mode 100644 index 0000000..6199462 --- /dev/null +++ b/SOURCES/gpm-1.20.7-rhbz-668480-gpm-types-7-manpage-fixes.patch @@ -0,0 +1,30 @@ +diff -Naur gpm-1.20.7.orig/doc/doc.gpm.in gpm-1.20.7/doc/doc.gpm.in +--- gpm-1.20.7.orig/doc/doc.gpm.in 2012-10-26 23:21:38.000000000 +0200 ++++ gpm-1.20.7/doc/doc.gpm.in 2013-07-19 19:40:33.374213536 +0200 +@@ -600,7 +600,7 @@ + that one of @t{\-o dtr}, @t{\-o rts}, @t{\-o both} can be specified to + toggle the control lines of the serial port. + +-The following mouse type are corrently recognized: ++The following mouse type are currently recognized: + + @table @code + @item bare Microsoft +@@ -621,7 +621,7 @@ + this is your case, use the @samp{bare} mouse type. Some new + two-button devices are ``plug and play'', and they don't play + fair at all; in this case try @t{\-t pnp}. Many (most) +- three-button devices that use the microsoft protocol fail to ++ three-button devices that use the Microsoft protocol fail to + report some middle-button events during mouse motion. Since + the protocol does not distinguish between the middle button + going up and the middle button going down it would be liable +@@ -649,7 +649,7 @@ + decoder gets into a confused state where it thinks the middle + button is up when it's down and vice versa. (If you get sick + of having to do this, please don't blame gpm; blame your buggy +- mouse! Note that most three-button mice that do the microsoft ++ mouse! Note that most three-button mice that do the Microsoft + protocol can be made to do the MouseSystems protocol + instead. The ``3 Button Serial Mouse mini-HOWTO'' has + information about this.) This mouse decoder accepts standard diff --git a/SOURCES/gpm.service b/SOURCES/gpm.service new file mode 100644 index 0000000..23007fc --- /dev/null +++ b/SOURCES/gpm.service @@ -0,0 +1,15 @@ +[Unit] +Description=Console Mouse manager +ConditionVirtualization=!container + +# 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] +ExecStart=/usr/sbin/gpm -m /dev/input/mice -t exps2 +Type=forking +PIDFile=/run/gpm.pid + +[Install] +WantedBy=multi-user.target diff --git a/SPECS/gpm.spec b/SPECS/gpm.spec new file mode 100644 index 0000000..88873d3 --- /dev/null +++ b/SPECS/gpm.spec @@ -0,0 +1,814 @@ +Summary: A mouse server for the Linux console +Name: gpm +Version: 1.20.7 +Release: 29%{?dist} +License: GPLv2 and OFSFDL +URL: http://www.nico.schottelius.org/software/gpm/ +#URL2 : http://freecode.com/projects/gpm + +# The upstream source contains PDF docs with unclear licensing, +# and that's why we need to remove them and recreate the tarball +# +# 1.] mkdir docs-removal && cd docs-removal +# 2.] wget http://www.nico.schottelius.org/software/gpm/archives/%%{name}-%%{version}.tar.lzma +# 3.] tar xf %%{name}-%%{version}.tar.lzma +# 4.] rm -rf %%{name}-%%{version}/doc/specs +# 5.] tar cJf %%{name}-%%{version}.tar.xz %%{name}-%%{version} + +Source: %{name}-%{version}.tar.xz +Source1: gpm.service +Patch0: https://github.com/telmich/gpm/compare/1.20.7...e82d1a653ca94aa4ed12441424da6ce780b1e530.diff +Patch1: gpm-1.20.6-multilib.patch +Patch2: gpm-1.20.1-lib-silent.patch +Patch4: gpm-1.20.5-close-fds.patch +Patch5: gpm-1.20.1-weak-wgetch.patch +Patch7: gpm-1.20.7-rhbz-668480-gpm-types-7-manpage-fixes.patch +Patch8: gpm-1.20.7-covscan.patch + +# Disabled, need to be reviewed +#Patch9: gpm-1.20.6-capability.patch + +Requires(post): systemd info +Requires(preun): systemd info +Requires(postun): systemd +# this defines the library version that this package builds. +%define LIBVER 2.1.0 +BuildRequires: sed gawk texinfo bison ncurses-devel autoconf automake libtool libcap-ng-devel +BuildRequires: systemd +BuildRequires: make +Requires: linuxconsoletools +Requires: %{name}-libs = %{version}-%{release} + +%description +Gpm provides mouse support to text-based Linux applications like the +Emacs editor and the Midnight Commander file management system. Gpm +also provides console cut-and-paste operations using the mouse and +includes a program to allow pop-up menus to appear at the click of a +mouse button. + +%package libs +Summary: Dynamic library for gpm + +%description libs +This package contains the libgpm.so dynamic library which contains +the gpm system calls and library functions. + +%package devel +Requires: %{name} = %{version}-%{release} +Requires: %{name}-libs = %{version}-%{release} +Summary: Development files for the gpm library + +%description devel +The gpm-devel package includes header files and libraries necessary +for developing programs which use the gpm library. The gpm provides +mouse support to text-based Linux applications. + +%package static +Requires: %{name} = %{version}-%{release} +Summary: Static development files for the gpm library + +%description static +The gpm-static package includes static libraries of gpm. The gpm provides +mouse support to text-based Linux applications. + + +%prep +%setup -q + +%patch0 -p1 -b .master +%patch1 -p1 -b .multilib +%patch2 -p1 -b .lib-silent +%patch4 -p1 -b .close-fds +%patch5 -p1 -b .weak-wgetch +%patch7 -p1 -b .manpage +%patch8 -p1 -b .covscan +#patch9 -p1 -b .capability + +%build +./autogen.sh +%configure +%make_build + +%install +%make_install + +chmod 0755 %{buildroot}/%{_libdir}/libgpm.so.%{LIBVER} +ln -sf libgpm.so.%{LIBVER} %{buildroot}/%{_libdir}/libgpm.so + +rm -f %{buildroot}%{_datadir}/emacs/site-lisp/t-mouse.el + +%ifnarch s390 s390x +mkdir -p %{buildroot}%{_sysconfdir}/rc.d/init.d +mkdir -p %{buildroot}%{_unitdir} +install -m 644 conf/gpm-* %{buildroot}%{_sysconfdir} +# Systemd +mkdir -p %{buildroot}%{_unitdir} +install -m644 %{SOURCE1} %{buildroot}%{_unitdir} +rm -rf %{buildroot}%{_initrddir} +%else +# we're shipping only libraries in s390[x], so +# remove stuff from the buildroot that we aren't shipping +rm -rf %{buildroot}%{_sbindir} +rm -rf %{buildroot}%{_bindir} +rm -rf %{buildroot}%{_mandir} +%endif + +%post +%ifnarch s390 s390x +%systemd_post gpm.service +%endif + +%preun +%ifnarch s390 s390x +%systemd_preun gpm.service +%endif + +%postun +%ifnarch s390 s390x +%systemd_postun_with_restart gpm.service +%endif + +%ldconfig_scriptlets libs + +%files +%doc COPYING README TODO +%doc doc/README* doc/FAQ doc/Announce doc/changelog +%{_infodir}/* +%ifnarch s390 s390x +%config(noreplace) %{_sysconfdir}/gpm-* +%{_unitdir}/gpm.service +%{_sbindir}/* +%{_bindir}/* +%{_mandir}/man?/* +%endif + +%files libs +%{_libdir}/libgpm.so.* + +%files devel +%{_includedir}/* +%{_libdir}/libgpm.so + +%files static +%{_libdir}/libgpm.a + +%changelog +* Mon Aug 16 2021 Jiri Kucera - 1.20.7-29 +- Review covscan issues + Resolves: #1938733 + +* Mon Aug 09 2021 Mohan Boddu - 1.20.7-28 +- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags + Related: rhbz#1991688 + +* Thu Apr 15 2021 Mohan Boddu - 1.20.7-27 +- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937 + +* Wed Mar 24 2021 Jiri Kucera - 1.20.7-26 +- Fix License tag + +* Tue Jan 26 2021 Fedora Release Engineering - 1.20.7-25 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Tue Jul 28 2020 Fedora Release Engineering - 1.20.7-24 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Wed Jun 24 2020 Zbigniew Jędrzejewski-Szmek - 1.20.7-23 +- Do not run gpm in the container (#1524034) + +* Thu Jun 18 2020 Sérgio Basto - 1.20.7-22 +- Two patches have been upstreamed + +* Sat Feb 22 2020 Sérgio Basto - 1.20.7-21 +- Better comments in spec file + +* Wed Jan 29 2020 Fedora Release Engineering - 1.20.7-20 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild +- Add upstream commits for git master which contains patches 9, 10 and 11 +- Add GCC10 fix +- Cleanups + +* Thu Jul 25 2019 Fedora Release Engineering - 1.20.7-19 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Sun Mar 24 2019 Sérgio Basto - 1.20.7-18 +- updating /var/run/gpm.pid → /run/gpm.pid (rhbz #1692104) + +* Fri Feb 01 2019 Fedora Release Engineering - 1.20.7-17 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Fri Jul 13 2018 Fedora Release Engineering - 1.20.7-16 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Fri Feb 23 2018 Florian Weimer - 1.20.7-15 +- Use default build flags (PIE works now) + +* Wed Feb 07 2018 Fedora Release Engineering - 1.20.7-14 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Tue Oct 10 2017 Merlin Mathesius - 1.20.7-13 +- Include upstream pull request patches to fix FTBFS (BZ#1500092) + +* Wed Aug 02 2017 Fedora Release Engineering - 1.20.7-12 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + +* Wed Jul 26 2017 Fedora Release Engineering - 1.20.7-11 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Fri Feb 10 2017 Fedora Release Engineering - 1.20.7-10 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Wed Feb 03 2016 Fedora Release Engineering - 1.20.7-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Mon Nov 23 2015 Zbigniew Jędrzejewski-Szmek - 1.20.7-8 +- Drop old scriptlets causing FTBFS with new rpm + +* Wed Jun 17 2015 Fedora Release Engineering - 1.20.7-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Sat Aug 16 2014 Fedora Release Engineering - 1.20.7-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild + +* Sat Jun 07 2014 Fedora Release Engineering - 1.20.7-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Wed Feb 05 2014 Jaromir Capik - 1.20.7-4 +- Fixing format-security flaws (#1037099) + +* Wed Aug 07 2013 Jaromir Capik - 1.20.7-3 +- Removing PDF docs with unclear licensing from the source archive +- Fixing the license tag + +* Sat Aug 03 2013 Fedora Release Engineering - 1.20.7-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild + +* Fri Jul 19 2013 Jaromir Capik - 1.20.7-1 +- Update to 1.20.7 + +* Wed Jul 03 2013 Jaromir Capik - 1.20.6-33 +- Replacing systemd unit path with _unitdir macro + +* Wed Jul 03 2013 Jaromir Capik - 1.20.6-32 +- Fixing full RELRO ... bind_now -> now (#884017) + +* Mon Apr 08 2013 Jaromir Capik - 1.20.6-31 +- fixing bogus dates in the changelog + +* Thu Mar 28 2013 Jaromir Capik - 1.20.6-30 +- aarch64 support (#925474) + +* Wed Mar 06 2013 Jaromir Capik - 1.20.6-29 +- Removing OPTFLAGS +- Introducing full RELRO +- Missing header dir in Makefile.in / depend +- Fixing UsrMove for i686 (mv -f says 'directory not empty') + +* Wed Mar 06 2013 Jaromir Capik - 1.20.6-28 +- Adding missing requires +- Passing OPTFLAGS to make +- UsrMove + +* Thu Feb 14 2013 Fedora Release Engineering - 1.20.6-27 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild + +* Thu Jan 03 2013 Jaromir Capik - 1.20.6-26 +- Removing bundled 'inputattach' tool (#875604) +- ...gonna be shipped separately (linuxconsoletools) + +* Mon Sep 17 2012 Václav Pavlín - 1.20.6-25 +- Scriptlets replaced with new systemd macros (#850134) + +* Thu Jul 19 2012 Fedora Release Engineering - 1.20.6-24 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Mon Apr 16 2012 Peter Hutterer 1.20.6-23 +- Add w8001 support to inputattach (#645235) + +* Tue Jan 24 2012 Nikola Pajkovsky - 1.20.6-22 +- 668480 - gpm-types(7) manpage fixes + +* Tue Jan 24 2012 Nikola Pajkovsky - 1.20.6-21 +- 753627 - Get an error message when installing the gpm package via yum + +* Fri Jan 13 2012 Fedora Release Engineering - 1.20.6-20 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild + +* Sun Dec 4 2011 Ville Skyttä - 1.20.6-19 +- Move scriptlet ldconfig calls from main package to -libs. + +* Fri Aug 05 2011 Nikola Pajkovsky 1.20.6-18 +- unpackaged files (do not install t-mouse.el) + +* Tue Jul 26 2011 Jóhann B. Guðmundsson - 1.20.6-17 +- Drop SysV support + +* Thu May 05 2011 Bill Nottingham 1.20.6-16 +- Fix systemd scriptlets + +* Tue Feb 08 2011 Fedora Release Engineering - 1.20.6-15 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + +* Mon Oct 25 2010 Nikola Pajkovsky 1.20.6-14 +- fix url and source0(yaneti@declera.com) + +* Tue Oct 19 2010 Nikola Pajkovsky 1.20.6-13 +- 644318 - Incomplete systemd service file for gpm(yaneti@declera.com) + +* Mon Oct 18 2010 Nikola Pajkovsky 2.20.6-12 +- disable debuging mode in gpm.service + +* Thu Aug 19 2010 Nikola Pajkovsky 1.20.6-11 +- Resolved: #617327, #622665, #624253 + +* Wed Aug 11 2010 Nikola Pajkovsky 1.20.6-10 +- Providing native systemd file for upcoming F14 Feature Systemd + +* Thu Dec 10 2009 Nikola Pajkovsky 1.20.6-9 +- add try-restart into gpm.init to be more LSB-compilant + +* Thu Nov 19 2009 Nikola Pajkovsky 1.20.6-8 +- drop patch7 +- resolved #537724(does not work with capabilities) + +* Wed Sep 30 2009 Nikola Pajkovsky 1.20.6-7 +- add BuildRequires: libcap-ng-devel +- fix patch .capability + +* Thu Aug 20 2009 Zdenek Prikryl 1.20.6-6 +- Don't complain if installing with --excludedocs (#515927) +- Drop unnecessary capabilities in gpm (#517659) + +* Wed Aug 12 2009 Ville Skyttä - 1.20.6-5 +- Use lzma compressed upstream tarball. + +* Fri Jul 24 2009 Fedora Release Engineering - 1.20.6-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild + +* Tue Apr 14 2009 Zdenek Prikryl 1.20.6-3 +- created new subpackage gpm-libs (#495124) + +* Tue Feb 24 2009 Zdenek Prikryl - 1.20.6-2 +- Fixed gpm.info.gz building + +* Tue Feb 03 2009 Zdenek Prikryl - 1.20.6-1 +- Spec review (#225856) +- Updated to 1.20.6 + +* Tue Dec 02 2008 Zdenek Prikryl - 1.20.5-2 +- Fixed debug mode (#473422) +- Fixed description in init script (#474337) + +* Thu Jul 17 2008 Zdenek Prikryl - 1.20.5-1 +- Updated to 1.20.5 +- Removed doc patch +- Removed lisp stuff, it is part of emacs-common now +- Spec clean up + +* Wed Jun 04 2008 Zdenek Prikryl - 1.20.3-2 +- Enable gpm in runlevel 5 + +* Thu May 29 2008 Zdenek Prikryl - 1.20.3-1 +- Updated to 1.20.3 +- Fixed init script to comply with LSB standard (#246937) +- Mass patch cleanup +- Fixed typo in doc (#446679) + +* Wed Feb 20 2008 Fedora Release Engineering - 1.20.1-90 +- Autorebuild for GCC 4.3 + +* Fri Aug 24 2007 Tomas Janousek - 1.20.1-89 +- license tag update (and rebuild for BuildID, etc.) + +* Wed Jul 25 2007 Jesse Keating - 1.20.1-88 +- Rebuild for RH #249435 + +* Tue Jul 24 2007 Tomas Janousek - 1.20.1-87 +- replace OPEN_MAX with sysconf(_SC_OPEN_MAX), fixing build with 2.6.23 kernel + +* Tue Jul 24 2007 Tomas Janousek - 1.20.1-86 +- don't install t-mouse.el, emacs-common contains a newer version, + fixes #249362 + +* Fri Jun 29 2007 Tomas Janousek - 1.20.1-85 +- applied patch for #246219, fixing segfault with vsyslog on x86_64 + +* Wed May 23 2007 Tomas Janousek - 1.20.1-84 +- applied patch for #240389, fixing default handlers + +* Thu May 03 2007 Tomas Janousek - 1.20.1-83 +- gpm-devel now requires version-release correctly, fixes #238785 + +* Mon Apr 02 2007 Tomas Janousek - 1.20.1-82 +- updated inputattach.c to 1.24 from cvs, fixes #231635 + +* Fri Mar 23 2007 Tomas Janousek - 1.20.1-81 +- the patch for #168076 caused a strange behaviour with ncurses, fixed it + differently + +* Mon Jan 22 2007 Tomas Janousek - 1.20.1-80 +- forgot to add the patch for #168076 + +* Mon Jan 22 2007 Tomas Janousek - 1.20.1-79 +- added disttag to release + +* Mon Jan 22 2007 Tomas Janousek - 1.20.1-78 +- refuse connections while waiting for console, fixes #168076 + +* Mon Jan 22 2007 Tomas Janousek - 1.20.1-77 +- #223696: non-failsafe install-info use in scriptlets + +* Tue Oct 10 2006 Petr Rockai - 1.20-1-76 +- align sleeps to tick boundary, should reduce cpu wakeups + on laptops, fixes #205064 (patch by Arjan van de Ven) +- disable gpm altogether in runlevel 5, it is probably not + worth the overhead considering it is barely used at all + +* Fri Sep 22 2006 Petr Rockai - 1.20.1-75 +- fix a bug where gpm daemon kept stdin/out/err open after + detaching from terminal, causing eg. pipes from initscript + to hang for the lifetime of gpm + +* Wed Jul 12 2006 Jesse Keating - 1.20.1-74.1 +- rebuild + +* Wed Jun 7 2006 Jeremy Katz - 1.20.1-74 +- rebuild for -devel deps + +* Mon Feb 13 2006 Petr Rockai - 1.20.1-73.3 +- rebuild due to failure on x86-64 (possibly a glitch?) + +* Fri Feb 10 2006 Jesse Keating - 1.20.1-73.2 +- bump again for double-long bug on ppc(64) + +* Tue Feb 07 2006 Jesse Keating - 1.20.1-73.1 +- rebuilt for new gcc4.1 snapshot and glibc changes + +* Wed Jan 18 2006 Petr Rockai 1.20.1-73 +- do not ooops in gpm when console device cannot be found, print + an error message instead and exit(1), as per BR 140025, 176178 +- do not print messages in libgpm, unless envvar GPM_VERBOSE + is set -- avoids unwanted clutter from libgpm in apps like dialog + or mc when gpm is not available + +* Thu Dec 22 2005 Jesse Keating 1.20.1-72 +- rebuilt again + +* Fri Dec 09 2005 Jesse Keating +- rebuilt +- added autoconf as a BuildReq + +* Fri Mar 04 2005 Petr Rockai +- rebuilt + +* Mon Feb 14 2005 Adrian Havill +- rebuilt + +* Thu Oct 21 2004 Adrian Havill 1.20.1-66 +- avoid spawning multiple copies of inputattach, and kill process + when gpm shuts down (#135776) + +* Wed Oct 20 2004 Bill Nottingham 1.20.1-65 +- remove buildroot paths from gpm.info, fixing #135305 + +* Wed Oct 20 2004 Adrian Havill 1.20.1-64 +- fixing multilib conflict (#135305): + o remove buildsys check/conditional for gziping info pages (let rpm + do it) + o don't pre-byte-compile emacs code + +* Thu Oct 14 2004 Bill Nottingham 1.20.1-62 +- fix remaining sourcing of /etc/sysconfig/gpm (#135776) + +* Wed Oct 13 2004 Adrian Havill 1.20.1-61 +- remove unnecessary diagnostic and check of the consolename (#129962) +- remove /etc/sysconfig/gpm; set unset defaults in the init script instead + after mousecfg is (or is not) read + +* Wed Oct 13 2004 Florian La Roche +- sysconfig/gpm should probably go away, that is more confusing than + helping anyone +- read at least sysconfig/gpm first as it seems to have the default values + and sysconfig/mouse is getting probed values and probably has better + settings in it. + +* Tue Oct 12 2004 Adrian Havill 1.20.1-57 +- read both the sysconfig/mouse and sysconfig/gpm (preferrence to gpm + settings), not just one of them, if both exist (#134389) + +* Tue Oct 12 2004 Florian La Roche +- remove gzip of info pages within .spec file, #135305 + +* Sat Oct 09 2004 Florian La Roche +- initscript cleanup + +* Thu Sep 23 2004 Adrian Havill 1.20.1-54 +- change init so that MOUSECFG fallsback to /etc/sysconfig/gpm if + /etc/sysconfig/mouse doesn't exist (#133141) +- fixed compile vs new kernheaders (#131783) + +* Tue May 04 2004 Adrian Havill 1.20.1-49 +- remove superfluous "i die" msg (#121845) + +* Tue May 04 2004 Adrian Havill 1.20.1-48 +- restore gpmopen() NULL check that was removed with the + evdev superpatch (#118554) + +* Fri Apr 16 2004 Adrian Havill 1.20.1-47 +- make presence of t-mouse.el flexible (#120958) + +* Wed Mar 31 2004 Adrian Havill 1.20.1-46 +- revise nodebug patch as liblow reporting the VC to the console through + stderr has re-appeared (#117676) + +* Mon Mar 22 2004 Adrian Havill 1.20.1-45 +- remove circular ncurses dep for prelink by restoring wgetch + patch (#117150) + +* Wed Mar 17 2004 Bill Nottingham 1.20.1-44 +- include inputattach +- if configured mouse has IMOUSETYPE, use inputattach + +* Tue Mar 02 2004 Elliot Lee +- rebuilt + +* Thu Feb 26 2004 Adrian Havill 1.20.1-43 +- add event device (for 2.6 kernel) superpatch-- includes all + patches up to release 38; thanks to Dmitry Torokhov +- change default mouse device over to /dev/input/mice +- set mouse type to Intellimouse Explorer (exps2), which is what + the 2.6 kernel exports by default + +* Sat Feb 14 2004 Florian La Roche +- already add shared lib symlinks at install time +- fix subscript #114289 + +* Fri Feb 13 2004 Elliot Lee +- rebuilt + +* Tue Nov 18 2003 Adrian Havill 1.20.1-39 +- re-add the $OPTIONS that gets pulled in from /etc/sysconfig/gpm + to the init.d script (#110248) + +* Thu Aug 07 2003 Adrian Havill 1.20.1-38 +- Gpm_Open() NULL deref revisited (#101104). Patch by + +* Wed Jul 30 2003 Adrian Havill 1.20.1-37 +- removed auto-add of repeat with -M (#84310) + +* Tue Jul 29 2003 Adrian Havill 1.20.1-36 +- fixed grammar typos in the init script (#89109) +- don't deref NULL string in Gpm_Open (#101104) + +* Wed Jul 02 2003 Adrian Havill 1.20.1-35 +- remove debug output from gpm_report() to prevent spurious + debugging msgs even when not in debug mode (#98210) + +* Thu Jun 26 2003 Adrian Havill 1.20.1-33 +- reversed -t and -m params in init script, removed $OPTION +- add doc blurb regarding no auto-repeat with multiple mice + +* Tue Jun 24 2003 Adrian Havill 1.20.1-32 +- update version +- add -lm for ceil() +- add hltest, mouse-test for all but zSeries + +* Mon Jun 16 2003 Jakub Jelinek +- don't link against -lncurses, instead make wgetch and stdscr weak + undefined symbols to break library dependency cycle + +* Thu Jun 12 2003 Elliot Lee +- Remove pam requirement + +* Wed Jun 04 2003 Elliot Lee +- rebuilt + +* Wed Jan 29 2003 Bill Nottingham 1.19.13-27 +- ship libraries on s390/s390x + +* Wed Jan 22 2003 Tim Powers +- rebuilt + +* Mon Jan 13 2003 Bill Nottingham 1.19.13-25 +- don't automatically enable the repeater when '-M' is in use + +* Fri Nov 22 2002 Tim Powers +- remove unpackaged files from the buildroot + +* Fri Jun 21 2002 Tim Powers +- automated rebuild + +* Thu May 23 2002 Tim Powers +- automated rebuild + +* Tue Apr 9 2002 Bernhard Rosenkraenzer +- Revert to the version from 7.2 because later versions have some grave + issues I can't {reproduce,debug} with my hardware, such as + #62540 and #61691 + +* Thu Jul 19 2001 Preston Brown +- more documentation fixes for Netmouse type devices (#48885) + +* Tue Jun 26 2001 Florian La Roche +- add link from library major version number + +* Mon Jun 25 2001 Preston Brown +- small fixlet in init script (#36995) + +* Tue Jun 19 2001 Florian La Roche +- add ExcludeArch: s390 s390x + +* Fri Apr 6 2001 Preston Brown +- work better with unsupported devfs (#23500, #34883) + +* Mon Feb 05 2001 Karsten Hopp +- found another bug: tmpfile was never removed if + gpm was already running + +* Mon Feb 05 2001 Karsten Hopp +- really fix tmpfile path + +* Mon Feb 05 2001 Karsten Hopp +- fix tmpfile path (bugzilla #25967) + +* Tue Jan 30 2001 Preston Brown +- don't make PID file world-writable. + +* Mon Jan 29 2001 Preston Brown +- fix up devel dependency on main package + +* Sun Jan 28 2001 Bernhard Rosenkraenzer +- Don't crash if we can't open /dev/console + (Happens with some devfs enabled kernels) + +* Tue Jan 23 2001 Trond Eivind Glomsr�d +- fix bug in i18n of initscript + +* Tue Jan 23 2001 Preston Brown +- bash2 style of i18n for initscript + +* Wed Jan 17 2001 Preston Brown +- i18n the initscript. + +* Thu Jan 11 2001 Bernhard Rosenkraenzer +- Add hooks for extra options in /etc/sysconfig/gpm (#23547) + +* Fri Jan 05 2001 Preston Brown +- patch added to abort if running on a serial console (#15784) + +* Fri Jul 28 2000 Preston Brown +- cleaned up post section + +* Wed Jul 26 2000 Preston Brown +- clarification: pam requirement added to fix permissions on /dev/gpmctl (#12849) + +* Sat Jul 22 2000 Florian La Roche +- update to 1.19.3 + +* Sat Jul 15 2000 Bill Nottingham +- move initscript back + +* Thu Jul 13 2000 Prospector +- automatic rebuild + +* Fri Jun 30 2000 Matt Wilson +- use sysconf(_SC_OPEN_MAX) + +* Tue Jun 27 2000 Preston Brown +- don't prereq, only require initscripts + +* Mon Jun 26 2000 Preston Brown +- fix up and move initscript +- prereq initscripts >= 5.20 + +* Sat Jun 17 2000 Bill Nottingham +- fix %%config tag for initscript + +* Thu Jun 15 2000 Bill Nottingham +- move it back + +* Thu Jun 15 2000 Preston Brown +- move init script + +* Wed Jun 14 2000 Preston Brown +- security patch on socket descriptor from Chris Evans. Thanks Chris. +- include limits.h for OPEN_MAX + +* Mon Jun 12 2000 Preston Brown +- 1.19.2, fix up root (setuid) patch +- FHS paths + +* Thu Apr 6 2000 Jakub Jelinek +- 1.19.1 +- call initgroups in gpm-root before spawning command as user +- make gpm-root work on big endian + +* Sun Mar 26 2000 Florian La Roche +- call ldconfig directly in postun + +* Wed Mar 22 2000 Bernhard Rosenkraenzer +- rebuild with new libncurses + +* Sat Mar 18 2000 Bernhard Rosenkraenzer +- 1.19.0 +- fix build on systems that don't have emacs + (configure built t-mouse* only if emacs was installed) + +* Tue Feb 29 2000 Preston Brown +- important fix: improperly buildrooted for /usr/share/emacs/site-lisp, fixed. + +* Tue Feb 15 2000 Jakub Jelinek +- avoid cluttering of syslog with gpm No data messages + +* Mon Feb 14 2000 Preston Brown +- disable-paste and mouse-test removed, they seem broken. + +* Thu Feb 03 2000 Preston Brown +- updated gpm.init to have better shutdown and descriptive messages +- strip lib + +* Wed Feb 02 2000 Cristian Gafton +- fix description +- man pages are compressed + +* Wed Jan 12 2000 Preston Brown +- 1.18.1. + +* Tue Sep 28 1999 Preston Brown +- upgraded to 1.18, hopefully fixes sparc protocol issues + +* Fri Sep 24 1999 Bill Nottingham +- install-info sucks, and then you die. + +* Fri Sep 10 1999 Bill Nottingham +- chkconfig --del in %%preun, not %%postun + +* Fri Aug 27 1999 Preston Brown +- upgrade to 1.17.9 +- the maintainers are taking care of .so version now, removed patch + +* Mon Aug 16 1999 Bill Nottingham +- initscript munging + +* Wed Jun 2 1999 Jeff Johnson +- disable-paste need not be setuid root in Red Hat 6.0 (#2654) + +* Tue May 18 1999 Michael K. Johnson +- gpm.init had wrong pidfile name in comments; confused linuxconf + +* Mon Mar 22 1999 Preston Brown +- make sure all binaries are stripped, make init stuff more chkconfig style +- removed sparc-specific mouse stuff +- bumped libver to 1.17.5 +- fixed texinfo source + +* Sun Mar 21 1999 Cristian Gafton +- auto rebuild in the new build environment (release 2) + +* Thu Mar 4 1999 Matt Wilson +- updated to 1.75.5 + +* Tue Feb 16 1999 Cristian Gafton +- avoid using makedev for internal functions (it is a #define in the system + headers) + +* Wed Jan 13 1999 Preston Brown +- upgrade to 1.17.2. + +* Wed Jan 06 1999 Cristian Gafton +- enforce the use of -D_GNU_SOURCE so that it will compile on the ARM +- build against glibc 2.1 + +* Tue Aug 11 1998 Jeff Johnson +- build root + +* Thu May 07 1998 Prospector System +- translations modified for de, fr, tr + +* Wed Apr 22 1998 Michael K. Johnson +- enhanced initscript + +* Fri Apr 10 1998 Cristian Gafton +- recompiled for manhattan + +* Wed Apr 08 1998 Erik Troan +- updated to 1.13 + +* Mon Nov 03 1997 Donnie Barnes +- added patch from Richard to get things to build on the SPARC + +* Tue Oct 28 1997 Donnie Barnes +- fixed the emacs patch to install the emacs files in the right + place (hopefully). + +* Mon Oct 13 1997 Erik Troan +- added chkconfig support +- added install-info + +* Thu Sep 11 1997 Donald Barnes +- upgraded from 1.10 to 1.12 +- added status/restart functionality to init script +- added define LIBVER 1.11 + +* Thu Jun 19 1997 Erik Troan +- built against glibc