summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--core/gpm/PKGBUILD7
-rw-r--r--core/gpm/gpm-1.20.7-glibc-2.26-1.patch58
2 files changed, 65 insertions, 0 deletions
diff --git a/core/gpm/PKGBUILD b/core/gpm/PKGBUILD
new file mode 100644
index 00000000..e480b7cb
--- /dev/null
+++ b/core/gpm/PKGBUILD
@@ -0,0 +1,7 @@
+source+=('gpm-1.20.7-glibc-2.26-1.patch')
+sha1sums+=('af8c743dce0189abe46f53a084a060334b4d5ed8')
+
+prepare() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ patch -p1 -i "${srcdir}/gpm-1.20.7-glibc-2.26-1.patch"
+}
diff --git a/core/gpm/gpm-1.20.7-glibc-2.26-1.patch b/core/gpm/gpm-1.20.7-glibc-2.26-1.patch
new file mode 100644
index 00000000..6f63c273
--- /dev/null
+++ b/core/gpm/gpm-1.20.7-glibc-2.26-1.patch
@@ -0,0 +1,58 @@
+diff -Naur gpm-1.20.7-orig/src/daemon/open_console.c gpm-1.20.7/src/daemon/open_console.c
+--- gpm-1.20.7-orig/src/daemon/open_console.c 2012-10-26 21:21:38.000000000 +0000
++++ gpm-1.20.7/src/daemon/open_console.c 2017-08-08 17:58:15.176232558 +0000
+@@ -23,6 +23,10 @@
+ #include <sys/stat.h> /* stat() */
+ #include <sys/ioctl.h> /* ioctl */
+
++#ifdef HAVE_SYS_SYSMACROS_H
++#include <sys/sysmacros.h> /* major() w/newer glibc */
++#endif
++
+ /* Linux specific (to be outsourced in gpm2 */
+ #include <linux/serial.h> /* for serial console check */
+ #include <asm/ioctls.h> /* for serial console check */
+diff -Naur gpm-1.20.7-orig/src/prog/gpm-root.y gpm-1.20.7/src/prog/gpm-root.y
+--- gpm-1.20.7-orig/src/prog/gpm-root.y 2012-10-26 21:21:38.000000000 +0000
++++ gpm-1.20.7/src/prog/gpm-root.y 2017-08-08 18:00:36.442898559 +0000
+@@ -443,6 +443,7 @@
+ }
+
+ /*---------------------------------------------------------------------*/
++#if 0
+ static int f_debug_one(FILE *f, Draw *draw)
+ {
+ DrawItem *ip;
+@@ -465,6 +466,7 @@
+ #undef LINE
+ return 0;
+ }
++#endif
+
+ int f_debug(int mode, DrawItem *self, int uid)
+ {
+@@ -960,10 +962,8 @@
+ /*------------*/
+ 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,11 +1196,7 @@
+ 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__ */
++ sigemptyset(&childaction.sa_mask);
+ childaction.sa_flags=SA_INTERRUPT; /* need to break the select() call */
+ sigaction(SIGCHLD,&childaction,NULL);
+