Message ID | 20170331164247.5052-1-raj.khem@gmail.com |
---|---|
State | Accepted |
Commit | 10e27be99770a0f071ae4b8560de65e501f6bd09 |
Headers | show |
Series | [oe,meta-oe,01/43] gpm: Update to use git src uri | expand |
On Fri, Mar 31, 2017 at 09:42:05AM -0700, Khem Raj wrote: > Additional patches are upstream to fix build with gcc6 and clang > Add systemd unit file > > Signed-off-by: Khem Raj <raj.khem@gmail.com> > --- > .../gpm/gpm-1.99.7/eglibc-2.17.patch | 12 - > .../gpm/gpm-1.99.7/remove_nested_functions.patch | 326 --------------------- > meta-oe/recipes-support/gpm/gpm/gpm.service.in | 9 + > .../recipes-support/gpm/{gpm-1.99.7 => gpm}/init | 0 > .../gpm/{gpm-1.99.7 => gpm}/no-docs.patch | 2 +- > .../gpm/{gpm-1.99.7 => gpm}/processcreds.patch | 0 > meta-oe/recipes-support/gpm/gpm_1.99.7.bb | 53 ---- > meta-oe/recipes-support/gpm/gpm_git.bb | 44 +++ > 8 files changed, 54 insertions(+), 392 deletions(-) > delete mode 100644 meta-oe/recipes-support/gpm/gpm-1.99.7/eglibc-2.17.patch > delete mode 100644 meta-oe/recipes-support/gpm/gpm-1.99.7/remove_nested_functions.patch > create mode 100644 meta-oe/recipes-support/gpm/gpm/gpm.service.in > rename meta-oe/recipes-support/gpm/{gpm-1.99.7 => gpm}/init (100%) > rename meta-oe/recipes-support/gpm/{gpm-1.99.7 => gpm}/no-docs.patch (93%) > rename meta-oe/recipes-support/gpm/{gpm-1.99.7 => gpm}/processcreds.patch (100%) > delete mode 100644 meta-oe/recipes-support/gpm/gpm_1.99.7.bb > create mode 100644 meta-oe/recipes-support/gpm/gpm_git.bb This breaks links build, before this change links detected gpm and enabled FB driver: configure:7756: result: yes configure:7756: checking for gpm.h configure:7756: result: yes configure:7766: checking for Gpm_Open in -lgpm configure:7791: i586-oe-linux-gcc -m32 -march=i586 --sysroot=/OE/build/oe-core/tmp-glibc/work/i586-oe-linux/links/2.7-r0/recipe-sysroot -o conftest -O2 -pipe -g -feliminate-unused-debug-types -fdebug-prefix-map=/OE/build/oe-core/tmp-glibc/work/i586-oe-linux/links/2.7-r0=/usr/src/debug/links/2.7-r0 -fdebug-prefix-map=/OE/build/oe-core/tmp-glibc/work/i586-oe-linux/links/2.7-r0/recipe-sysroot-native= -fdebug-prefix-map=/OE/build/oe-core/tmp-glibc/work/i586-oe-linux/links/2.7-r0/recipe-sysroot= -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed conftest.c -lgpm -lm >&5 configure:7791: $? = 0 configure:7800: result: yes configure:7813: checking for Gpm_GetLibVersion configure:7813: i586-oe-linux-gcc -m32 -march=i586 --sysroot=/OE/build/oe-core/tmp-glibc/work/i586-oe-linux/links/2.7-r0/recipe-sysroot -o conftest -O2 -pipe -g -feliminate-unused-debug-types -fdebug-prefix-map=/OE/build/oe-core/tmp-glibc/work/i586-oe-linux/links/2.7-r0=/usr/src/debug/links/2.7-r0 -fdebug-prefix-map=/OE/build/oe-core/tmp-glibc/work/i586-oe-linux/links/2.7-r0/recipe-sysroot-native= -fdebug-prefix-map=/OE/build/oe-core/tmp-glibc/work/i586-oe-linux/links/2.7-r0/recipe-sysroot= -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed conftest.c -lgpm -lm >&5 configure:7813: $? = 0 configure:7813: result: yes with this change: configure:7756: checking for gpm.h configure:7756: result: yes configure:7766: checking for Gpm_Open in -lgpm configure:7791: x86_64-oe-linux-gcc -m64 -march=core2 -mtune=core2 -msse3 -mfpmath=sse --sysroot=/home/jenkins/oe/world/shr-core/tmp-glibc/work/core2-64-oe-linux/links/2.7-r0/recipe-sysroot -o conftest -O2 -pipe -g -feliminate-unused-debug-types -fdebug-prefix-map=/home/jenkins/oe/world/shr-core/tmp-glibc/work/core2-64-oe-linux/links/2.7-r0=/usr/src/debug/links/2.7-r0 -fdebug-prefix-map=/home/jenkins/oe/world/shr-core/tmp-glibc/work/core2-64-oe-linux/links/2.7-r0/recipe-sysroot-native= -fdebug-prefix-map=/home/jenkins/oe/world/shr-core/tmp-glibc/work/core2-64-oe-linux/links/2.7-r0/recipe-sysroot= -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed conftest.c -lgpm -lm >&5 /home/jenkins/oe/world/shr-core/tmp-glibc/work/core2-64-oe-linux/links/2.7-r0/recipe-sysroot-native/usr/bin/x86_64-oe-linux/../../libexec/x86_64-oe-linux/gcc/x86_64-oe-linux/6.3.0/ld: error: cannot find -lgpm /usr/src/debug/links/2.7-r0/build/conftest.c:117: error: undefined reference to 'Gpm_Open' collect2: error: ld returned 1 exit status configure:7791: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "" | #define PACKAGE_TARNAME "" | #define PACKAGE_VERSION "" | #define PACKAGE_STRING "" | #define PACKAGE_BUGREPORT "" | #define PACKAGE_URL "" | #define PACKAGE "links" | #define VERSION "2.7" | #define STDC_HEADERS 1 | #define HAVE_TYPEOF 1 | #define HAVE_LONG_LONG 1 ... | #define HAVE_LIBM 1 | #define HAVE_GPM_H 1 | /* end confdefs.h. */ | | /* Override any GCC internal prototype to avoid an error. | Use char because int might match the return type of a GCC | builtin and then its argument prototype would still apply. */ | #ifdef __cplusplus | extern "C" | #endif | char Gpm_Open (); | int | main () | { | return Gpm_Open (); | ; | return 0; | } configure:7800: result: no configure:7813: checking for Gpm_GetLibVersion configure:7813: x86_64-oe-linux-gcc -m64 -march=core2 -mtune=core2 -msse3 -mfpmath=sse --sysroot=/home/jenkins/oe/world/shr-core/tmp-glibc/work/core2-64-oe-linux/links/2.7-r0/recipe-sysroot -o conftest -O2 -pipe -g -feliminate-unused-debug-types -fdebug-prefix-map=/home/jenkins/oe/world/shr-core/tmp-glibc/work/core2-64-oe-linux/links/2.7-r0=/usr/src/debug/links/2.7-r0 -fdebug-prefix-map=/home/jenkins/oe/world/shr-core/tmp-glibc/work/core2-64-oe-linux/links/2.7-r0/recipe-sysroot-native= -fdebug-prefix-map=/home/jenkins/oe/world/shr-core/tmp-glibc/work/core2-64-oe-linux/links/2.7-r0/recipe-sysroot= -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed conftest.c -lm >&5 /usr/src/debug/links/2.7-r0/build/conftest.c:140: error: undefined reference to 'Gpm_GetLibVersion' collect2: error: ld returned 1 exit status configure:7813: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "" | #define PACKAGE_TARNAME "" ... | #define HAVE_LIBM 1 | #define HAVE_GPM_H 1 | /* end confdefs.h. */ | /* Define Gpm_GetLibVersion to an innocuous variant, in case <limits.h> declares Gpm_GetLibVersion. | For example, HP-UX 11i <limits.h> declares gettimeofday. */ | #define Gpm_GetLibVersion innocuous_Gpm_GetLibVersion | | /* System header to define __stub macros and hopefully few prototypes, | which can conflict with char Gpm_GetLibVersion (); below. | Prefer <limits.h> to <assert.h> if __STDC__ is defined, since | <limits.h> exists even on freestanding compilers. */ | | #ifdef __STDC__ | # include <limits.h> | #else | # include <assert.h> | #endif | | #undef Gpm_GetLibVersion | | /* Override any GCC internal prototype to avoid an error. | Use char because int might match the return type of a GCC | builtin and then its argument prototype would still apply. */ | #ifdef __cplusplus | extern "C" | #endif | char Gpm_GetLibVersion (); | /* The GNU C library defines this for functions which it implements | to always fail with ENOSYS. Some functions are actually named | something starting with __ and the normal name is an alias. */ | #if defined __stub_Gpm_GetLibVersion || defined __stub___Gpm_GetLibVersion | choke me | #endif | | int | main () | { | return Gpm_GetLibVersion (); | ; | return 0; | } configure:7813: result: no The dependency is there and library as well: work/core2-64-oe-linux/links/2.7-r0$ find . -name libgpm\* ./recipe-sysroot/usr/lib/libgpm.so.1 ./recipe-sysroot/usr/lib/libgpm.so.2 ./recipe-sysroot/usr/lib/libgpm.a ./recipe-sysroot/usr/lib/libgpm.so.2.1.0 but libgpm.so.1 link is broken: work/core2-64-oe-linux/links/2.7-r0$ ls -lah ./recipe-sysroot/usr/lib/libgpm* -rw-r--r-- 2 jenkins Jenkins 103K Apr 3 08:50 ./recipe-sysroot/usr/lib/libgpm.a lrwxrwxrwx 1 jenkins Jenkins 16 Apr 3 08:56 ./recipe-sysroot/usr/lib/libgpm.so.1 -> libgpm.so.1.19.0 lrwxrwxrwx 1 jenkins Jenkins 15 Apr 3 08:56 ./recipe-sysroot/usr/lib/libgpm.so.2 -> libgpm.so.2.1.0 -rw-r--r-- 2 jenkins Jenkins 23K Apr 3 08:50 ./recipe-sysroot/usr/lib/libgpm.so.2.1.0 with this change there is only the 2.1.0 version: lrwxrwxrwx 1 jenkins Jenkins 15 Apr 3 09:12 ./recipe-sysroot/usr/lib/libgpm.so.2 -> libgpm.so.2.1.0 -rwxr-xr-x 3 jenkins Jenkins 23K Apr 2 12:59 ./recipe-sysroot/usr/lib/libgpm.so.2.1.0 > diff --git a/meta-oe/recipes-support/gpm/gpm-1.99.7/eglibc-2.17.patch b/meta-oe/recipes-support/gpm/gpm-1.99.7/eglibc-2.17.patch > deleted file mode 100644 > index e43bdcb22..000000000 > --- a/meta-oe/recipes-support/gpm/gpm-1.99.7/eglibc-2.17.patch > +++ /dev/null > @@ -1,12 +0,0 @@ > -Upstream-Status: pending > - > ---- gpm-1.99.7.orig/src/daemon/open_console.c 2008-07-24 12:33:05.000000000 +0200 > -+++ gpm-1.99.7/src/daemon/open_console.c 2013-01-10 12:39:47.975461947 +0100 > -@@ -23,6 +23,7 @@ > - #include <fcntl.h> /* open and co. */ > - #include <sys/stat.h> /* stat() */ > - #include <sys/ioctl.h> /* ioctl() */ > -+#include <sys/types.h> /* major() */ > - > - /* Linux specific (to be outsourced in gpm2 */ > - #include <linux/serial.h> /* for serial console check */ > diff --git a/meta-oe/recipes-support/gpm/gpm-1.99.7/remove_nested_functions.patch b/meta-oe/recipes-support/gpm/gpm-1.99.7/remove_nested_functions.patch > deleted file mode 100644 > index d2d6cb8a8..000000000 > --- a/meta-oe/recipes-support/gpm/gpm-1.99.7/remove_nested_functions.patch > +++ /dev/null > @@ -1,326 +0,0 @@ > -Remove nested functions, they are not available in all compilers > -e.g. clang will not support them. > - > -Upstream-Status: Pending > -Signed-off-by: Khem Raj <raj.khem@gmail.com> > - > -Index: gpm-1.99.7/src/drivers/summa/i.c > -=================================================================== > ---- gpm-1.99.7.orig/src/drivers/summa/i.c > -+++ gpm-1.99.7/src/drivers/summa/i.c > -@@ -36,6 +36,28 @@ extern int summamaxy; > - > - extern signed char summaid; > - > -+static void resetsumma(int fd) > -+{ > -+ write(fd, 0, 1); /* Reset */ > -+ usleep(400000); /* wait */ > -+} > -+ > -+static int waitsumma(int fd) > -+{ > -+ struct timeval timeout; > -+ > -+ fd_set readfds; > -+ > -+ int err; > -+ > -+ FD_ZERO(&readfds); > -+ FD_SET(fd, &readfds); > -+ timeout.tv_sec = 0; > -+ timeout.tv_usec = 200000; > -+ err = select(FD_SETSIZE, &readfds, NULL, NULL, &timeout); > -+ return (err); > -+} > -+ > - Gpm_Type *I_summa(int fd, unsigned short flags, struct Gpm_Type *type, int argc, > - char **argv) > - { > -@@ -43,24 +65,6 @@ Gpm_Type *I_summa(int fd, unsigned short > - flags = argc = 0; /* FIXME: 1.99.13 */ > - argv = NULL; > - > -- void resetsumma() { > -- write(fd, 0, 1); /* Reset */ > -- usleep(400000); /* wait */ > -- } > -- int waitsumma() { > -- struct timeval timeout; > -- > -- fd_set readfds; > -- > -- int err; > -- > -- FD_ZERO(&readfds); > -- FD_SET(fd, &readfds); > -- timeout.tv_sec = 0; > -- timeout.tv_usec = 200000; > -- err = select(FD_SETSIZE, &readfds, NULL, NULL, &timeout); > -- return (err); > -- } > - int err; > - > - char buffer[255]; > -@@ -91,7 +95,7 @@ Gpm_Type *I_summa(int fd, unsigned short > - */ > - setspeed(fd, 1200, 9600, 1, > - B9600 | CS8 | CREAD | CLOCAL | HUPCL | PARENB | PARODD); > -- resetsumma(); > -+ resetsumma(fd); > - > - write(fd, SS_PROMPT_MODE, strlen(SS_PROMPT_MODE)); > - > -@@ -103,7 +107,7 @@ Gpm_Type *I_summa(int fd, unsigned short > - * read the Summa Firm-ID > - */ > - write(fd, SS_FIRMID, strlen(SS_FIRMID)); > -- err = waitsumma(); > -+ err = waitsumma(fd); > - if(!((err == -1) || (!err))) { > - summaid = 10; /* Original Summagraphics */ > - read(fd, buffer, 255); /* Read Firm-ID */ > -@@ -111,14 +115,14 @@ Gpm_Type *I_summa(int fd, unsigned short > - } > - > - if(summaid < 0) { /* Genius-test */ > -- resetsumma(); > -+ resetsumma(fd); > - write(fd, GEN_MMSERIES, 1); > - write(fd, &GEN_MODELL, 1); /* Read modell */ > -- err = waitsumma(); > -+ err = waitsumma(fd); > - if(!((err == -1) || (!err))) { /* read Genius-ID */ > -- err = waitsumma(); > -+ err = waitsumma(fd); > - if(!((err == -1) || (!err))) { > -- err = waitsumma(); > -+ err = waitsumma(fd); > - if(!((err == -1) || (!err))) { > - read(fd, &config, 1); > - summaid = (config[0] & 224) >> 5; /* genius tablet-id > -@@ -135,14 +139,14 @@ Gpm_Type *I_summa(int fd, unsigned short > - * unknown tablet ? > - */ > - if((summaid < 0) || (summaid == 11)) { > -- resetsumma(); > -+ resetsumma(fd); > - write(fd, SS_BINARY_FMT SS_PROMPT_MODE, 3); > - } > - > - /* > - * read tablet size > - */ > -- err = waitsumma(); > -+ err = waitsumma(fd); > - if(!((err == -1) || (!err))) > - read(fd, buffer, sizeof(buffer)); > - write(fd, SS_READCONFIG, 1); > -Index: gpm-1.99.7/src/drivers/wacom/i.c > -=================================================================== > ---- gpm-1.99.7.orig/src/drivers/wacom/i.c > -+++ gpm-1.99.7/src/drivers/wacom/i.c > -@@ -30,10 +30,6 @@ > - #include "message.h" /* gpm_report */ > - #include "wacom.h" /* wacom */ > - > --Gpm_Type *I_wacom(int fd, unsigned short flags, struct Gpm_Type *type, int argc, > -- char **argv) > --{ > -- > - /* wacom graphire tablet */ > - #define UD_RESETBAUD "\r$" /* reset baud rate to default (wacom V) */ > - /* > -@@ -45,83 +41,91 @@ Gpm_Type *I_wacom(int fd, unsigned short > - #define UD_COORD "~C\r" /* Request max coordinates */ > - #define UD_STOP "\nSP\r" /* stop sending coordinates */ > - > -- flags = 0; /* FIXME: 1.99.13 */ > - > -- void reset_wacom() { > -- /* > -- * Init Wacom communication; this is modified from xf86Wacom.so module > -- */ > -- /* > -- * Set speed to 19200 > -- */ > -- setspeed(fd, 1200, 19200, 0, B19200 | CS8 | CREAD | CLOCAL | HUPCL); > -- /* > -- * Send Reset Baudrate Command > -- */ > -- write(fd, UD_RESETBAUD, strlen(UD_RESETBAUD)); > -- usleep(250000); > -- /* > -- * Send Reset Command > -- */ > -- write(fd, UD_RESET, strlen(UD_RESET)); > -- usleep(75000); > -- /* > -- * Set speed to 9600bps > -- */ > -- setspeed(fd, 1200, 9600, 0, B9600 | CS8 | CREAD | CLOCAL | HUPCL); > -- /* > -- * Send Reset Command > -- */ > -- write(fd, UD_RESET, strlen(UD_RESET)); > -- usleep(250000); > -- write(fd, UD_STOP, strlen(UD_STOP)); > -- usleep(100000); > -- } > -+static void reset_wacom(int fd) > -+{ > -+ /* > -+ * Init Wacom communication; this is modified from xf86Wacom.so module > -+ */ > -+ /* > -+ * Set speed to 19200 > -+ */ > -+ setspeed(fd, 1200, 19200, 0, B19200 | CS8 | CREAD | CLOCAL | HUPCL); > -+ /* > -+ * Send Reset Baudrate Command > -+ */ > -+ write(fd, UD_RESETBAUD, strlen(UD_RESETBAUD)); > -+ usleep(250000); > -+ /* > -+ * Send Reset Command > -+ */ > -+ write(fd, UD_RESET, strlen(UD_RESET)); > -+ usleep(75000); > -+ /* > -+ * Set speed to 9600bps > -+ */ > -+ setspeed(fd, 1200, 9600, 0, B9600 | CS8 | CREAD | CLOCAL | HUPCL); > -+ /* > -+ * Send Reset Command > -+ */ > -+ write(fd, UD_RESET, strlen(UD_RESET)); > -+ usleep(250000); > -+ write(fd, UD_STOP, strlen(UD_STOP)); > -+ usleep(100000); > -+} > - > -- int wait_wacom() { > -- /* > -- * Wait up to 200 ms for Data from Tablet. > -- * Do not read that data. > -- * Give back 0 on timeout condition, -1 on error and 1 for DataPresent > -- */ > -- struct timeval timeout; > -- > -- fd_set readfds; > -- > -- int err; > -- > -- FD_ZERO(&readfds); > -- FD_SET(fd, &readfds); > -- timeout.tv_sec = 0; > -- timeout.tv_usec = 200000; > -- err = select(FD_SETSIZE, &readfds, NULL, NULL, &timeout); > -- return ((err > 0) ? 1 : err); > -- } > -+static int wait_wacom(int fd) > -+{ > -+ /* > -+ * Wait up to 200 ms for Data from Tablet. > -+ * Do not read that data. > -+ * Give back 0 on timeout condition, -1 on error and 1 for DataPresent > -+ */ > -+ struct timeval timeout; > - > -- char buffer[50], *p; > -+ fd_set readfds; > - > -- int RequestData(char *cmd) { > -- int err; > -+ int err; > - > -- /* > -- * Send cmd if not null, and get back answer from tablet. > -- * Get Data to buffer until full or timeout. > -- * Give back 0 for timeout and !0 for buffer full > -- */ > -- if(cmd) > -- write(fd, cmd, strlen(cmd)); > -- memset(buffer, 0, sizeof(buffer)); > -- p = buffer; > -- err = wait_wacom(); > -- while(err != -1 && err && (p - buffer) < (int) (sizeof(buffer) - 1)) { > -- p += read(fd, p, (sizeof(buffer) - 1) - (p - buffer)); > -- err = wait_wacom(); > -- } > -- /* > -- * return 1 for buffer full > -- */ > -- return ((strlen(buffer) >= (sizeof(buffer) - 1)) ? !0 : 0); > -+ FD_ZERO(&readfds); > -+ FD_SET(fd, &readfds); > -+ timeout.tv_sec = 0; > -+ timeout.tv_usec = 200000; > -+ err = select(FD_SETSIZE, &readfds, NULL, NULL, &timeout); > -+ return ((err > 0) ? 1 : err); > -+} > -+ > -+static int RequestData(int fd, char *cmd, char *buffer) > -+{ > -+ int err; > -+ char *p; > -+ /* > -+ * Send cmd if not null, and get back answer from tablet. > -+ * Get Data to buffer until full or timeout. > -+ * Give back 0 for timeout and !0 for buffer full > -+ */ > -+ if(cmd) > -+ write(fd, cmd, strlen(cmd)); > -+ memset(buffer, 0, sizeof(buffer)); > -+ p = buffer; > -+ err = wait_wacom(fd); > -+ while(err != -1 && err && (p - buffer) < (int) (sizeof(buffer) - 1)) { > -+ p += read(fd, p, (sizeof(buffer) - 1) - (p - buffer)); > -+ err = wait_wacom(fd); > - } > -+ /* > -+ * return 1 for buffer full > -+ */ > -+ return ((strlen(buffer) >= (sizeof(buffer) - 1)) ? !0 : 0); > -+} > -+ > -+Gpm_Type *I_wacom(int fd, unsigned short flags, struct Gpm_Type *type, int argc, > -+ char **argv) > -+{ > -+ > -+ flags = 0; /* FIXME: 1.99.13 */ > -+ > -+ char buffer[50]; > - > - /* > - * We do both modes, relative and absolute, with the same function. > -@@ -143,17 +147,17 @@ Gpm_Type *I_wacom(int fd, unsigned short > - }; > - parse_argv(optioninfo, argc, argv); > - type->absolute = WacomAbsoluteWanted; > -- reset_wacom(); > -+ reset_wacom(fd); > - > - /* > - * "Flush" input queque > - */ > -- while(RequestData(NULL)) ; > -+ while(RequestData(fd, NULL, buffer)) ; > - > - /* > - * read WACOM-ID > - */ > -- RequestData(UD_FIRMID); > -+ RequestData(fd, UD_FIRMID, buffer); > - > - /* > - * Search for matching modell > -@@ -180,7 +184,7 @@ Gpm_Type *I_wacom(int fd, unsigned short > - * read Wacom max size > - */ > - if(WacomModell != (-1) && (!wcmodell[WacomModell].maxX)) { > -- RequestData(UD_COORD); > -+ RequestData(fd, UD_COORD, buffer); > - sscanf(buffer + 2, "%d,%d", &wmaxx, &wmaxy); > - wmaxx = (wmaxx - wcmodell[WacomModell].border); > - wmaxy = (wmaxy - wcmodell[WacomModell].border); > diff --git a/meta-oe/recipes-support/gpm/gpm/gpm.service.in b/meta-oe/recipes-support/gpm/gpm/gpm.service.in > new file mode 100644 > index 000000000..ee6c040fa > --- /dev/null > +++ b/meta-oe/recipes-support/gpm/gpm/gpm.service.in > @@ -0,0 +1,9 @@ > +[Unit] > +Description=Virtual console mouse server > + > +[Service] > +Type=forking > +ExecStart=@bindir@/gpm -m /dev/input/mice -t imps2 > + > +[Install] > +WantedBy=multi-user.target > diff --git a/meta-oe/recipes-support/gpm/gpm-1.99.7/init b/meta-oe/recipes-support/gpm/gpm/init > similarity index 100% > rename from meta-oe/recipes-support/gpm/gpm-1.99.7/init > rename to meta-oe/recipes-support/gpm/gpm/init > diff --git a/meta-oe/recipes-support/gpm/gpm-1.99.7/no-docs.patch b/meta-oe/recipes-support/gpm/gpm/no-docs.patch > similarity index 93% > rename from meta-oe/recipes-support/gpm/gpm-1.99.7/no-docs.patch > rename to meta-oe/recipes-support/gpm/gpm/no-docs.patch > index f10217a94..3faef84ee 100644 > --- a/meta-oe/recipes-support/gpm/gpm-1.99.7/no-docs.patch > +++ b/meta-oe/recipes-support/gpm/gpm/no-docs.patch > @@ -11,7 +11,7 @@ Index: gpm-1.99.7/Makefile.in > # user-overridable flags, but it's also all the implicit rule looks at. > # missing ? > > --SUBDIRS = src doc contrib gpm2 > +-SUBDIRS = src doc contrib > +SUBDIRS = src > > > diff --git a/meta-oe/recipes-support/gpm/gpm-1.99.7/processcreds.patch b/meta-oe/recipes-support/gpm/gpm/processcreds.patch > similarity index 100% > rename from meta-oe/recipes-support/gpm/gpm-1.99.7/processcreds.patch > rename to meta-oe/recipes-support/gpm/gpm/processcreds.patch > diff --git a/meta-oe/recipes-support/gpm/gpm_1.99.7.bb b/meta-oe/recipes-support/gpm/gpm_1.99.7.bb > deleted file mode 100644 > index bbb8c28ac..000000000 > --- a/meta-oe/recipes-support/gpm/gpm_1.99.7.bb > +++ /dev/null > @@ -1,53 +0,0 @@ > -DESCRIPTION = "GPM (General Purpose Mouse) is a mouse server \ > -for the console and xterm, with sample clients included \ > -(emacs, etc)." > -SECTION = "console/utils" > -LICENSE = "GPLv2+" > -LIC_FILES_CHKSUM = "file://gpm2/core/main.c;endline=19;md5=66d3c205c4e7ee5704b2ee351dfed72f" > - > -PR = "r2" > - > -DEPENDS = "ncurses" > - > -SRC_URI = "ftp://arcana.linux.it/pub/gpm/gpm-${PV}.tar.bz2 \ > - file://no-docs.patch \ > - file://processcreds.patch \ > - file://eglibc-2.17.patch \ > - file://remove_nested_functions.patch \ > - file://init" > - > -inherit autotools-brokensep update-rc.d > - > -INITSCRIPT_NAME = "gpm" > -INITSCRIPT_PARAMS = "defaults" > - > -#export LIBS = "-lm" > - > -# all fields are /* FIXME: gpm 1.99.13 */ > -# gpm-1.99.7/src/lib/libhigh.c:171:43: error: parameter 'clientdata' set but not used [-Werror=unused-but-set-parameter] > -# gpm-1.99.7/src/lib/report-lib.c:28:21: error: parameter 'line' set but not used [-Werror=unused-but-set-parameter] > -# gpm-1.99.7/src/lib/report-lib.c:28:33: error: parameter 'file' set but not used [-Werror=unused-but-set-parameter] > -# gpm-1.99.7/src/drivers/empty/i.c:26:23: error: parameter 'fd' set but not used [-Werror=unused-but-set-parameter] > -# gpm-1.99.7/src/drivers/empty/i.c:26:42: error: parameter 'flags' set but not used [-Werror=unused-but-set-parameter] > -# gpm-1.99.7/src/drivers/etouch/i.c:34:43: error: parameter 'flags' set but not used [-Werror=unused-but-set-parameter] > -# gpm-1.99.7/src/drivers/msc/r.c:32:12: error: variable 'dy' set but not used [-Werror=unused-but-set-variable] > -# gpm-1.99.7/src/drivers/msc/r.c:32:8: error: variable 'dx' set but not used [-Werror=unused-but-set-variable] > -# cc1: all warnings being treated as errors > -CFLAGS += "-Wno-extra -Wno-error=unused-but-set-parameter -Wno-error=unused-but-set-variable" > - > -# twiddler is WIP in 1.99.7 and probably not worth fixing (a lot of changes in gpm-2-dev after 1.99.7 > -# gpm-1.99.7/src/drivers/twid/twiddler.c:503:14: error: cast to pointer from integer of different size [-Werror=int-to-pointer-cast] > -# /gpm-1.99.7/src/mice.c:221:5: error: (near initialization for 'mice[32].init') [-Werror] > -CFLAGS += "-Wno-error=int-to-pointer-cast -Wno-error" > - > -do_install () { > - oe_runmake 'DESTDIR=${D}' install > - install -m 0644 src/headers/gpm.h ${D}${includedir} > - install -d ${D}/${sysconfdir}/init.d > - install -m 0755 ${WORKDIR}/init ${D}/${sysconfdir}/init.d/gpm > - cd ${D}${libdir} && ln -sf libgpm.so.1.19.0 libgpm.so.1 > -} > -SRC_URI[md5sum] = "9fdddf5f53cb11d40bb2bb671d3ac544" > -SRC_URI[sha256sum] = "6071378b24494e36ca3ef6377606e7e565040413c86704753a162d2180af32ee" > - > -FILES_${PN} += "${datadir}/emacs" > diff --git a/meta-oe/recipes-support/gpm/gpm_git.bb b/meta-oe/recipes-support/gpm/gpm_git.bb > new file mode 100644 > index 000000000..4c0e9434d > --- /dev/null > +++ b/meta-oe/recipes-support/gpm/gpm_git.bb > @@ -0,0 +1,44 @@ > +DESCRIPTION = "GPM (General Purpose Mouse) is a mouse server \ > +for the console and xterm, with sample clients included \ > +(emacs, etc)." > +SECTION = "console/utils" > +LICENSE = "GPLv2+" > +LIC_FILES_CHKSUM = "file://COPYING;md5=18810669f13b87348459e611d31ab760" > + > +PV = "1.99.7+git${SRCREV}" > +PR = "r2" > +SRCREV = "1fd19417b8a4dd9945347e98dfa97e4cfd798d77" > + > +DEPENDS = "ncurses" > + > +SRC_URI = "git://github.com/telmich/gpm;protocol=git \ > + file://no-docs.patch \ > + file://processcreds.patch \ > + file://gpm.service.in \ > + file://init" > + > +S = "${WORKDIR}/git" > + > +inherit autotools-brokensep update-rc.d systemd > + > +INITSCRIPT_NAME = "gpm" > +INITSCRIPT_PARAMS = "defaults" > + > +do_configure_prepend() { > + (cd ${S};./autogen.sh;cd -) > +} > + > +do_install_append () { > + if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then > + install -d ${D}${systemd_system_unitdir} > + sed 's:@bindir@:${bindir}:' < ${WORKDIR}/gpm.service.in >${D}${systemd_system_unitdir}/gpm.service > + fi > + if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then > + install -D -m 0755 ${WORKDIR}/init ${D}/${sysconfdir}/init.d/gpm > + fi > + install -D -m 0644 ${S}/src/headers/gpm.h ${D}${includedir}/gpm.h > +} > + > +SYSTEMD_SERVICE_${PN} = "gpm.service" > + > +FILES_${PN} += "${datadir}/emacs" > -- > 2.12.1 > > -- > _______________________________________________ > Openembedded-devel mailing list > Openembedded-devel@lists.openembedded.org > http://lists.openembedded.org/mailman/listinfo/openembedded-devel -- Martin 'JaMa' Jansa jabber: Martin.Jansa@gmail.com -- _______________________________________________ Openembedded-devel mailing list Openembedded-devel@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-devel
Thanks Martin for triaging it. The fix is pushed to kraj/master https://github.com/kraj/meta-openembedded/commit/21b5a2ad436439bfddd8b1d30fcfab28d868d063 On Mon, Apr 3, 2017 at 12:19 PM, Martin Jansa <martin.jansa@gmail.com> wrote: > On Fri, Mar 31, 2017 at 09:42:05AM -0700, Khem Raj wrote: >> Additional patches are upstream to fix build with gcc6 and clang >> Add systemd unit file >> >> Signed-off-by: Khem Raj <raj.khem@gmail.com> >> --- >> .../gpm/gpm-1.99.7/eglibc-2.17.patch | 12 - >> .../gpm/gpm-1.99.7/remove_nested_functions.patch | 326 --------------------- >> meta-oe/recipes-support/gpm/gpm/gpm.service.in | 9 + >> .../recipes-support/gpm/{gpm-1.99.7 => gpm}/init | 0 >> .../gpm/{gpm-1.99.7 => gpm}/no-docs.patch | 2 +- >> .../gpm/{gpm-1.99.7 => gpm}/processcreds.patch | 0 >> meta-oe/recipes-support/gpm/gpm_1.99.7.bb | 53 ---- >> meta-oe/recipes-support/gpm/gpm_git.bb | 44 +++ >> 8 files changed, 54 insertions(+), 392 deletions(-) >> delete mode 100644 meta-oe/recipes-support/gpm/gpm-1.99.7/eglibc-2.17.patch >> delete mode 100644 meta-oe/recipes-support/gpm/gpm-1.99.7/remove_nested_functions.patch >> create mode 100644 meta-oe/recipes-support/gpm/gpm/gpm.service.in >> rename meta-oe/recipes-support/gpm/{gpm-1.99.7 => gpm}/init (100%) >> rename meta-oe/recipes-support/gpm/{gpm-1.99.7 => gpm}/no-docs.patch (93%) >> rename meta-oe/recipes-support/gpm/{gpm-1.99.7 => gpm}/processcreds.patch (100%) >> delete mode 100644 meta-oe/recipes-support/gpm/gpm_1.99.7.bb >> create mode 100644 meta-oe/recipes-support/gpm/gpm_git.bb > > This breaks links build, before this change links detected gpm and > enabled FB driver: > > configure:7756: result: yes > configure:7756: checking for gpm.h > configure:7756: result: yes > configure:7766: checking for Gpm_Open in -lgpm > configure:7791: i586-oe-linux-gcc -m32 -march=i586 --sysroot=/OE/build/oe-core/tmp-glibc/work/i586-oe-linux/links/2.7-r0/recipe-sysroot -o conftest -O2 -pipe -g -feliminate-unused-debug-types -fdebug-prefix-map=/OE/build/oe-core/tmp-glibc/work/i586-oe-linux/links/2.7-r0=/usr/src/debug/links/2.7-r0 -fdebug-prefix-map=/OE/build/oe-core/tmp-glibc/work/i586-oe-linux/links/2.7-r0/recipe-sysroot-native= -fdebug-prefix-map=/OE/build/oe-core/tmp-glibc/work/i586-oe-linux/links/2.7-r0/recipe-sysroot= -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed conftest.c -lgpm -lm >&5 > configure:7791: $? = 0 > configure:7800: result: yes > configure:7813: checking for Gpm_GetLibVersion > configure:7813: i586-oe-linux-gcc -m32 -march=i586 --sysroot=/OE/build/oe-core/tmp-glibc/work/i586-oe-linux/links/2.7-r0/recipe-sysroot -o conftest -O2 -pipe -g -feliminate-unused-debug-types -fdebug-prefix-map=/OE/build/oe-core/tmp-glibc/work/i586-oe-linux/links/2.7-r0=/usr/src/debug/links/2.7-r0 -fdebug-prefix-map=/OE/build/oe-core/tmp-glibc/work/i586-oe-linux/links/2.7-r0/recipe-sysroot-native= -fdebug-prefix-map=/OE/build/oe-core/tmp-glibc/work/i586-oe-linux/links/2.7-r0/recipe-sysroot= -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed conftest.c -lgpm -lm >&5 > configure:7813: $? = 0 > configure:7813: result: yes > > > with this change: > configure:7756: checking for gpm.h > configure:7756: result: yes > configure:7766: checking for Gpm_Open in -lgpm > configure:7791: x86_64-oe-linux-gcc -m64 -march=core2 -mtune=core2 -msse3 -mfpmath=sse --sysroot=/home/jenkins/oe/world/shr-core/tmp-glibc/work/core2-64-oe-linux/links/2.7-r0/recipe-sysroot -o conftest -O2 -pipe -g -feliminate-unused-debug-types -fdebug-prefix-map=/home/jenkins/oe/world/shr-core/tmp-glibc/work/core2-64-oe-linux/links/2.7-r0=/usr/src/debug/links/2.7-r0 -fdebug-prefix-map=/home/jenkins/oe/world/shr-core/tmp-glibc/work/core2-64-oe-linux/links/2.7-r0/recipe-sysroot-native= -fdebug-prefix-map=/home/jenkins/oe/world/shr-core/tmp-glibc/work/core2-64-oe-linux/links/2.7-r0/recipe-sysroot= -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed conftest.c -lgpm -lm >&5 > /home/jenkins/oe/world/shr-core/tmp-glibc/work/core2-64-oe-linux/links/2.7-r0/recipe-sysroot-native/usr/bin/x86_64-oe-linux/../../libexec/x86_64-oe-linux/gcc/x86_64-oe-linux/6.3.0/ld: error: cannot find -lgpm > /usr/src/debug/links/2.7-r0/build/conftest.c:117: error: undefined reference to 'Gpm_Open' > collect2: error: ld returned 1 exit status > configure:7791: $? = 1 > configure: failed program was: > | /* confdefs.h */ > | #define PACKAGE_NAME "" > | #define PACKAGE_TARNAME "" > | #define PACKAGE_VERSION "" > | #define PACKAGE_STRING "" > | #define PACKAGE_BUGREPORT "" > | #define PACKAGE_URL "" > | #define PACKAGE "links" > | #define VERSION "2.7" > | #define STDC_HEADERS 1 > | #define HAVE_TYPEOF 1 > | #define HAVE_LONG_LONG 1 > ... > | #define HAVE_LIBM 1 > | #define HAVE_GPM_H 1 > | /* end confdefs.h. */ > | > | /* Override any GCC internal prototype to avoid an error. > | Use char because int might match the return type of a GCC > | builtin and then its argument prototype would still apply. */ > | #ifdef __cplusplus > | extern "C" > | #endif > | char Gpm_Open (); > | int > | main () > | { > | return Gpm_Open (); > | ; > | return 0; > | } > configure:7800: result: no > configure:7813: checking for Gpm_GetLibVersion > configure:7813: x86_64-oe-linux-gcc -m64 -march=core2 -mtune=core2 -msse3 -mfpmath=sse --sysroot=/home/jenkins/oe/world/shr-core/tmp-glibc/work/core2-64-oe-linux/links/2.7-r0/recipe-sysroot -o conftest -O2 -pipe -g -feliminate-unused-debug-types -fdebug-prefix-map=/home/jenkins/oe/world/shr-core/tmp-glibc/work/core2-64-oe-linux/links/2.7-r0=/usr/src/debug/links/2.7-r0 -fdebug-prefix-map=/home/jenkins/oe/world/shr-core/tmp-glibc/work/core2-64-oe-linux/links/2.7-r0/recipe-sysroot-native= -fdebug-prefix-map=/home/jenkins/oe/world/shr-core/tmp-glibc/work/core2-64-oe-linux/links/2.7-r0/recipe-sysroot= -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed conftest.c -lm >&5 > /usr/src/debug/links/2.7-r0/build/conftest.c:140: error: undefined reference to 'Gpm_GetLibVersion' > collect2: error: ld returned 1 exit status > configure:7813: $? = 1 > configure: failed program was: > | /* confdefs.h */ > | #define PACKAGE_NAME "" > | #define PACKAGE_TARNAME "" > ... > | #define HAVE_LIBM 1 > | #define HAVE_GPM_H 1 > | /* end confdefs.h. */ > | /* Define Gpm_GetLibVersion to an innocuous variant, in case <limits.h> declares Gpm_GetLibVersion. > | For example, HP-UX 11i <limits.h> declares gettimeofday. */ > | #define Gpm_GetLibVersion innocuous_Gpm_GetLibVersion > | > | /* System header to define __stub macros and hopefully few prototypes, > | which can conflict with char Gpm_GetLibVersion (); below. > | Prefer <limits.h> to <assert.h> if __STDC__ is defined, since > | <limits.h> exists even on freestanding compilers. */ > | > | #ifdef __STDC__ > | # include <limits.h> > | #else > | # include <assert.h> > | #endif > | > | #undef Gpm_GetLibVersion > | > | /* Override any GCC internal prototype to avoid an error. > | Use char because int might match the return type of a GCC > | builtin and then its argument prototype would still apply. */ > | #ifdef __cplusplus > | extern "C" > | #endif > | char Gpm_GetLibVersion (); > | /* The GNU C library defines this for functions which it implements > | to always fail with ENOSYS. Some functions are actually named > | something starting with __ and the normal name is an alias. */ > | #if defined __stub_Gpm_GetLibVersion || defined __stub___Gpm_GetLibVersion > | choke me > | #endif > | > | int > | main () > | { > | return Gpm_GetLibVersion (); > | ; > | return 0; > | } > configure:7813: result: no > > > The dependency is there and library as well: > > work/core2-64-oe-linux/links/2.7-r0$ find . -name libgpm\* > ./recipe-sysroot/usr/lib/libgpm.so.1 > ./recipe-sysroot/usr/lib/libgpm.so.2 > ./recipe-sysroot/usr/lib/libgpm.a > ./recipe-sysroot/usr/lib/libgpm.so.2.1.0 > > but libgpm.so.1 link is broken: > > work/core2-64-oe-linux/links/2.7-r0$ ls -lah ./recipe-sysroot/usr/lib/libgpm* > -rw-r--r-- 2 jenkins Jenkins 103K Apr 3 08:50 ./recipe-sysroot/usr/lib/libgpm.a > lrwxrwxrwx 1 jenkins Jenkins 16 Apr 3 08:56 ./recipe-sysroot/usr/lib/libgpm.so.1 -> libgpm.so.1.19.0 > lrwxrwxrwx 1 jenkins Jenkins 15 Apr 3 08:56 ./recipe-sysroot/usr/lib/libgpm.so.2 -> libgpm.so.2.1.0 > -rw-r--r-- 2 jenkins Jenkins 23K Apr 3 08:50 ./recipe-sysroot/usr/lib/libgpm.so.2.1.0 > > with this change there is only the 2.1.0 version: > lrwxrwxrwx 1 jenkins Jenkins 15 Apr 3 09:12 ./recipe-sysroot/usr/lib/libgpm.so.2 -> libgpm.so.2.1.0 > -rwxr-xr-x 3 jenkins Jenkins 23K Apr 2 12:59 ./recipe-sysroot/usr/lib/libgpm.so.2.1.0 > > >> diff --git a/meta-oe/recipes-support/gpm/gpm-1.99.7/eglibc-2.17.patch b/meta-oe/recipes-support/gpm/gpm-1.99.7/eglibc-2.17.patch >> deleted file mode 100644 >> index e43bdcb22..000000000 >> --- a/meta-oe/recipes-support/gpm/gpm-1.99.7/eglibc-2.17.patch >> +++ /dev/null >> @@ -1,12 +0,0 @@ >> -Upstream-Status: pending >> - >> ---- gpm-1.99.7.orig/src/daemon/open_console.c 2008-07-24 12:33:05.000000000 +0200 >> -+++ gpm-1.99.7/src/daemon/open_console.c 2013-01-10 12:39:47.975461947 +0100 >> -@@ -23,6 +23,7 @@ >> - #include <fcntl.h> /* open and co. */ >> - #include <sys/stat.h> /* stat() */ >> - #include <sys/ioctl.h> /* ioctl() */ >> -+#include <sys/types.h> /* major() */ >> - >> - /* Linux specific (to be outsourced in gpm2 */ >> - #include <linux/serial.h> /* for serial console check */ >> diff --git a/meta-oe/recipes-support/gpm/gpm-1.99.7/remove_nested_functions.patch b/meta-oe/recipes-support/gpm/gpm-1.99.7/remove_nested_functions.patch >> deleted file mode 100644 >> index d2d6cb8a8..000000000 >> --- a/meta-oe/recipes-support/gpm/gpm-1.99.7/remove_nested_functions.patch >> +++ /dev/null >> @@ -1,326 +0,0 @@ >> -Remove nested functions, they are not available in all compilers >> -e.g. clang will not support them. >> - >> -Upstream-Status: Pending >> -Signed-off-by: Khem Raj <raj.khem@gmail.com> >> - >> -Index: gpm-1.99.7/src/drivers/summa/i.c >> -=================================================================== >> ---- gpm-1.99.7.orig/src/drivers/summa/i.c >> -+++ gpm-1.99.7/src/drivers/summa/i.c >> -@@ -36,6 +36,28 @@ extern int summamaxy; >> - >> - extern signed char summaid; >> - >> -+static void resetsumma(int fd) >> -+{ >> -+ write(fd, 0, 1); /* Reset */ >> -+ usleep(400000); /* wait */ >> -+} >> -+ >> -+static int waitsumma(int fd) >> -+{ >> -+ struct timeval timeout; >> -+ >> -+ fd_set readfds; >> -+ >> -+ int err; >> -+ >> -+ FD_ZERO(&readfds); >> -+ FD_SET(fd, &readfds); >> -+ timeout.tv_sec = 0; >> -+ timeout.tv_usec = 200000; >> -+ err = select(FD_SETSIZE, &readfds, NULL, NULL, &timeout); >> -+ return (err); >> -+} >> -+ >> - Gpm_Type *I_summa(int fd, unsigned short flags, struct Gpm_Type *type, int argc, >> - char **argv) >> - { >> -@@ -43,24 +65,6 @@ Gpm_Type *I_summa(int fd, unsigned short >> - flags = argc = 0; /* FIXME: 1.99.13 */ >> - argv = NULL; >> - >> -- void resetsumma() { >> -- write(fd, 0, 1); /* Reset */ >> -- usleep(400000); /* wait */ >> -- } >> -- int waitsumma() { >> -- struct timeval timeout; >> -- >> -- fd_set readfds; >> -- >> -- int err; >> -- >> -- FD_ZERO(&readfds); >> -- FD_SET(fd, &readfds); >> -- timeout.tv_sec = 0; >> -- timeout.tv_usec = 200000; >> -- err = select(FD_SETSIZE, &readfds, NULL, NULL, &timeout); >> -- return (err); >> -- } >> - int err; >> - >> - char buffer[255]; >> -@@ -91,7 +95,7 @@ Gpm_Type *I_summa(int fd, unsigned short >> - */ >> - setspeed(fd, 1200, 9600, 1, >> - B9600 | CS8 | CREAD | CLOCAL | HUPCL | PARENB | PARODD); >> -- resetsumma(); >> -+ resetsumma(fd); >> - >> - write(fd, SS_PROMPT_MODE, strlen(SS_PROMPT_MODE)); >> - >> -@@ -103,7 +107,7 @@ Gpm_Type *I_summa(int fd, unsigned short >> - * read the Summa Firm-ID >> - */ >> - write(fd, SS_FIRMID, strlen(SS_FIRMID)); >> -- err = waitsumma(); >> -+ err = waitsumma(fd); >> - if(!((err == -1) || (!err))) { >> - summaid = 10; /* Original Summagraphics */ >> - read(fd, buffer, 255); /* Read Firm-ID */ >> -@@ -111,14 +115,14 @@ Gpm_Type *I_summa(int fd, unsigned short >> - } >> - >> - if(summaid < 0) { /* Genius-test */ >> -- resetsumma(); >> -+ resetsumma(fd); >> - write(fd, GEN_MMSERIES, 1); >> - write(fd, &GEN_MODELL, 1); /* Read modell */ >> -- err = waitsumma(); >> -+ err = waitsumma(fd); >> - if(!((err == -1) || (!err))) { /* read Genius-ID */ >> -- err = waitsumma(); >> -+ err = waitsumma(fd); >> - if(!((err == -1) || (!err))) { >> -- err = waitsumma(); >> -+ err = waitsumma(fd); >> - if(!((err == -1) || (!err))) { >> - read(fd, &config, 1); >> - summaid = (config[0] & 224) >> 5; /* genius tablet-id >> -@@ -135,14 +139,14 @@ Gpm_Type *I_summa(int fd, unsigned short >> - * unknown tablet ? >> - */ >> - if((summaid < 0) || (summaid == 11)) { >> -- resetsumma(); >> -+ resetsumma(fd); >> - write(fd, SS_BINARY_FMT SS_PROMPT_MODE, 3); >> - } >> - >> - /* >> - * read tablet size >> - */ >> -- err = waitsumma(); >> -+ err = waitsumma(fd); >> - if(!((err == -1) || (!err))) >> - read(fd, buffer, sizeof(buffer)); >> - write(fd, SS_READCONFIG, 1); >> -Index: gpm-1.99.7/src/drivers/wacom/i.c >> -=================================================================== >> ---- gpm-1.99.7.orig/src/drivers/wacom/i.c >> -+++ gpm-1.99.7/src/drivers/wacom/i.c >> -@@ -30,10 +30,6 @@ >> - #include "message.h" /* gpm_report */ >> - #include "wacom.h" /* wacom */ >> - >> --Gpm_Type *I_wacom(int fd, unsigned short flags, struct Gpm_Type *type, int argc, >> -- char **argv) >> --{ >> -- >> - /* wacom graphire tablet */ >> - #define UD_RESETBAUD "\r$" /* reset baud rate to default (wacom V) */ >> - /* >> -@@ -45,83 +41,91 @@ Gpm_Type *I_wacom(int fd, unsigned short >> - #define UD_COORD "~C\r" /* Request max coordinates */ >> - #define UD_STOP "\nSP\r" /* stop sending coordinates */ >> - >> -- flags = 0; /* FIXME: 1.99.13 */ >> - >> -- void reset_wacom() { >> -- /* >> -- * Init Wacom communication; this is modified from xf86Wacom.so module >> -- */ >> -- /* >> -- * Set speed to 19200 >> -- */ >> -- setspeed(fd, 1200, 19200, 0, B19200 | CS8 | CREAD | CLOCAL | HUPCL); >> -- /* >> -- * Send Reset Baudrate Command >> -- */ >> -- write(fd, UD_RESETBAUD, strlen(UD_RESETBAUD)); >> -- usleep(250000); >> -- /* >> -- * Send Reset Command >> -- */ >> -- write(fd, UD_RESET, strlen(UD_RESET)); >> -- usleep(75000); >> -- /* >> -- * Set speed to 9600bps >> -- */ >> -- setspeed(fd, 1200, 9600, 0, B9600 | CS8 | CREAD | CLOCAL | HUPCL); >> -- /* >> -- * Send Reset Command >> -- */ >> -- write(fd, UD_RESET, strlen(UD_RESET)); >> -- usleep(250000); >> -- write(fd, UD_STOP, strlen(UD_STOP)); >> -- usleep(100000); >> -- } >> -+static void reset_wacom(int fd) >> -+{ >> -+ /* >> -+ * Init Wacom communication; this is modified from xf86Wacom.so module >> -+ */ >> -+ /* >> -+ * Set speed to 19200 >> -+ */ >> -+ setspeed(fd, 1200, 19200, 0, B19200 | CS8 | CREAD | CLOCAL | HUPCL); >> -+ /* >> -+ * Send Reset Baudrate Command >> -+ */ >> -+ write(fd, UD_RESETBAUD, strlen(UD_RESETBAUD)); >> -+ usleep(250000); >> -+ /* >> -+ * Send Reset Command >> -+ */ >> -+ write(fd, UD_RESET, strlen(UD_RESET)); >> -+ usleep(75000); >> -+ /* >> -+ * Set speed to 9600bps >> -+ */ >> -+ setspeed(fd, 1200, 9600, 0, B9600 | CS8 | CREAD | CLOCAL | HUPCL); >> -+ /* >> -+ * Send Reset Command >> -+ */ >> -+ write(fd, UD_RESET, strlen(UD_RESET)); >> -+ usleep(250000); >> -+ write(fd, UD_STOP, strlen(UD_STOP)); >> -+ usleep(100000); >> -+} >> - >> -- int wait_wacom() { >> -- /* >> -- * Wait up to 200 ms for Data from Tablet. >> -- * Do not read that data. >> -- * Give back 0 on timeout condition, -1 on error and 1 for DataPresent >> -- */ >> -- struct timeval timeout; >> -- >> -- fd_set readfds; >> -- >> -- int err; >> -- >> -- FD_ZERO(&readfds); >> -- FD_SET(fd, &readfds); >> -- timeout.tv_sec = 0; >> -- timeout.tv_usec = 200000; >> -- err = select(FD_SETSIZE, &readfds, NULL, NULL, &timeout); >> -- return ((err > 0) ? 1 : err); >> -- } >> -+static int wait_wacom(int fd) >> -+{ >> -+ /* >> -+ * Wait up to 200 ms for Data from Tablet. >> -+ * Do not read that data. >> -+ * Give back 0 on timeout condition, -1 on error and 1 for DataPresent >> -+ */ >> -+ struct timeval timeout; >> - >> -- char buffer[50], *p; >> -+ fd_set readfds; >> - >> -- int RequestData(char *cmd) { >> -- int err; >> -+ int err; >> - >> -- /* >> -- * Send cmd if not null, and get back answer from tablet. >> -- * Get Data to buffer until full or timeout. >> -- * Give back 0 for timeout and !0 for buffer full >> -- */ >> -- if(cmd) >> -- write(fd, cmd, strlen(cmd)); >> -- memset(buffer, 0, sizeof(buffer)); >> -- p = buffer; >> -- err = wait_wacom(); >> -- while(err != -1 && err && (p - buffer) < (int) (sizeof(buffer) - 1)) { >> -- p += read(fd, p, (sizeof(buffer) - 1) - (p - buffer)); >> -- err = wait_wacom(); >> -- } >> -- /* >> -- * return 1 for buffer full >> -- */ >> -- return ((strlen(buffer) >= (sizeof(buffer) - 1)) ? !0 : 0); >> -+ FD_ZERO(&readfds); >> -+ FD_SET(fd, &readfds); >> -+ timeout.tv_sec = 0; >> -+ timeout.tv_usec = 200000; >> -+ err = select(FD_SETSIZE, &readfds, NULL, NULL, &timeout); >> -+ return ((err > 0) ? 1 : err); >> -+} >> -+ >> -+static int RequestData(int fd, char *cmd, char *buffer) >> -+{ >> -+ int err; >> -+ char *p; >> -+ /* >> -+ * Send cmd if not null, and get back answer from tablet. >> -+ * Get Data to buffer until full or timeout. >> -+ * Give back 0 for timeout and !0 for buffer full >> -+ */ >> -+ if(cmd) >> -+ write(fd, cmd, strlen(cmd)); >> -+ memset(buffer, 0, sizeof(buffer)); >> -+ p = buffer; >> -+ err = wait_wacom(fd); >> -+ while(err != -1 && err && (p - buffer) < (int) (sizeof(buffer) - 1)) { >> -+ p += read(fd, p, (sizeof(buffer) - 1) - (p - buffer)); >> -+ err = wait_wacom(fd); >> - } >> -+ /* >> -+ * return 1 for buffer full >> -+ */ >> -+ return ((strlen(buffer) >= (sizeof(buffer) - 1)) ? !0 : 0); >> -+} >> -+ >> -+Gpm_Type *I_wacom(int fd, unsigned short flags, struct Gpm_Type *type, int argc, >> -+ char **argv) >> -+{ >> -+ >> -+ flags = 0; /* FIXME: 1.99.13 */ >> -+ >> -+ char buffer[50]; >> - >> - /* >> - * We do both modes, relative and absolute, with the same function. >> -@@ -143,17 +147,17 @@ Gpm_Type *I_wacom(int fd, unsigned short >> - }; >> - parse_argv(optioninfo, argc, argv); >> - type->absolute = WacomAbsoluteWanted; >> -- reset_wacom(); >> -+ reset_wacom(fd); >> - >> - /* >> - * "Flush" input queque >> - */ >> -- while(RequestData(NULL)) ; >> -+ while(RequestData(fd, NULL, buffer)) ; >> - >> - /* >> - * read WACOM-ID >> - */ >> -- RequestData(UD_FIRMID); >> -+ RequestData(fd, UD_FIRMID, buffer); >> - >> - /* >> - * Search for matching modell >> -@@ -180,7 +184,7 @@ Gpm_Type *I_wacom(int fd, unsigned short >> - * read Wacom max size >> - */ >> - if(WacomModell != (-1) && (!wcmodell[WacomModell].maxX)) { >> -- RequestData(UD_COORD); >> -+ RequestData(fd, UD_COORD, buffer); >> - sscanf(buffer + 2, "%d,%d", &wmaxx, &wmaxy); >> - wmaxx = (wmaxx - wcmodell[WacomModell].border); >> - wmaxy = (wmaxy - wcmodell[WacomModell].border); >> diff --git a/meta-oe/recipes-support/gpm/gpm/gpm.service.in b/meta-oe/recipes-support/gpm/gpm/gpm.service.in >> new file mode 100644 >> index 000000000..ee6c040fa >> --- /dev/null >> +++ b/meta-oe/recipes-support/gpm/gpm/gpm.service.in >> @@ -0,0 +1,9 @@ >> +[Unit] >> +Description=Virtual console mouse server >> + >> +[Service] >> +Type=forking >> +ExecStart=@bindir@/gpm -m /dev/input/mice -t imps2 >> + >> +[Install] >> +WantedBy=multi-user.target >> diff --git a/meta-oe/recipes-support/gpm/gpm-1.99.7/init b/meta-oe/recipes-support/gpm/gpm/init >> similarity index 100% >> rename from meta-oe/recipes-support/gpm/gpm-1.99.7/init >> rename to meta-oe/recipes-support/gpm/gpm/init >> diff --git a/meta-oe/recipes-support/gpm/gpm-1.99.7/no-docs.patch b/meta-oe/recipes-support/gpm/gpm/no-docs.patch >> similarity index 93% >> rename from meta-oe/recipes-support/gpm/gpm-1.99.7/no-docs.patch >> rename to meta-oe/recipes-support/gpm/gpm/no-docs.patch >> index f10217a94..3faef84ee 100644 >> --- a/meta-oe/recipes-support/gpm/gpm-1.99.7/no-docs.patch >> +++ b/meta-oe/recipes-support/gpm/gpm/no-docs.patch >> @@ -11,7 +11,7 @@ Index: gpm-1.99.7/Makefile.in >> # user-overridable flags, but it's also all the implicit rule looks at. >> # missing ? >> >> --SUBDIRS = src doc contrib gpm2 >> +-SUBDIRS = src doc contrib >> +SUBDIRS = src >> >> >> diff --git a/meta-oe/recipes-support/gpm/gpm-1.99.7/processcreds.patch b/meta-oe/recipes-support/gpm/gpm/processcreds.patch >> similarity index 100% >> rename from meta-oe/recipes-support/gpm/gpm-1.99.7/processcreds.patch >> rename to meta-oe/recipes-support/gpm/gpm/processcreds.patch >> diff --git a/meta-oe/recipes-support/gpm/gpm_1.99.7.bb b/meta-oe/recipes-support/gpm/gpm_1.99.7.bb >> deleted file mode 100644 >> index bbb8c28ac..000000000 >> --- a/meta-oe/recipes-support/gpm/gpm_1.99.7.bb >> +++ /dev/null >> @@ -1,53 +0,0 @@ >> -DESCRIPTION = "GPM (General Purpose Mouse) is a mouse server \ >> -for the console and xterm, with sample clients included \ >> -(emacs, etc)." >> -SECTION = "console/utils" >> -LICENSE = "GPLv2+" >> -LIC_FILES_CHKSUM = "file://gpm2/core/main.c;endline=19;md5=66d3c205c4e7ee5704b2ee351dfed72f" >> - >> -PR = "r2" >> - >> -DEPENDS = "ncurses" >> - >> -SRC_URI = "ftp://arcana.linux.it/pub/gpm/gpm-${PV}.tar.bz2 \ >> - file://no-docs.patch \ >> - file://processcreds.patch \ >> - file://eglibc-2.17.patch \ >> - file://remove_nested_functions.patch \ >> - file://init" >> - >> -inherit autotools-brokensep update-rc.d >> - >> -INITSCRIPT_NAME = "gpm" >> -INITSCRIPT_PARAMS = "defaults" >> - >> -#export LIBS = "-lm" >> - >> -# all fields are /* FIXME: gpm 1.99.13 */ >> -# gpm-1.99.7/src/lib/libhigh.c:171:43: error: parameter 'clientdata' set but not used [-Werror=unused-but-set-parameter] >> -# gpm-1.99.7/src/lib/report-lib.c:28:21: error: parameter 'line' set but not used [-Werror=unused-but-set-parameter] >> -# gpm-1.99.7/src/lib/report-lib.c:28:33: error: parameter 'file' set but not used [-Werror=unused-but-set-parameter] >> -# gpm-1.99.7/src/drivers/empty/i.c:26:23: error: parameter 'fd' set but not used [-Werror=unused-but-set-parameter] >> -# gpm-1.99.7/src/drivers/empty/i.c:26:42: error: parameter 'flags' set but not used [-Werror=unused-but-set-parameter] >> -# gpm-1.99.7/src/drivers/etouch/i.c:34:43: error: parameter 'flags' set but not used [-Werror=unused-but-set-parameter] >> -# gpm-1.99.7/src/drivers/msc/r.c:32:12: error: variable 'dy' set but not used [-Werror=unused-but-set-variable] >> -# gpm-1.99.7/src/drivers/msc/r.c:32:8: error: variable 'dx' set but not used [-Werror=unused-but-set-variable] >> -# cc1: all warnings being treated as errors >> -CFLAGS += "-Wno-extra -Wno-error=unused-but-set-parameter -Wno-error=unused-but-set-variable" >> - >> -# twiddler is WIP in 1.99.7 and probably not worth fixing (a lot of changes in gpm-2-dev after 1.99.7 >> -# gpm-1.99.7/src/drivers/twid/twiddler.c:503:14: error: cast to pointer from integer of different size [-Werror=int-to-pointer-cast] >> -# /gpm-1.99.7/src/mice.c:221:5: error: (near initialization for 'mice[32].init') [-Werror] >> -CFLAGS += "-Wno-error=int-to-pointer-cast -Wno-error" >> - >> -do_install () { >> - oe_runmake 'DESTDIR=${D}' install >> - install -m 0644 src/headers/gpm.h ${D}${includedir} >> - install -d ${D}/${sysconfdir}/init.d >> - install -m 0755 ${WORKDIR}/init ${D}/${sysconfdir}/init.d/gpm >> - cd ${D}${libdir} && ln -sf libgpm.so.1.19.0 libgpm.so.1 >> -} >> -SRC_URI[md5sum] = "9fdddf5f53cb11d40bb2bb671d3ac544" >> -SRC_URI[sha256sum] = "6071378b24494e36ca3ef6377606e7e565040413c86704753a162d2180af32ee" >> - >> -FILES_${PN} += "${datadir}/emacs" >> diff --git a/meta-oe/recipes-support/gpm/gpm_git.bb b/meta-oe/recipes-support/gpm/gpm_git.bb >> new file mode 100644 >> index 000000000..4c0e9434d >> --- /dev/null >> +++ b/meta-oe/recipes-support/gpm/gpm_git.bb >> @@ -0,0 +1,44 @@ >> +DESCRIPTION = "GPM (General Purpose Mouse) is a mouse server \ >> +for the console and xterm, with sample clients included \ >> +(emacs, etc)." >> +SECTION = "console/utils" >> +LICENSE = "GPLv2+" >> +LIC_FILES_CHKSUM = "file://COPYING;md5=18810669f13b87348459e611d31ab760" >> + >> +PV = "1.99.7+git${SRCREV}" >> +PR = "r2" >> +SRCREV = "1fd19417b8a4dd9945347e98dfa97e4cfd798d77" >> + >> +DEPENDS = "ncurses" >> + >> +SRC_URI = "git://github.com/telmich/gpm;protocol=git \ >> + file://no-docs.patch \ >> + file://processcreds.patch \ >> + file://gpm.service.in \ >> + file://init" >> + >> +S = "${WORKDIR}/git" >> + >> +inherit autotools-brokensep update-rc.d systemd >> + >> +INITSCRIPT_NAME = "gpm" >> +INITSCRIPT_PARAMS = "defaults" >> + >> +do_configure_prepend() { >> + (cd ${S};./autogen.sh;cd -) >> +} >> + >> +do_install_append () { >> + if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then >> + install -d ${D}${systemd_system_unitdir} >> + sed 's:@bindir@:${bindir}:' < ${WORKDIR}/gpm.service.in >${D}${systemd_system_unitdir}/gpm.service >> + fi >> + if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then >> + install -D -m 0755 ${WORKDIR}/init ${D}/${sysconfdir}/init.d/gpm >> + fi >> + install -D -m 0644 ${S}/src/headers/gpm.h ${D}${includedir}/gpm.h >> +} >> + >> +SYSTEMD_SERVICE_${PN} = "gpm.service" >> + >> +FILES_${PN} += "${datadir}/emacs" >> -- >> 2.12.1 >> >> -- >> _______________________________________________ >> Openembedded-devel mailing list >> Openembedded-devel@lists.openembedded.org >> http://lists.openembedded.org/mailman/listinfo/openembedded-devel > > -- > Martin 'JaMa' Jansa jabber: Martin.Jansa@gmail.com -- _______________________________________________ Openembedded-devel mailing list Openembedded-devel@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-devel
I've merged many changes from master-next today, only the ones for meta-networking layer are left in master-next now. Can you please resend remaining changes (rebased on master-next) and integrate the fixes into them? Thanks On Wed, Apr 5, 2017 at 6:38 PM, Khem Raj <raj.khem@gmail.com> wrote: > Thanks Martin for triaging it. The fix is pushed to kraj/master > > https://github.com/kraj/meta-openembedded/commit/ > 21b5a2ad436439bfddd8b1d30fcfab28d868d063 > > > On Mon, Apr 3, 2017 at 12:19 PM, Martin Jansa <martin.jansa@gmail.com> > wrote: > > On Fri, Mar 31, 2017 at 09:42:05AM -0700, Khem Raj wrote: > >> Additional patches are upstream to fix build with gcc6 and clang > >> Add systemd unit file > >> > >> Signed-off-by: Khem Raj <raj.khem@gmail.com> > >> --- > >> .../gpm/gpm-1.99.7/eglibc-2.17.patch | 12 - > >> .../gpm/gpm-1.99.7/remove_nested_functions.patch | 326 > --------------------- > >> meta-oe/recipes-support/gpm/gpm/gpm.service.in | 9 + > >> .../recipes-support/gpm/{gpm-1.99.7 => gpm}/init | 0 > >> .../gpm/{gpm-1.99.7 => gpm}/no-docs.patch | 2 +- > >> .../gpm/{gpm-1.99.7 => gpm}/processcreds.patch | 0 > >> meta-oe/recipes-support/gpm/gpm_1.99.7.bb | 53 ---- > >> meta-oe/recipes-support/gpm/gpm_git.bb | 44 +++ > >> 8 files changed, 54 insertions(+), 392 deletions(-) > >> delete mode 100644 meta-oe/recipes-support/gpm/ > gpm-1.99.7/eglibc-2.17.patch > >> delete mode 100644 meta-oe/recipes-support/gpm/ > gpm-1.99.7/remove_nested_functions.patch > >> create mode 100644 meta-oe/recipes-support/gpm/gpm/gpm.service.in > >> rename meta-oe/recipes-support/gpm/{gpm-1.99.7 => gpm}/init (100%) > >> rename meta-oe/recipes-support/gpm/{gpm-1.99.7 => gpm}/no-docs.patch > (93%) > >> rename meta-oe/recipes-support/gpm/{gpm-1.99.7 => > gpm}/processcreds.patch (100%) > >> delete mode 100644 meta-oe/recipes-support/gpm/gpm_1.99.7.bb > >> create mode 100644 meta-oe/recipes-support/gpm/gpm_git.bb > > > > This breaks links build, before this change links detected gpm and > > enabled FB driver: > > > > configure:7756: result: yes > > configure:7756: checking for gpm.h > > configure:7756: result: yes > > configure:7766: checking for Gpm_Open in -lgpm > > configure:7791: i586-oe-linux-gcc -m32 -march=i586 > --sysroot=/OE/build/oe-core/tmp-glibc/work/i586-oe-linux/links/2.7-r0/recipe-sysroot > -o conftest -O2 -pipe -g -feliminate-unused-debug-types > -fdebug-prefix-map=/OE/build/oe-core/tmp-glibc/work/i586- > oe-linux/links/2.7-r0=/usr/src/debug/links/2.7-r0 > -fdebug-prefix-map=/OE/build/oe-core/tmp-glibc/work/i586- > oe-linux/links/2.7-r0/recipe-sysroot-native= -fdebug-prefix-map=/OE/build/ > oe-core/tmp-glibc/work/i586-oe-linux/links/2.7-r0/recipe-sysroot= > -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed conftest.c -lgpm -lm >&5 > > configure:7791: $? = 0 > > configure:7800: result: yes > > configure:7813: checking for Gpm_GetLibVersion > > configure:7813: i586-oe-linux-gcc -m32 -march=i586 > --sysroot=/OE/build/oe-core/tmp-glibc/work/i586-oe-linux/links/2.7-r0/recipe-sysroot > -o conftest -O2 -pipe -g -feliminate-unused-debug-types > -fdebug-prefix-map=/OE/build/oe-core/tmp-glibc/work/i586- > oe-linux/links/2.7-r0=/usr/src/debug/links/2.7-r0 > -fdebug-prefix-map=/OE/build/oe-core/tmp-glibc/work/i586- > oe-linux/links/2.7-r0/recipe-sysroot-native= -fdebug-prefix-map=/OE/build/ > oe-core/tmp-glibc/work/i586-oe-linux/links/2.7-r0/recipe-sysroot= > -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed conftest.c -lgpm -lm >&5 > > configure:7813: $? = 0 > > configure:7813: result: yes > > > > > > with this change: > > configure:7756: checking for gpm.h > > configure:7756: result: yes > > configure:7766: checking for Gpm_Open in -lgpm > > configure:7791: x86_64-oe-linux-gcc -m64 -march=core2 -mtune=core2 > -msse3 -mfpmath=sse --sysroot=/home/jenkins/oe/ > world/shr-core/tmp-glibc/work/core2-64-oe-linux/links/2.7-r0/recipe-sysroot > -o conftest -O2 -pipe -g -feliminate-unused-debug-types > -fdebug-prefix-map=/home/jenkins/oe/world/shr-core/tmp- > glibc/work/core2-64-oe-linux/links/2.7-r0=/usr/src/debug/links/2.7-r0 > -fdebug-prefix-map=/home/jenkins/oe/world/shr-core/tmp- > glibc/work/core2-64-oe-linux/links/2.7-r0/recipe-sysroot-native= > -fdebug-prefix-map=/home/jenkins/oe/world/shr-core/tmp- > glibc/work/core2-64-oe-linux/links/2.7-r0/recipe-sysroot= -Wl,-O1 > -Wl,--hash-style=gnu -Wl,--as-needed conftest.c -lgpm -lm >&5 > > /home/jenkins/oe/world/shr-core/tmp-glibc/work/core2-64- > oe-linux/links/2.7-r0/recipe-sysroot-native/usr/bin/x86_64- > oe-linux/../../libexec/x86_64-oe-linux/gcc/x86_64-oe-linux/6.3.0/ld: > error: cannot find -lgpm > > /usr/src/debug/links/2.7-r0/build/conftest.c:117: error: undefined > reference to 'Gpm_Open' > > collect2: error: ld returned 1 exit status > > configure:7791: $? = 1 > > configure: failed program was: > > | /* confdefs.h */ > > | #define PACKAGE_NAME "" > > | #define PACKAGE_TARNAME "" > > | #define PACKAGE_VERSION "" > > | #define PACKAGE_STRING "" > > | #define PACKAGE_BUGREPORT "" > > | #define PACKAGE_URL "" > > | #define PACKAGE "links" > > | #define VERSION "2.7" > > | #define STDC_HEADERS 1 > > | #define HAVE_TYPEOF 1 > > | #define HAVE_LONG_LONG 1 > > ... > > | #define HAVE_LIBM 1 > > | #define HAVE_GPM_H 1 > > | /* end confdefs.h. */ > > | > > | /* Override any GCC internal prototype to avoid an error. > > | Use char because int might match the return type of a GCC > > | builtin and then its argument prototype would still apply. */ > > | #ifdef __cplusplus > > | extern "C" > > | #endif > > | char Gpm_Open (); > > | int > > | main () > > | { > > | return Gpm_Open (); > > | ; > > | return 0; > > | } > > configure:7800: result: no > > configure:7813: checking for Gpm_GetLibVersion > > configure:7813: x86_64-oe-linux-gcc -m64 -march=core2 -mtune=core2 > -msse3 -mfpmath=sse --sysroot=/home/jenkins/oe/ > world/shr-core/tmp-glibc/work/core2-64-oe-linux/links/2.7-r0/recipe-sysroot > -o conftest -O2 -pipe -g -feliminate-unused-debug-types > -fdebug-prefix-map=/home/jenkins/oe/world/shr-core/tmp- > glibc/work/core2-64-oe-linux/links/2.7-r0=/usr/src/debug/links/2.7-r0 > -fdebug-prefix-map=/home/jenkins/oe/world/shr-core/tmp- > glibc/work/core2-64-oe-linux/links/2.7-r0/recipe-sysroot-native= > -fdebug-prefix-map=/home/jenkins/oe/world/shr-core/tmp- > glibc/work/core2-64-oe-linux/links/2.7-r0/recipe-sysroot= -Wl,-O1 > -Wl,--hash-style=gnu -Wl,--as-needed conftest.c -lm >&5 > > /usr/src/debug/links/2.7-r0/build/conftest.c:140: error: undefined > reference to 'Gpm_GetLibVersion' > > collect2: error: ld returned 1 exit status > > configure:7813: $? = 1 > > configure: failed program was: > > | /* confdefs.h */ > > | #define PACKAGE_NAME "" > > | #define PACKAGE_TARNAME "" > > ... > > | #define HAVE_LIBM 1 > > | #define HAVE_GPM_H 1 > > | /* end confdefs.h. */ > > | /* Define Gpm_GetLibVersion to an innocuous variant, in case > <limits.h> declares Gpm_GetLibVersion. > > | For example, HP-UX 11i <limits.h> declares gettimeofday. */ > > | #define Gpm_GetLibVersion innocuous_Gpm_GetLibVersion > > | > > | /* System header to define __stub macros and hopefully few prototypes, > > | which can conflict with char Gpm_GetLibVersion (); below. > > | Prefer <limits.h> to <assert.h> if __STDC__ is defined, since > > | <limits.h> exists even on freestanding compilers. */ > > | > > | #ifdef __STDC__ > > | # include <limits.h> > > | #else > > | # include <assert.h> > > | #endif > > | > > | #undef Gpm_GetLibVersion > > | > > | /* Override any GCC internal prototype to avoid an error. > > | Use char because int might match the return type of a GCC > > | builtin and then its argument prototype would still apply. */ > > | #ifdef __cplusplus > > | extern "C" > > | #endif > > | char Gpm_GetLibVersion (); > > | /* The GNU C library defines this for functions which it implements > > | to always fail with ENOSYS. Some functions are actually named > > | something starting with __ and the normal name is an alias. */ > > | #if defined __stub_Gpm_GetLibVersion || defined > __stub___Gpm_GetLibVersion > > | choke me > > | #endif > > | > > | int > > | main () > > | { > > | return Gpm_GetLibVersion (); > > | ; > > | return 0; > > | } > > configure:7813: result: no > > > > > > The dependency is there and library as well: > > > > work/core2-64-oe-linux/links/2.7-r0$ find . -name libgpm\* > > ./recipe-sysroot/usr/lib/libgpm.so.1 > > ./recipe-sysroot/usr/lib/libgpm.so.2 > > ./recipe-sysroot/usr/lib/libgpm.a > > ./recipe-sysroot/usr/lib/libgpm.so.2.1.0 > > > > but libgpm.so.1 link is broken: > > > > work/core2-64-oe-linux/links/2.7-r0$ ls -lah ./recipe-sysroot/usr/lib/ > libgpm* > > -rw-r--r-- 2 jenkins Jenkins 103K Apr 3 08:50 ./recipe-sysroot/usr/lib/ > libgpm.a > > lrwxrwxrwx 1 jenkins Jenkins 16 Apr 3 08:56 ./recipe-sysroot/usr/lib/libgpm.so.1 > -> libgpm.so.1.19.0 > > lrwxrwxrwx 1 jenkins Jenkins 15 Apr 3 08:56 ./recipe-sysroot/usr/lib/libgpm.so.2 > -> libgpm.so.2.1.0 > > -rw-r--r-- 2 jenkins Jenkins 23K Apr 3 08:50 ./recipe-sysroot/usr/lib/ > libgpm.so.2.1.0 > > > > with this change there is only the 2.1.0 version: > > lrwxrwxrwx 1 jenkins Jenkins 15 Apr 3 09:12 ./recipe-sysroot/usr/lib/libgpm.so.2 > -> libgpm.so.2.1.0 > > -rwxr-xr-x 3 jenkins Jenkins 23K Apr 2 12:59 ./recipe-sysroot/usr/lib/ > libgpm.so.2.1.0 > > > > > >> diff --git a/meta-oe/recipes-support/gpm/gpm-1.99.7/eglibc-2.17.patch > b/meta-oe/recipes-support/gpm/gpm-1.99.7/eglibc-2.17.patch > >> deleted file mode 100644 > >> index e43bdcb22..000000000 > >> --- a/meta-oe/recipes-support/gpm/gpm-1.99.7/eglibc-2.17.patch > >> +++ /dev/null > >> @@ -1,12 +0,0 @@ > >> -Upstream-Status: pending > >> - > >> ---- gpm-1.99.7.orig/src/daemon/open_console.c 2008-07-24 > 12:33:05.000000000 +0200 > >> -+++ gpm-1.99.7/src/daemon/open_console.c 2013-01-10 > 12:39:47.975461947 +0100 > >> -@@ -23,6 +23,7 @@ > >> - #include <fcntl.h> /* open and co. */ > >> - #include <sys/stat.h> /* stat() */ > >> - #include <sys/ioctl.h> /* ioctl() */ > >> -+#include <sys/types.h> /* major() */ > >> - > >> - /* Linux specific (to be outsourced in gpm2 */ > >> - #include <linux/serial.h> /* for serial console check */ > >> diff --git a/meta-oe/recipes-support/gpm/gpm-1.99.7/remove_nested_functions.patch > b/meta-oe/recipes-support/gpm/gpm-1.99.7/remove_nested_functions.patch > >> deleted file mode 100644 > >> index d2d6cb8a8..000000000 > >> --- a/meta-oe/recipes-support/gpm/gpm-1.99.7/remove_nested_ > functions.patch > >> +++ /dev/null > >> @@ -1,326 +0,0 @@ > >> -Remove nested functions, they are not available in all compilers > >> -e.g. clang will not support them. > >> - > >> -Upstream-Status: Pending > >> -Signed-off-by: Khem Raj <raj.khem@gmail.com> > >> - > >> -Index: gpm-1.99.7/src/drivers/summa/i.c > >> -=================================================================== > >> ---- gpm-1.99.7.orig/src/drivers/summa/i.c > >> -+++ gpm-1.99.7/src/drivers/summa/i.c > >> -@@ -36,6 +36,28 @@ extern int summamaxy; > >> - > >> - extern signed char summaid; > >> - > >> -+static void resetsumma(int fd) > >> -+{ > >> -+ write(fd, 0, 1); /* Reset */ > >> -+ usleep(400000); /* wait */ > >> -+} > >> -+ > >> -+static int waitsumma(int fd) > >> -+{ > >> -+ struct timeval timeout; > >> -+ > >> -+ fd_set readfds; > >> -+ > >> -+ int err; > >> -+ > >> -+ FD_ZERO(&readfds); > >> -+ FD_SET(fd, &readfds); > >> -+ timeout.tv_sec = 0; > >> -+ timeout.tv_usec = 200000; > >> -+ err = select(FD_SETSIZE, &readfds, NULL, NULL, &timeout); > >> -+ return (err); > >> -+} > >> -+ > >> - Gpm_Type *I_summa(int fd, unsigned short flags, struct Gpm_Type > *type, int argc, > >> - char **argv) > >> - { > >> -@@ -43,24 +65,6 @@ Gpm_Type *I_summa(int fd, unsigned short > >> - flags = argc = 0; /* FIXME: 1.99.13 */ > >> - argv = NULL; > >> - > >> -- void resetsumma() { > >> -- write(fd, 0, 1); /* Reset */ > >> -- usleep(400000); /* wait */ > >> -- } > >> -- int waitsumma() { > >> -- struct timeval timeout; > >> -- > >> -- fd_set readfds; > >> -- > >> -- int err; > >> -- > >> -- FD_ZERO(&readfds); > >> -- FD_SET(fd, &readfds); > >> -- timeout.tv_sec = 0; > >> -- timeout.tv_usec = 200000; > >> -- err = select(FD_SETSIZE, &readfds, NULL, NULL, &timeout); > >> -- return (err); > >> -- } > >> - int err; > >> - > >> - char buffer[255]; > >> -@@ -91,7 +95,7 @@ Gpm_Type *I_summa(int fd, unsigned short > >> - */ > >> - setspeed(fd, 1200, 9600, 1, > >> - B9600 | CS8 | CREAD | CLOCAL | HUPCL | PARENB | PARODD); > >> -- resetsumma(); > >> -+ resetsumma(fd); > >> - > >> - write(fd, SS_PROMPT_MODE, strlen(SS_PROMPT_MODE)); > >> - > >> -@@ -103,7 +107,7 @@ Gpm_Type *I_summa(int fd, unsigned short > >> - * read the Summa Firm-ID > >> - */ > >> - write(fd, SS_FIRMID, strlen(SS_FIRMID)); > >> -- err = waitsumma(); > >> -+ err = waitsumma(fd); > >> - if(!((err == -1) || (!err))) { > >> - summaid = 10; /* Original Summagraphics */ > >> - read(fd, buffer, 255); /* Read Firm-ID */ > >> -@@ -111,14 +115,14 @@ Gpm_Type *I_summa(int fd, unsigned short > >> - } > >> - > >> - if(summaid < 0) { /* Genius-test */ > >> -- resetsumma(); > >> -+ resetsumma(fd); > >> - write(fd, GEN_MMSERIES, 1); > >> - write(fd, &GEN_MODELL, 1); /* Read modell */ > >> -- err = waitsumma(); > >> -+ err = waitsumma(fd); > >> - if(!((err == -1) || (!err))) { /* read Genius-ID */ > >> -- err = waitsumma(); > >> -+ err = waitsumma(fd); > >> - if(!((err == -1) || (!err))) { > >> -- err = waitsumma(); > >> -+ err = waitsumma(fd); > >> - if(!((err == -1) || (!err))) { > >> - read(fd, &config, 1); > >> - summaid = (config[0] & 224) >> 5; /* genius > tablet-id > >> -@@ -135,14 +139,14 @@ Gpm_Type *I_summa(int fd, unsigned short > >> - * unknown tablet ? > >> - */ > >> - if((summaid < 0) || (summaid == 11)) { > >> -- resetsumma(); > >> -+ resetsumma(fd); > >> - write(fd, SS_BINARY_FMT SS_PROMPT_MODE, 3); > >> - } > >> - > >> - /* > >> - * read tablet size > >> - */ > >> -- err = waitsumma(); > >> -+ err = waitsumma(fd); > >> - if(!((err == -1) || (!err))) > >> - read(fd, buffer, sizeof(buffer)); > >> - write(fd, SS_READCONFIG, 1); > >> -Index: gpm-1.99.7/src/drivers/wacom/i.c > >> -=================================================================== > >> ---- gpm-1.99.7.orig/src/drivers/wacom/i.c > >> -+++ gpm-1.99.7/src/drivers/wacom/i.c > >> -@@ -30,10 +30,6 @@ > >> - #include "message.h" /* gpm_report */ > >> - #include "wacom.h" /* wacom */ > >> - > >> --Gpm_Type *I_wacom(int fd, unsigned short flags, struct Gpm_Type > *type, int argc, > >> -- char **argv) > >> --{ > >> -- > >> - /* wacom graphire tablet */ > >> - #define UD_RESETBAUD "\r$" /* reset baud rate to default (wacom > V) */ > >> - /* > >> -@@ -45,83 +41,91 @@ Gpm_Type *I_wacom(int fd, unsigned short > >> - #define UD_COORD "~C\r" /* Request max coordinates */ > >> - #define UD_STOP "\nSP\r" /* stop sending coordinates */ > >> - > >> -- flags = 0; /* FIXME: 1.99.13 */ > >> - > >> -- void reset_wacom() { > >> -- /* > >> -- * Init Wacom communication; this is modified from xf86Wacom.so > module > >> -- */ > >> -- /* > >> -- * Set speed to 19200 > >> -- */ > >> -- setspeed(fd, 1200, 19200, 0, B19200 | CS8 | CREAD | CLOCAL | > HUPCL); > >> -- /* > >> -- * Send Reset Baudrate Command > >> -- */ > >> -- write(fd, UD_RESETBAUD, strlen(UD_RESETBAUD)); > >> -- usleep(250000); > >> -- /* > >> -- * Send Reset Command > >> -- */ > >> -- write(fd, UD_RESET, strlen(UD_RESET)); > >> -- usleep(75000); > >> -- /* > >> -- * Set speed to 9600bps > >> -- */ > >> -- setspeed(fd, 1200, 9600, 0, B9600 | CS8 | CREAD | CLOCAL | > HUPCL); > >> -- /* > >> -- * Send Reset Command > >> -- */ > >> -- write(fd, UD_RESET, strlen(UD_RESET)); > >> -- usleep(250000); > >> -- write(fd, UD_STOP, strlen(UD_STOP)); > >> -- usleep(100000); > >> -- } > >> -+static void reset_wacom(int fd) > >> -+{ > >> -+ /* > >> -+ * Init Wacom communication; this is modified from xf86Wacom.so > module > >> -+ */ > >> -+ /* > >> -+ * Set speed to 19200 > >> -+ */ > >> -+ setspeed(fd, 1200, 19200, 0, B19200 | CS8 | CREAD | CLOCAL | > HUPCL); > >> -+ /* > >> -+ * Send Reset Baudrate Command > >> -+ */ > >> -+ write(fd, UD_RESETBAUD, strlen(UD_RESETBAUD)); > >> -+ usleep(250000); > >> -+ /* > >> -+ * Send Reset Command > >> -+ */ > >> -+ write(fd, UD_RESET, strlen(UD_RESET)); > >> -+ usleep(75000); > >> -+ /* > >> -+ * Set speed to 9600bps > >> -+ */ > >> -+ setspeed(fd, 1200, 9600, 0, B9600 | CS8 | CREAD | CLOCAL | HUPCL); > >> -+ /* > >> -+ * Send Reset Command > >> -+ */ > >> -+ write(fd, UD_RESET, strlen(UD_RESET)); > >> -+ usleep(250000); > >> -+ write(fd, UD_STOP, strlen(UD_STOP)); > >> -+ usleep(100000); > >> -+} > >> - > >> -- int wait_wacom() { > >> -- /* > >> -- * Wait up to 200 ms for Data from Tablet. > >> -- * Do not read that data. > >> -- * Give back 0 on timeout condition, -1 on error and 1 for > DataPresent > >> -- */ > >> -- struct timeval timeout; > >> -- > >> -- fd_set readfds; > >> -- > >> -- int err; > >> -- > >> -- FD_ZERO(&readfds); > >> -- FD_SET(fd, &readfds); > >> -- timeout.tv_sec = 0; > >> -- timeout.tv_usec = 200000; > >> -- err = select(FD_SETSIZE, &readfds, NULL, NULL, &timeout); > >> -- return ((err > 0) ? 1 : err); > >> -- } > >> -+static int wait_wacom(int fd) > >> -+{ > >> -+ /* > >> -+ * Wait up to 200 ms for Data from Tablet. > >> -+ * Do not read that data. > >> -+ * Give back 0 on timeout condition, -1 on error and 1 for > DataPresent > >> -+ */ > >> -+ struct timeval timeout; > >> - > >> -- char buffer[50], *p; > >> -+ fd_set readfds; > >> - > >> -- int RequestData(char *cmd) { > >> -- int err; > >> -+ int err; > >> - > >> -- /* > >> -- * Send cmd if not null, and get back answer from tablet. > >> -- * Get Data to buffer until full or timeout. > >> -- * Give back 0 for timeout and !0 for buffer full > >> -- */ > >> -- if(cmd) > >> -- write(fd, cmd, strlen(cmd)); > >> -- memset(buffer, 0, sizeof(buffer)); > >> -- p = buffer; > >> -- err = wait_wacom(); > >> -- while(err != -1 && err && (p - buffer) < (int) (sizeof(buffer) > - 1)) { > >> -- p += read(fd, p, (sizeof(buffer) - 1) - (p - buffer)); > >> -- err = wait_wacom(); > >> -- } > >> -- /* > >> -- * return 1 for buffer full > >> -- */ > >> -- return ((strlen(buffer) >= (sizeof(buffer) - 1)) ? !0 : 0); > >> -+ FD_ZERO(&readfds); > >> -+ FD_SET(fd, &readfds); > >> -+ timeout.tv_sec = 0; > >> -+ timeout.tv_usec = 200000; > >> -+ err = select(FD_SETSIZE, &readfds, NULL, NULL, &timeout); > >> -+ return ((err > 0) ? 1 : err); > >> -+} > >> -+ > >> -+static int RequestData(int fd, char *cmd, char *buffer) > >> -+{ > >> -+ int err; > >> -+ char *p; > >> -+ /* > >> -+ * Send cmd if not null, and get back answer from tablet. > >> -+ * Get Data to buffer until full or timeout. > >> -+ * Give back 0 for timeout and !0 for buffer full > >> -+ */ > >> -+ if(cmd) > >> -+ write(fd, cmd, strlen(cmd)); > >> -+ memset(buffer, 0, sizeof(buffer)); > >> -+ p = buffer; > >> -+ err = wait_wacom(fd); > >> -+ while(err != -1 && err && (p - buffer) < (int) (sizeof(buffer) - > 1)) { > >> -+ p += read(fd, p, (sizeof(buffer) - 1) - (p - buffer)); > >> -+ err = wait_wacom(fd); > >> - } > >> -+ /* > >> -+ * return 1 for buffer full > >> -+ */ > >> -+ return ((strlen(buffer) >= (sizeof(buffer) - 1)) ? !0 : 0); > >> -+} > >> -+ > >> -+Gpm_Type *I_wacom(int fd, unsigned short flags, struct Gpm_Type > *type, int argc, > >> -+ char **argv) > >> -+{ > >> -+ > >> -+ flags = 0; /* FIXME: 1.99.13 */ > >> -+ > >> -+ char buffer[50]; > >> - > >> - /* > >> - * We do both modes, relative and absolute, with the same function. > >> -@@ -143,17 +147,17 @@ Gpm_Type *I_wacom(int fd, unsigned short > >> - }; > >> - parse_argv(optioninfo, argc, argv); > >> - type->absolute = WacomAbsoluteWanted; > >> -- reset_wacom(); > >> -+ reset_wacom(fd); > >> - > >> - /* > >> - * "Flush" input queque > >> - */ > >> -- while(RequestData(NULL)) ; > >> -+ while(RequestData(fd, NULL, buffer)) ; > >> - > >> - /* > >> - * read WACOM-ID > >> - */ > >> -- RequestData(UD_FIRMID); > >> -+ RequestData(fd, UD_FIRMID, buffer); > >> - > >> - /* > >> - * Search for matching modell > >> -@@ -180,7 +184,7 @@ Gpm_Type *I_wacom(int fd, unsigned short > >> - * read Wacom max size > >> - */ > >> - if(WacomModell != (-1) && (!wcmodell[WacomModell].maxX)) { > >> -- RequestData(UD_COORD); > >> -+ RequestData(fd, UD_COORD, buffer); > >> - sscanf(buffer + 2, "%d,%d", &wmaxx, &wmaxy); > >> - wmaxx = (wmaxx - wcmodell[WacomModell].border); > >> - wmaxy = (wmaxy - wcmodell[WacomModell].border); > >> diff --git a/meta-oe/recipes-support/gpm/gpm/gpm.service.in > b/meta-oe/recipes-support/gpm/gpm/gpm.service.in > >> new file mode 100644 > >> index 000000000..ee6c040fa > >> --- /dev/null > >> +++ b/meta-oe/recipes-support/gpm/gpm/gpm.service.in > >> @@ -0,0 +1,9 @@ > >> +[Unit] > >> +Description=Virtual console mouse server > >> + > >> +[Service] > >> +Type=forking > >> +ExecStart=@bindir@/gpm -m /dev/input/mice -t imps2 > >> + > >> +[Install] > >> +WantedBy=multi-user.target > >> diff --git a/meta-oe/recipes-support/gpm/gpm-1.99.7/init > b/meta-oe/recipes-support/gpm/gpm/init > >> similarity index 100% > >> rename from meta-oe/recipes-support/gpm/gpm-1.99.7/init > >> rename to meta-oe/recipes-support/gpm/gpm/init > >> diff --git a/meta-oe/recipes-support/gpm/gpm-1.99.7/no-docs.patch > b/meta-oe/recipes-support/gpm/gpm/no-docs.patch > >> similarity index 93% > >> rename from meta-oe/recipes-support/gpm/gpm-1.99.7/no-docs.patch > >> rename to meta-oe/recipes-support/gpm/gpm/no-docs.patch > >> index f10217a94..3faef84ee 100644 > >> --- a/meta-oe/recipes-support/gpm/gpm-1.99.7/no-docs.patch > >> +++ b/meta-oe/recipes-support/gpm/gpm/no-docs.patch > >> @@ -11,7 +11,7 @@ Index: gpm-1.99.7/Makefile.in > >> # user-overridable flags, but it's also all the implicit rule looks > at. > >> # missing ? > >> > >> --SUBDIRS = src doc contrib gpm2 > >> +-SUBDIRS = src doc contrib > >> +SUBDIRS = src > >> > >> > >> diff --git a/meta-oe/recipes-support/gpm/gpm-1.99.7/processcreds.patch > b/meta-oe/recipes-support/gpm/gpm/processcreds.patch > >> similarity index 100% > >> rename from meta-oe/recipes-support/gpm/gpm-1.99.7/processcreds.patch > >> rename to meta-oe/recipes-support/gpm/gpm/processcreds.patch > >> diff --git a/meta-oe/recipes-support/gpm/gpm_1.99.7.bb > b/meta-oe/recipes-support/gpm/gpm_1.99.7.bb > >> deleted file mode 100644 > >> index bbb8c28ac..000000000 > >> --- a/meta-oe/recipes-support/gpm/gpm_1.99.7.bb > >> +++ /dev/null > >> @@ -1,53 +0,0 @@ > >> -DESCRIPTION = "GPM (General Purpose Mouse) is a mouse server \ > >> -for the console and xterm, with sample clients included \ > >> -(emacs, etc)." > >> -SECTION = "console/utils" > >> -LICENSE = "GPLv2+" > >> -LIC_FILES_CHKSUM = "file://gpm2/core/main.c;endline=19;md5= > 66d3c205c4e7ee5704b2ee351dfed72f" > >> - > >> -PR = "r2" > >> - > >> -DEPENDS = "ncurses" > >> - > >> -SRC_URI = "ftp://arcana.linux.it/pub/gpm/gpm-${PV}.tar.bz2 \ > >> - file://no-docs.patch \ > >> - file://processcreds.patch \ > >> - file://eglibc-2.17.patch \ > >> - file://remove_nested_functions.patch \ > >> - file://init" > >> - > >> -inherit autotools-brokensep update-rc.d > >> - > >> -INITSCRIPT_NAME = "gpm" > >> -INITSCRIPT_PARAMS = "defaults" > >> - > >> -#export LIBS = "-lm" > >> - > >> -# all fields are /* FIXME: gpm 1.99.13 */ > >> -# gpm-1.99.7/src/lib/libhigh.c:171:43: error: parameter 'clientdata' > set but not used [-Werror=unused-but-set-parameter] > >> -# gpm-1.99.7/src/lib/report-lib.c:28:21: error: parameter 'line' set > but not used [-Werror=unused-but-set-parameter] > >> -# gpm-1.99.7/src/lib/report-lib.c:28:33: error: parameter 'file' set > but not used [-Werror=unused-but-set-parameter] > >> -# gpm-1.99.7/src/drivers/empty/i.c:26:23: error: parameter 'fd' set > but not used [-Werror=unused-but-set-parameter] > >> -# gpm-1.99.7/src/drivers/empty/i.c:26:42: error: parameter 'flags' > set but not used [-Werror=unused-but-set-parameter] > >> -# gpm-1.99.7/src/drivers/etouch/i.c:34:43: error: parameter 'flags' > set but not used [-Werror=unused-but-set-parameter] > >> -# gpm-1.99.7/src/drivers/msc/r.c:32:12: error: variable 'dy' set but > not used [-Werror=unused-but-set-variable] > >> -# gpm-1.99.7/src/drivers/msc/r.c:32:8: error: variable 'dx' set but > not used [-Werror=unused-but-set-variable] > >> -# cc1: all warnings being treated as errors > >> -CFLAGS += "-Wno-extra -Wno-error=unused-but-set-parameter > -Wno-error=unused-but-set-variable" > >> - > >> -# twiddler is WIP in 1.99.7 and probably not worth fixing (a lot of > changes in gpm-2-dev after 1.99.7 > >> -# gpm-1.99.7/src/drivers/twid/twiddler.c:503:14: error: cast to > pointer from integer of different size [-Werror=int-to-pointer-cast] > >> -# /gpm-1.99.7/src/mice.c:221:5: error: (near initialization for > 'mice[32].init') [-Werror] > >> -CFLAGS += "-Wno-error=int-to-pointer-cast -Wno-error" > >> - > >> -do_install () { > >> - oe_runmake 'DESTDIR=${D}' install > >> - install -m 0644 src/headers/gpm.h ${D}${includedir} > >> - install -d ${D}/${sysconfdir}/init.d > >> - install -m 0755 ${WORKDIR}/init ${D}/${sysconfdir}/init.d/gpm > >> - cd ${D}${libdir} && ln -sf libgpm.so.1.19.0 libgpm.so.1 > >> -} > >> -SRC_URI[md5sum] = "9fdddf5f53cb11d40bb2bb671d3ac544" > >> -SRC_URI[sha256sum] = "6071378b24494e36ca3ef6377606e7 > e565040413c86704753a162d2180af32ee" > >> - > >> -FILES_${PN} += "${datadir}/emacs" > >> diff --git a/meta-oe/recipes-support/gpm/gpm_git.bb > b/meta-oe/recipes-support/gpm/gpm_git.bb > >> new file mode 100644 > >> index 000000000..4c0e9434d > >> --- /dev/null > >> +++ b/meta-oe/recipes-support/gpm/gpm_git.bb > >> @@ -0,0 +1,44 @@ > >> +DESCRIPTION = "GPM (General Purpose Mouse) is a mouse server \ > >> +for the console and xterm, with sample clients included \ > >> +(emacs, etc)." > >> +SECTION = "console/utils" > >> +LICENSE = "GPLv2+" > >> +LIC_FILES_CHKSUM = "file://COPYING;md5=18810669f13b87348459e611d31ab7 > 60" > >> + > >> +PV = "1.99.7+git${SRCREV}" > >> +PR = "r2" > >> +SRCREV = "1fd19417b8a4dd9945347e98dfa97e4cfd798d77" > >> + > >> +DEPENDS = "ncurses" > >> + > >> +SRC_URI = "git://github.com/telmich/gpm;protocol=git \ > >> + file://no-docs.patch \ > >> + file://processcreds.patch \ > >> + file://gpm.service.in \ > >> + file://init" > >> + > >> +S = "${WORKDIR}/git" > >> + > >> +inherit autotools-brokensep update-rc.d systemd > >> + > >> +INITSCRIPT_NAME = "gpm" > >> +INITSCRIPT_PARAMS = "defaults" > >> + > >> +do_configure_prepend() { > >> + (cd ${S};./autogen.sh;cd -) > >> +} > >> + > >> +do_install_append () { > >> + if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', > 'false', d)}; then > >> + install -d ${D}${systemd_system_unitdir} > >> + sed 's:@bindir@:${bindir}:' < ${WORKDIR}/gpm.service.in > >${D}${systemd_system_unitdir}/gpm.service > >> + fi > >> + if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', > 'false', d)}; then > >> + install -D -m 0755 ${WORKDIR}/init > ${D}/${sysconfdir}/init.d/gpm > >> + fi > >> + install -D -m 0644 ${S}/src/headers/gpm.h ${D}${includedir}/gpm.h > >> +} > >> + > >> +SYSTEMD_SERVICE_${PN} = "gpm.service" > >> + > >> +FILES_${PN} += "${datadir}/emacs" > >> -- > >> 2.12.1 > >> > >> -- > >> _______________________________________________ > >> Openembedded-devel mailing list > >> Openembedded-devel@lists.openembedded.org > >> http://lists.openembedded.org/mailman/listinfo/openembedded-devel > > > > -- > > Martin 'JaMa' Jansa jabber: Martin.Jansa@gmail.com > -- _______________________________________________ Openembedded-devel mailing list Openembedded-devel@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-devel
On Wed, Apr 5, 2017 at 10:41 AM, Martin Jansa <martin.jansa@gmail.com> wrote: > I've merged many changes from master-next today, only the ones for > meta-networking layer are left in master-next now. > > Can you please resend remaining changes (rebased on master-next) and > integrate the fixes into them? > I have rebased kraj/master on upstream master and also squashed the changed into the original ones since they were not merged yet. > Thanks > > On Wed, Apr 5, 2017 at 6:38 PM, Khem Raj <raj.khem@gmail.com> wrote: >> >> Thanks Martin for triaging it. The fix is pushed to kraj/master >> >> >> https://github.com/kraj/meta-openembedded/commit/21b5a2ad436439bfddd8b1d30fcfab28d868d063 >> >> >> On Mon, Apr 3, 2017 at 12:19 PM, Martin Jansa <martin.jansa@gmail.com> >> wrote: >> > On Fri, Mar 31, 2017 at 09:42:05AM -0700, Khem Raj wrote: >> >> Additional patches are upstream to fix build with gcc6 and clang >> >> Add systemd unit file >> >> >> >> Signed-off-by: Khem Raj <raj.khem@gmail.com> >> >> --- >> >> .../gpm/gpm-1.99.7/eglibc-2.17.patch | 12 - >> >> .../gpm/gpm-1.99.7/remove_nested_functions.patch | 326 >> >> --------------------- >> >> meta-oe/recipes-support/gpm/gpm/gpm.service.in | 9 + >> >> .../recipes-support/gpm/{gpm-1.99.7 => gpm}/init | 0 >> >> .../gpm/{gpm-1.99.7 => gpm}/no-docs.patch | 2 +- >> >> .../gpm/{gpm-1.99.7 => gpm}/processcreds.patch | 0 >> >> meta-oe/recipes-support/gpm/gpm_1.99.7.bb | 53 ---- >> >> meta-oe/recipes-support/gpm/gpm_git.bb | 44 +++ >> >> 8 files changed, 54 insertions(+), 392 deletions(-) >> >> delete mode 100644 >> >> meta-oe/recipes-support/gpm/gpm-1.99.7/eglibc-2.17.patch >> >> delete mode 100644 >> >> meta-oe/recipes-support/gpm/gpm-1.99.7/remove_nested_functions.patch >> >> create mode 100644 meta-oe/recipes-support/gpm/gpm/gpm.service.in >> >> rename meta-oe/recipes-support/gpm/{gpm-1.99.7 => gpm}/init (100%) >> >> rename meta-oe/recipes-support/gpm/{gpm-1.99.7 => gpm}/no-docs.patch >> >> (93%) >> >> rename meta-oe/recipes-support/gpm/{gpm-1.99.7 => >> >> gpm}/processcreds.patch (100%) >> >> delete mode 100644 meta-oe/recipes-support/gpm/gpm_1.99.7.bb >> >> create mode 100644 meta-oe/recipes-support/gpm/gpm_git.bb >> > >> > This breaks links build, before this change links detected gpm and >> > enabled FB driver: >> > >> > configure:7756: result: yes >> > configure:7756: checking for gpm.h >> > configure:7756: result: yes >> > configure:7766: checking for Gpm_Open in -lgpm >> > configure:7791: i586-oe-linux-gcc -m32 -march=i586 >> > --sysroot=/OE/build/oe-core/tmp-glibc/work/i586-oe-linux/links/2.7-r0/recipe-sysroot >> > -o conftest -O2 -pipe -g -feliminate-unused-debug-types >> > -fdebug-prefix-map=/OE/build/oe-core/tmp-glibc/work/i586-oe-linux/links/2.7-r0=/usr/src/debug/links/2.7-r0 >> > -fdebug-prefix-map=/OE/build/oe-core/tmp-glibc/work/i586-oe-linux/links/2.7-r0/recipe-sysroot-native= >> > -fdebug-prefix-map=/OE/build/oe-core/tmp-glibc/work/i586-oe-linux/links/2.7-r0/recipe-sysroot= >> > -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed conftest.c -lgpm -lm >&5 >> > configure:7791: $? = 0 >> > configure:7800: result: yes >> > configure:7813: checking for Gpm_GetLibVersion >> > configure:7813: i586-oe-linux-gcc -m32 -march=i586 >> > --sysroot=/OE/build/oe-core/tmp-glibc/work/i586-oe-linux/links/2.7-r0/recipe-sysroot >> > -o conftest -O2 -pipe -g -feliminate-unused-debug-types >> > -fdebug-prefix-map=/OE/build/oe-core/tmp-glibc/work/i586-oe-linux/links/2.7-r0=/usr/src/debug/links/2.7-r0 >> > -fdebug-prefix-map=/OE/build/oe-core/tmp-glibc/work/i586-oe-linux/links/2.7-r0/recipe-sysroot-native= >> > -fdebug-prefix-map=/OE/build/oe-core/tmp-glibc/work/i586-oe-linux/links/2.7-r0/recipe-sysroot= >> > -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed conftest.c -lgpm -lm >&5 >> > configure:7813: $? = 0 >> > configure:7813: result: yes >> > >> > >> > with this change: >> > configure:7756: checking for gpm.h >> > configure:7756: result: yes >> > configure:7766: checking for Gpm_Open in -lgpm >> > configure:7791: x86_64-oe-linux-gcc -m64 -march=core2 -mtune=core2 >> > -msse3 -mfpmath=sse >> > --sysroot=/home/jenkins/oe/world/shr-core/tmp-glibc/work/core2-64-oe-linux/links/2.7-r0/recipe-sysroot >> > -o conftest -O2 -pipe -g -feliminate-unused-debug-types >> > -fdebug-prefix-map=/home/jenkins/oe/world/shr-core/tmp-glibc/work/core2-64-oe-linux/links/2.7-r0=/usr/src/debug/links/2.7-r0 >> > -fdebug-prefix-map=/home/jenkins/oe/world/shr-core/tmp-glibc/work/core2-64-oe-linux/links/2.7-r0/recipe-sysroot-native= >> > -fdebug-prefix-map=/home/jenkins/oe/world/shr-core/tmp-glibc/work/core2-64-oe-linux/links/2.7-r0/recipe-sysroot= >> > -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed conftest.c -lgpm -lm >&5 >> > >> > /home/jenkins/oe/world/shr-core/tmp-glibc/work/core2-64-oe-linux/links/2.7-r0/recipe-sysroot-native/usr/bin/x86_64-oe-linux/../../libexec/x86_64-oe-linux/gcc/x86_64-oe-linux/6.3.0/ld: >> > error: cannot find -lgpm >> > /usr/src/debug/links/2.7-r0/build/conftest.c:117: error: undefined >> > reference to 'Gpm_Open' >> > collect2: error: ld returned 1 exit status >> > configure:7791: $? = 1 >> > configure: failed program was: >> > | /* confdefs.h */ >> > | #define PACKAGE_NAME "" >> > | #define PACKAGE_TARNAME "" >> > | #define PACKAGE_VERSION "" >> > | #define PACKAGE_STRING "" >> > | #define PACKAGE_BUGREPORT "" >> > | #define PACKAGE_URL "" >> > | #define PACKAGE "links" >> > | #define VERSION "2.7" >> > | #define STDC_HEADERS 1 >> > | #define HAVE_TYPEOF 1 >> > | #define HAVE_LONG_LONG 1 >> > ... >> > | #define HAVE_LIBM 1 >> > | #define HAVE_GPM_H 1 >> > | /* end confdefs.h. */ >> > | >> > | /* Override any GCC internal prototype to avoid an error. >> > | Use char because int might match the return type of a GCC >> > | builtin and then its argument prototype would still apply. */ >> > | #ifdef __cplusplus >> > | extern "C" >> > | #endif >> > | char Gpm_Open (); >> > | int >> > | main () >> > | { >> > | return Gpm_Open (); >> > | ; >> > | return 0; >> > | } >> > configure:7800: result: no >> > configure:7813: checking for Gpm_GetLibVersion >> > configure:7813: x86_64-oe-linux-gcc -m64 -march=core2 -mtune=core2 >> > -msse3 -mfpmath=sse >> > --sysroot=/home/jenkins/oe/world/shr-core/tmp-glibc/work/core2-64-oe-linux/links/2.7-r0/recipe-sysroot >> > -o conftest -O2 -pipe -g -feliminate-unused-debug-types >> > -fdebug-prefix-map=/home/jenkins/oe/world/shr-core/tmp-glibc/work/core2-64-oe-linux/links/2.7-r0=/usr/src/debug/links/2.7-r0 >> > -fdebug-prefix-map=/home/jenkins/oe/world/shr-core/tmp-glibc/work/core2-64-oe-linux/links/2.7-r0/recipe-sysroot-native= >> > -fdebug-prefix-map=/home/jenkins/oe/world/shr-core/tmp-glibc/work/core2-64-oe-linux/links/2.7-r0/recipe-sysroot= >> > -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed conftest.c -lm >&5 >> > /usr/src/debug/links/2.7-r0/build/conftest.c:140: error: undefined >> > reference to 'Gpm_GetLibVersion' >> > collect2: error: ld returned 1 exit status >> > configure:7813: $? = 1 >> > configure: failed program was: >> > | /* confdefs.h */ >> > | #define PACKAGE_NAME "" >> > | #define PACKAGE_TARNAME "" >> > ... >> > | #define HAVE_LIBM 1 >> > | #define HAVE_GPM_H 1 >> > | /* end confdefs.h. */ >> > | /* Define Gpm_GetLibVersion to an innocuous variant, in case >> > <limits.h> declares Gpm_GetLibVersion. >> > | For example, HP-UX 11i <limits.h> declares gettimeofday. */ >> > | #define Gpm_GetLibVersion innocuous_Gpm_GetLibVersion >> > | >> > | /* System header to define __stub macros and hopefully few prototypes, >> > | which can conflict with char Gpm_GetLibVersion (); below. >> > | Prefer <limits.h> to <assert.h> if __STDC__ is defined, since >> > | <limits.h> exists even on freestanding compilers. */ >> > | >> > | #ifdef __STDC__ >> > | # include <limits.h> >> > | #else >> > | # include <assert.h> >> > | #endif >> > | >> > | #undef Gpm_GetLibVersion >> > | >> > | /* Override any GCC internal prototype to avoid an error. >> > | Use char because int might match the return type of a GCC >> > | builtin and then its argument prototype would still apply. */ >> > | #ifdef __cplusplus >> > | extern "C" >> > | #endif >> > | char Gpm_GetLibVersion (); >> > | /* The GNU C library defines this for functions which it implements >> > | to always fail with ENOSYS. Some functions are actually named >> > | something starting with __ and the normal name is an alias. */ >> > | #if defined __stub_Gpm_GetLibVersion || defined >> > __stub___Gpm_GetLibVersion >> > | choke me >> > | #endif >> > | >> > | int >> > | main () >> > | { >> > | return Gpm_GetLibVersion (); >> > | ; >> > | return 0; >> > | } >> > configure:7813: result: no >> > >> > >> > The dependency is there and library as well: >> > >> > work/core2-64-oe-linux/links/2.7-r0$ find . -name libgpm\* >> > ./recipe-sysroot/usr/lib/libgpm.so.1 >> > ./recipe-sysroot/usr/lib/libgpm.so.2 >> > ./recipe-sysroot/usr/lib/libgpm.a >> > ./recipe-sysroot/usr/lib/libgpm.so.2.1.0 >> > >> > but libgpm.so.1 link is broken: >> > >> > work/core2-64-oe-linux/links/2.7-r0$ ls -lah >> > ./recipe-sysroot/usr/lib/libgpm* >> > -rw-r--r-- 2 jenkins Jenkins 103K Apr 3 08:50 >> > ./recipe-sysroot/usr/lib/libgpm.a >> > lrwxrwxrwx 1 jenkins Jenkins 16 Apr 3 08:56 >> > ./recipe-sysroot/usr/lib/libgpm.so.1 -> libgpm.so.1.19.0 >> > lrwxrwxrwx 1 jenkins Jenkins 15 Apr 3 08:56 >> > ./recipe-sysroot/usr/lib/libgpm.so.2 -> libgpm.so.2.1.0 >> > -rw-r--r-- 2 jenkins Jenkins 23K Apr 3 08:50 >> > ./recipe-sysroot/usr/lib/libgpm.so.2.1.0 >> > >> > with this change there is only the 2.1.0 version: >> > lrwxrwxrwx 1 jenkins Jenkins 15 Apr 3 09:12 >> > ./recipe-sysroot/usr/lib/libgpm.so.2 -> libgpm.so.2.1.0 >> > -rwxr-xr-x 3 jenkins Jenkins 23K Apr 2 12:59 >> > ./recipe-sysroot/usr/lib/libgpm.so.2.1.0 >> > >> > >> >> diff --git a/meta-oe/recipes-support/gpm/gpm-1.99.7/eglibc-2.17.patch >> >> b/meta-oe/recipes-support/gpm/gpm-1.99.7/eglibc-2.17.patch >> >> deleted file mode 100644 >> >> index e43bdcb22..000000000 >> >> --- a/meta-oe/recipes-support/gpm/gpm-1.99.7/eglibc-2.17.patch >> >> +++ /dev/null >> >> @@ -1,12 +0,0 @@ >> >> -Upstream-Status: pending >> >> - >> >> ---- gpm-1.99.7.orig/src/daemon/open_console.c 2008-07-24 >> >> 12:33:05.000000000 +0200 >> >> -+++ gpm-1.99.7/src/daemon/open_console.c 2013-01-10 >> >> 12:39:47.975461947 +0100 >> >> -@@ -23,6 +23,7 @@ >> >> - #include <fcntl.h> /* open and co. */ >> >> - #include <sys/stat.h> /* stat() */ >> >> - #include <sys/ioctl.h> /* ioctl() */ >> >> -+#include <sys/types.h> /* major() */ >> >> - >> >> - /* Linux specific (to be outsourced in gpm2 */ >> >> - #include <linux/serial.h> /* for serial console check */ >> >> diff --git >> >> a/meta-oe/recipes-support/gpm/gpm-1.99.7/remove_nested_functions.patch >> >> b/meta-oe/recipes-support/gpm/gpm-1.99.7/remove_nested_functions.patch >> >> deleted file mode 100644 >> >> index d2d6cb8a8..000000000 >> >> --- >> >> a/meta-oe/recipes-support/gpm/gpm-1.99.7/remove_nested_functions.patch >> >> +++ /dev/null >> >> @@ -1,326 +0,0 @@ >> >> -Remove nested functions, they are not available in all compilers >> >> -e.g. clang will not support them. >> >> - >> >> -Upstream-Status: Pending >> >> -Signed-off-by: Khem Raj <raj.khem@gmail.com> >> >> - >> >> -Index: gpm-1.99.7/src/drivers/summa/i.c >> >> -=================================================================== >> >> ---- gpm-1.99.7.orig/src/drivers/summa/i.c >> >> -+++ gpm-1.99.7/src/drivers/summa/i.c >> >> -@@ -36,6 +36,28 @@ extern int summamaxy; >> >> - >> >> - extern signed char summaid; >> >> - >> >> -+static void resetsumma(int fd) >> >> -+{ >> >> -+ write(fd, 0, 1); /* Reset */ >> >> -+ usleep(400000); /* wait */ >> >> -+} >> >> -+ >> >> -+static int waitsumma(int fd) >> >> -+{ >> >> -+ struct timeval timeout; >> >> -+ >> >> -+ fd_set readfds; >> >> -+ >> >> -+ int err; >> >> -+ >> >> -+ FD_ZERO(&readfds); >> >> -+ FD_SET(fd, &readfds); >> >> -+ timeout.tv_sec = 0; >> >> -+ timeout.tv_usec = 200000; >> >> -+ err = select(FD_SETSIZE, &readfds, NULL, NULL, &timeout); >> >> -+ return (err); >> >> -+} >> >> -+ >> >> - Gpm_Type *I_summa(int fd, unsigned short flags, struct Gpm_Type >> >> *type, int argc, >> >> - char **argv) >> >> - { >> >> -@@ -43,24 +65,6 @@ Gpm_Type *I_summa(int fd, unsigned short >> >> - flags = argc = 0; /* FIXME: 1.99.13 */ >> >> - argv = NULL; >> >> - >> >> -- void resetsumma() { >> >> -- write(fd, 0, 1); /* Reset */ >> >> -- usleep(400000); /* wait */ >> >> -- } >> >> -- int waitsumma() { >> >> -- struct timeval timeout; >> >> -- >> >> -- fd_set readfds; >> >> -- >> >> -- int err; >> >> -- >> >> -- FD_ZERO(&readfds); >> >> -- FD_SET(fd, &readfds); >> >> -- timeout.tv_sec = 0; >> >> -- timeout.tv_usec = 200000; >> >> -- err = select(FD_SETSIZE, &readfds, NULL, NULL, &timeout); >> >> -- return (err); >> >> -- } >> >> - int err; >> >> - >> >> - char buffer[255]; >> >> -@@ -91,7 +95,7 @@ Gpm_Type *I_summa(int fd, unsigned short >> >> - */ >> >> - setspeed(fd, 1200, 9600, 1, >> >> - B9600 | CS8 | CREAD | CLOCAL | HUPCL | PARENB | PARODD); >> >> -- resetsumma(); >> >> -+ resetsumma(fd); >> >> - >> >> - write(fd, SS_PROMPT_MODE, strlen(SS_PROMPT_MODE)); >> >> - >> >> -@@ -103,7 +107,7 @@ Gpm_Type *I_summa(int fd, unsigned short >> >> - * read the Summa Firm-ID >> >> - */ >> >> - write(fd, SS_FIRMID, strlen(SS_FIRMID)); >> >> -- err = waitsumma(); >> >> -+ err = waitsumma(fd); >> >> - if(!((err == -1) || (!err))) { >> >> - summaid = 10; /* Original Summagraphics */ >> >> - read(fd, buffer, 255); /* Read Firm-ID */ >> >> -@@ -111,14 +115,14 @@ Gpm_Type *I_summa(int fd, unsigned short >> >> - } >> >> - >> >> - if(summaid < 0) { /* Genius-test */ >> >> -- resetsumma(); >> >> -+ resetsumma(fd); >> >> - write(fd, GEN_MMSERIES, 1); >> >> - write(fd, &GEN_MODELL, 1); /* Read modell */ >> >> -- err = waitsumma(); >> >> -+ err = waitsumma(fd); >> >> - if(!((err == -1) || (!err))) { /* read Genius-ID */ >> >> -- err = waitsumma(); >> >> -+ err = waitsumma(fd); >> >> - if(!((err == -1) || (!err))) { >> >> -- err = waitsumma(); >> >> -+ err = waitsumma(fd); >> >> - if(!((err == -1) || (!err))) { >> >> - read(fd, &config, 1); >> >> - summaid = (config[0] & 224) >> 5; /* genius >> >> tablet-id >> >> -@@ -135,14 +139,14 @@ Gpm_Type *I_summa(int fd, unsigned short >> >> - * unknown tablet ? >> >> - */ >> >> - if((summaid < 0) || (summaid == 11)) { >> >> -- resetsumma(); >> >> -+ resetsumma(fd); >> >> - write(fd, SS_BINARY_FMT SS_PROMPT_MODE, 3); >> >> - } >> >> - >> >> - /* >> >> - * read tablet size >> >> - */ >> >> -- err = waitsumma(); >> >> -+ err = waitsumma(fd); >> >> - if(!((err == -1) || (!err))) >> >> - read(fd, buffer, sizeof(buffer)); >> >> - write(fd, SS_READCONFIG, 1); >> >> -Index: gpm-1.99.7/src/drivers/wacom/i.c >> >> -=================================================================== >> >> ---- gpm-1.99.7.orig/src/drivers/wacom/i.c >> >> -+++ gpm-1.99.7/src/drivers/wacom/i.c >> >> -@@ -30,10 +30,6 @@ >> >> - #include "message.h" /* gpm_report */ >> >> - #include "wacom.h" /* wacom */ >> >> - >> >> --Gpm_Type *I_wacom(int fd, unsigned short flags, struct Gpm_Type >> >> *type, int argc, >> >> -- char **argv) >> >> --{ >> >> -- >> >> - /* wacom graphire tablet */ >> >> - #define UD_RESETBAUD "\r$" /* reset baud rate to default (wacom >> >> V) */ >> >> - /* >> >> -@@ -45,83 +41,91 @@ Gpm_Type *I_wacom(int fd, unsigned short >> >> - #define UD_COORD "~C\r" /* Request max coordinates */ >> >> - #define UD_STOP "\nSP\r" /* stop sending coordinates >> >> */ >> >> - >> >> -- flags = 0; /* FIXME: 1.99.13 */ >> >> - >> >> -- void reset_wacom() { >> >> -- /* >> >> -- * Init Wacom communication; this is modified from xf86Wacom.so >> >> module >> >> -- */ >> >> -- /* >> >> -- * Set speed to 19200 >> >> -- */ >> >> -- setspeed(fd, 1200, 19200, 0, B19200 | CS8 | CREAD | CLOCAL | >> >> HUPCL); >> >> -- /* >> >> -- * Send Reset Baudrate Command >> >> -- */ >> >> -- write(fd, UD_RESETBAUD, strlen(UD_RESETBAUD)); >> >> -- usleep(250000); >> >> -- /* >> >> -- * Send Reset Command >> >> -- */ >> >> -- write(fd, UD_RESET, strlen(UD_RESET)); >> >> -- usleep(75000); >> >> -- /* >> >> -- * Set speed to 9600bps >> >> -- */ >> >> -- setspeed(fd, 1200, 9600, 0, B9600 | CS8 | CREAD | CLOCAL | >> >> HUPCL); >> >> -- /* >> >> -- * Send Reset Command >> >> -- */ >> >> -- write(fd, UD_RESET, strlen(UD_RESET)); >> >> -- usleep(250000); >> >> -- write(fd, UD_STOP, strlen(UD_STOP)); >> >> -- usleep(100000); >> >> -- } >> >> -+static void reset_wacom(int fd) >> >> -+{ >> >> -+ /* >> >> -+ * Init Wacom communication; this is modified from xf86Wacom.so >> >> module >> >> -+ */ >> >> -+ /* >> >> -+ * Set speed to 19200 >> >> -+ */ >> >> -+ setspeed(fd, 1200, 19200, 0, B19200 | CS8 | CREAD | CLOCAL | >> >> HUPCL); >> >> -+ /* >> >> -+ * Send Reset Baudrate Command >> >> -+ */ >> >> -+ write(fd, UD_RESETBAUD, strlen(UD_RESETBAUD)); >> >> -+ usleep(250000); >> >> -+ /* >> >> -+ * Send Reset Command >> >> -+ */ >> >> -+ write(fd, UD_RESET, strlen(UD_RESET)); >> >> -+ usleep(75000); >> >> -+ /* >> >> -+ * Set speed to 9600bps >> >> -+ */ >> >> -+ setspeed(fd, 1200, 9600, 0, B9600 | CS8 | CREAD | CLOCAL | HUPCL); >> >> -+ /* >> >> -+ * Send Reset Command >> >> -+ */ >> >> -+ write(fd, UD_RESET, strlen(UD_RESET)); >> >> -+ usleep(250000); >> >> -+ write(fd, UD_STOP, strlen(UD_STOP)); >> >> -+ usleep(100000); >> >> -+} >> >> - >> >> -- int wait_wacom() { >> >> -- /* >> >> -- * Wait up to 200 ms for Data from Tablet. >> >> -- * Do not read that data. >> >> -- * Give back 0 on timeout condition, -1 on error and 1 for >> >> DataPresent >> >> -- */ >> >> -- struct timeval timeout; >> >> -- >> >> -- fd_set readfds; >> >> -- >> >> -- int err; >> >> -- >> >> -- FD_ZERO(&readfds); >> >> -- FD_SET(fd, &readfds); >> >> -- timeout.tv_sec = 0; >> >> -- timeout.tv_usec = 200000; >> >> -- err = select(FD_SETSIZE, &readfds, NULL, NULL, &timeout); >> >> -- return ((err > 0) ? 1 : err); >> >> -- } >> >> -+static int wait_wacom(int fd) >> >> -+{ >> >> -+ /* >> >> -+ * Wait up to 200 ms for Data from Tablet. >> >> -+ * Do not read that data. >> >> -+ * Give back 0 on timeout condition, -1 on error and 1 for >> >> DataPresent >> >> -+ */ >> >> -+ struct timeval timeout; >> >> - >> >> -- char buffer[50], *p; >> >> -+ fd_set readfds; >> >> - >> >> -- int RequestData(char *cmd) { >> >> -- int err; >> >> -+ int err; >> >> - >> >> -- /* >> >> -- * Send cmd if not null, and get back answer from tablet. >> >> -- * Get Data to buffer until full or timeout. >> >> -- * Give back 0 for timeout and !0 for buffer full >> >> -- */ >> >> -- if(cmd) >> >> -- write(fd, cmd, strlen(cmd)); >> >> -- memset(buffer, 0, sizeof(buffer)); >> >> -- p = buffer; >> >> -- err = wait_wacom(); >> >> -- while(err != -1 && err && (p - buffer) < (int) (sizeof(buffer) >> >> - 1)) { >> >> -- p += read(fd, p, (sizeof(buffer) - 1) - (p - buffer)); >> >> -- err = wait_wacom(); >> >> -- } >> >> -- /* >> >> -- * return 1 for buffer full >> >> -- */ >> >> -- return ((strlen(buffer) >= (sizeof(buffer) - 1)) ? !0 : 0); >> >> -+ FD_ZERO(&readfds); >> >> -+ FD_SET(fd, &readfds); >> >> -+ timeout.tv_sec = 0; >> >> -+ timeout.tv_usec = 200000; >> >> -+ err = select(FD_SETSIZE, &readfds, NULL, NULL, &timeout); >> >> -+ return ((err > 0) ? 1 : err); >> >> -+} >> >> -+ >> >> -+static int RequestData(int fd, char *cmd, char *buffer) >> >> -+{ >> >> -+ int err; >> >> -+ char *p; >> >> -+ /* >> >> -+ * Send cmd if not null, and get back answer from tablet. >> >> -+ * Get Data to buffer until full or timeout. >> >> -+ * Give back 0 for timeout and !0 for buffer full >> >> -+ */ >> >> -+ if(cmd) >> >> -+ write(fd, cmd, strlen(cmd)); >> >> -+ memset(buffer, 0, sizeof(buffer)); >> >> -+ p = buffer; >> >> -+ err = wait_wacom(fd); >> >> -+ while(err != -1 && err && (p - buffer) < (int) (sizeof(buffer) - >> >> 1)) { >> >> -+ p += read(fd, p, (sizeof(buffer) - 1) - (p - buffer)); >> >> -+ err = wait_wacom(fd); >> >> - } >> >> -+ /* >> >> -+ * return 1 for buffer full >> >> -+ */ >> >> -+ return ((strlen(buffer) >= (sizeof(buffer) - 1)) ? !0 : 0); >> >> -+} >> >> -+ >> >> -+Gpm_Type *I_wacom(int fd, unsigned short flags, struct Gpm_Type >> >> *type, int argc, >> >> -+ char **argv) >> >> -+{ >> >> -+ >> >> -+ flags = 0; /* FIXME: 1.99.13 */ >> >> -+ >> >> -+ char buffer[50]; >> >> - >> >> - /* >> >> - * We do both modes, relative and absolute, with the same >> >> function. >> >> -@@ -143,17 +147,17 @@ Gpm_Type *I_wacom(int fd, unsigned short >> >> - }; >> >> - parse_argv(optioninfo, argc, argv); >> >> - type->absolute = WacomAbsoluteWanted; >> >> -- reset_wacom(); >> >> -+ reset_wacom(fd); >> >> - >> >> - /* >> >> - * "Flush" input queque >> >> - */ >> >> -- while(RequestData(NULL)) ; >> >> -+ while(RequestData(fd, NULL, buffer)) ; >> >> - >> >> - /* >> >> - * read WACOM-ID >> >> - */ >> >> -- RequestData(UD_FIRMID); >> >> -+ RequestData(fd, UD_FIRMID, buffer); >> >> - >> >> - /* >> >> - * Search for matching modell >> >> -@@ -180,7 +184,7 @@ Gpm_Type *I_wacom(int fd, unsigned short >> >> - * read Wacom max size >> >> - */ >> >> - if(WacomModell != (-1) && (!wcmodell[WacomModell].maxX)) { >> >> -- RequestData(UD_COORD); >> >> -+ RequestData(fd, UD_COORD, buffer); >> >> - sscanf(buffer + 2, "%d,%d", &wmaxx, &wmaxy); >> >> - wmaxx = (wmaxx - wcmodell[WacomModell].border); >> >> - wmaxy = (wmaxy - wcmodell[WacomModell].border); >> >> diff --git a/meta-oe/recipes-support/gpm/gpm/gpm.service.in >> >> b/meta-oe/recipes-support/gpm/gpm/gpm.service.in >> >> new file mode 100644 >> >> index 000000000..ee6c040fa >> >> --- /dev/null >> >> +++ b/meta-oe/recipes-support/gpm/gpm/gpm.service.in >> >> @@ -0,0 +1,9 @@ >> >> +[Unit] >> >> +Description=Virtual console mouse server >> >> + >> >> +[Service] >> >> +Type=forking >> >> +ExecStart=@bindir@/gpm -m /dev/input/mice -t imps2 >> >> + >> >> +[Install] >> >> +WantedBy=multi-user.target >> >> diff --git a/meta-oe/recipes-support/gpm/gpm-1.99.7/init >> >> b/meta-oe/recipes-support/gpm/gpm/init >> >> similarity index 100% >> >> rename from meta-oe/recipes-support/gpm/gpm-1.99.7/init >> >> rename to meta-oe/recipes-support/gpm/gpm/init >> >> diff --git a/meta-oe/recipes-support/gpm/gpm-1.99.7/no-docs.patch >> >> b/meta-oe/recipes-support/gpm/gpm/no-docs.patch >> >> similarity index 93% >> >> rename from meta-oe/recipes-support/gpm/gpm-1.99.7/no-docs.patch >> >> rename to meta-oe/recipes-support/gpm/gpm/no-docs.patch >> >> index f10217a94..3faef84ee 100644 >> >> --- a/meta-oe/recipes-support/gpm/gpm-1.99.7/no-docs.patch >> >> +++ b/meta-oe/recipes-support/gpm/gpm/no-docs.patch >> >> @@ -11,7 +11,7 @@ Index: gpm-1.99.7/Makefile.in >> >> # user-overridable flags, but it's also all the implicit rule looks >> >> at. >> >> # missing ? >> >> >> >> --SUBDIRS = src doc contrib gpm2 >> >> +-SUBDIRS = src doc contrib >> >> +SUBDIRS = src >> >> >> >> >> >> diff --git a/meta-oe/recipes-support/gpm/gpm-1.99.7/processcreds.patch >> >> b/meta-oe/recipes-support/gpm/gpm/processcreds.patch >> >> similarity index 100% >> >> rename from meta-oe/recipes-support/gpm/gpm-1.99.7/processcreds.patch >> >> rename to meta-oe/recipes-support/gpm/gpm/processcreds.patch >> >> diff --git a/meta-oe/recipes-support/gpm/gpm_1.99.7.bb >> >> b/meta-oe/recipes-support/gpm/gpm_1.99.7.bb >> >> deleted file mode 100644 >> >> index bbb8c28ac..000000000 >> >> --- a/meta-oe/recipes-support/gpm/gpm_1.99.7.bb >> >> +++ /dev/null >> >> @@ -1,53 +0,0 @@ >> >> -DESCRIPTION = "GPM (General Purpose Mouse) is a mouse server \ >> >> -for the console and xterm, with sample clients included \ >> >> -(emacs, etc)." >> >> -SECTION = "console/utils" >> >> -LICENSE = "GPLv2+" >> >> -LIC_FILES_CHKSUM = >> >> "file://gpm2/core/main.c;endline=19;md5=66d3c205c4e7ee5704b2ee351dfed72f" >> >> - >> >> -PR = "r2" >> >> - >> >> -DEPENDS = "ncurses" >> >> - >> >> -SRC_URI = "ftp://arcana.linux.it/pub/gpm/gpm-${PV}.tar.bz2 \ >> >> - file://no-docs.patch \ >> >> - file://processcreds.patch \ >> >> - file://eglibc-2.17.patch \ >> >> - file://remove_nested_functions.patch \ >> >> - file://init" >> >> - >> >> -inherit autotools-brokensep update-rc.d >> >> - >> >> -INITSCRIPT_NAME = "gpm" >> >> -INITSCRIPT_PARAMS = "defaults" >> >> - >> >> -#export LIBS = "-lm" >> >> - >> >> -# all fields are /* FIXME: gpm 1.99.13 */ >> >> -# gpm-1.99.7/src/lib/libhigh.c:171:43: error: parameter 'clientdata' >> >> set but not used [-Werror=unused-but-set-parameter] >> >> -# gpm-1.99.7/src/lib/report-lib.c:28:21: error: parameter 'line' set >> >> but not used [-Werror=unused-but-set-parameter] >> >> -# gpm-1.99.7/src/lib/report-lib.c:28:33: error: parameter 'file' set >> >> but not used [-Werror=unused-but-set-parameter] >> >> -# gpm-1.99.7/src/drivers/empty/i.c:26:23: error: parameter 'fd' set >> >> but not used [-Werror=unused-but-set-parameter] >> >> -# gpm-1.99.7/src/drivers/empty/i.c:26:42: error: parameter 'flags' set >> >> but not used [-Werror=unused-but-set-parameter] >> >> -# gpm-1.99.7/src/drivers/etouch/i.c:34:43: error: parameter 'flags' >> >> set but not used [-Werror=unused-but-set-parameter] >> >> -# gpm-1.99.7/src/drivers/msc/r.c:32:12: error: variable 'dy' set but >> >> not used [-Werror=unused-but-set-variable] >> >> -# gpm-1.99.7/src/drivers/msc/r.c:32:8: error: variable 'dx' set but >> >> not used [-Werror=unused-but-set-variable] >> >> -# cc1: all warnings being treated as errors >> >> -CFLAGS += "-Wno-extra -Wno-error=unused-but-set-parameter >> >> -Wno-error=unused-but-set-variable" >> >> - >> >> -# twiddler is WIP in 1.99.7 and probably not worth fixing (a lot of >> >> changes in gpm-2-dev after 1.99.7 >> >> -# gpm-1.99.7/src/drivers/twid/twiddler.c:503:14: error: cast to >> >> pointer from integer of different size [-Werror=int-to-pointer-cast] >> >> -# /gpm-1.99.7/src/mice.c:221:5: error: (near initialization for >> >> 'mice[32].init') [-Werror] >> >> -CFLAGS += "-Wno-error=int-to-pointer-cast -Wno-error" >> >> - >> >> -do_install () { >> >> - oe_runmake 'DESTDIR=${D}' install >> >> - install -m 0644 src/headers/gpm.h ${D}${includedir} >> >> - install -d ${D}/${sysconfdir}/init.d >> >> - install -m 0755 ${WORKDIR}/init ${D}/${sysconfdir}/init.d/gpm >> >> - cd ${D}${libdir} && ln -sf libgpm.so.1.19.0 libgpm.so.1 >> >> -} >> >> -SRC_URI[md5sum] = "9fdddf5f53cb11d40bb2bb671d3ac544" >> >> -SRC_URI[sha256sum] = >> >> "6071378b24494e36ca3ef6377606e7e565040413c86704753a162d2180af32ee" >> >> - >> >> -FILES_${PN} += "${datadir}/emacs" >> >> diff --git a/meta-oe/recipes-support/gpm/gpm_git.bb >> >> b/meta-oe/recipes-support/gpm/gpm_git.bb >> >> new file mode 100644 >> >> index 000000000..4c0e9434d >> >> --- /dev/null >> >> +++ b/meta-oe/recipes-support/gpm/gpm_git.bb >> >> @@ -0,0 +1,44 @@ >> >> +DESCRIPTION = "GPM (General Purpose Mouse) is a mouse server \ >> >> +for the console and xterm, with sample clients included \ >> >> +(emacs, etc)." >> >> +SECTION = "console/utils" >> >> +LICENSE = "GPLv2+" >> >> +LIC_FILES_CHKSUM = >> >> "file://COPYING;md5=18810669f13b87348459e611d31ab760" >> >> + >> >> +PV = "1.99.7+git${SRCREV}" >> >> +PR = "r2" >> >> +SRCREV = "1fd19417b8a4dd9945347e98dfa97e4cfd798d77" >> >> + >> >> +DEPENDS = "ncurses" >> >> + >> >> +SRC_URI = "git://github.com/telmich/gpm;protocol=git \ >> >> + file://no-docs.patch \ >> >> + file://processcreds.patch \ >> >> + file://gpm.service.in \ >> >> + file://init" >> >> + >> >> +S = "${WORKDIR}/git" >> >> + >> >> +inherit autotools-brokensep update-rc.d systemd >> >> + >> >> +INITSCRIPT_NAME = "gpm" >> >> +INITSCRIPT_PARAMS = "defaults" >> >> + >> >> +do_configure_prepend() { >> >> + (cd ${S};./autogen.sh;cd -) >> >> +} >> >> + >> >> +do_install_append () { >> >> + if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', >> >> 'false', d)}; then >> >> + install -d ${D}${systemd_system_unitdir} >> >> + sed 's:@bindir@:${bindir}:' < ${WORKDIR}/gpm.service.in >> >> >${D}${systemd_system_unitdir}/gpm.service >> >> + fi >> >> + if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', >> >> 'false', d)}; then >> >> + install -D -m 0755 ${WORKDIR}/init >> >> ${D}/${sysconfdir}/init.d/gpm >> >> + fi >> >> + install -D -m 0644 ${S}/src/headers/gpm.h ${D}${includedir}/gpm.h >> >> +} >> >> + >> >> +SYSTEMD_SERVICE_${PN} = "gpm.service" >> >> + >> >> +FILES_${PN} += "${datadir}/emacs" >> >> -- >> >> 2.12.1 >> >> >> >> -- >> >> _______________________________________________ >> >> Openembedded-devel mailing list >> >> Openembedded-devel@lists.openembedded.org >> >> http://lists.openembedded.org/mailman/listinfo/openembedded-devel >> > >> > -- >> > Martin 'JaMa' Jansa jabber: Martin.Jansa@gmail.com > > -- _______________________________________________ Openembedded-devel mailing list Openembedded-devel@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-devel
I have created a new branch kraj/master-next which has the changes rebased on top of upstream master-next On Wed, Apr 5, 2017 at 10:41 AM, Martin Jansa <martin.jansa@gmail.com> wrote: > I've merged many changes from master-next today, only the ones for > meta-networking layer are left in master-next now. > > Can you please resend remaining changes (rebased on master-next) and > integrate the fixes into them? > > Thanks > > On Wed, Apr 5, 2017 at 6:38 PM, Khem Raj <raj.khem@gmail.com> wrote: >> >> Thanks Martin for triaging it. The fix is pushed to kraj/master >> >> >> https://github.com/kraj/meta-openembedded/commit/21b5a2ad436439bfddd8b1d30fcfab28d868d063 >> >> >> On Mon, Apr 3, 2017 at 12:19 PM, Martin Jansa <martin.jansa@gmail.com> >> wrote: >> > On Fri, Mar 31, 2017 at 09:42:05AM -0700, Khem Raj wrote: >> >> Additional patches are upstream to fix build with gcc6 and clang >> >> Add systemd unit file >> >> >> >> Signed-off-by: Khem Raj <raj.khem@gmail.com> >> >> --- >> >> .../gpm/gpm-1.99.7/eglibc-2.17.patch | 12 - >> >> .../gpm/gpm-1.99.7/remove_nested_functions.patch | 326 >> >> --------------------- >> >> meta-oe/recipes-support/gpm/gpm/gpm.service.in | 9 + >> >> .../recipes-support/gpm/{gpm-1.99.7 => gpm}/init | 0 >> >> .../gpm/{gpm-1.99.7 => gpm}/no-docs.patch | 2 +- >> >> .../gpm/{gpm-1.99.7 => gpm}/processcreds.patch | 0 >> >> meta-oe/recipes-support/gpm/gpm_1.99.7.bb | 53 ---- >> >> meta-oe/recipes-support/gpm/gpm_git.bb | 44 +++ >> >> 8 files changed, 54 insertions(+), 392 deletions(-) >> >> delete mode 100644 >> >> meta-oe/recipes-support/gpm/gpm-1.99.7/eglibc-2.17.patch >> >> delete mode 100644 >> >> meta-oe/recipes-support/gpm/gpm-1.99.7/remove_nested_functions.patch >> >> create mode 100644 meta-oe/recipes-support/gpm/gpm/gpm.service.in >> >> rename meta-oe/recipes-support/gpm/{gpm-1.99.7 => gpm}/init (100%) >> >> rename meta-oe/recipes-support/gpm/{gpm-1.99.7 => gpm}/no-docs.patch >> >> (93%) >> >> rename meta-oe/recipes-support/gpm/{gpm-1.99.7 => >> >> gpm}/processcreds.patch (100%) >> >> delete mode 100644 meta-oe/recipes-support/gpm/gpm_1.99.7.bb >> >> create mode 100644 meta-oe/recipes-support/gpm/gpm_git.bb >> > >> > This breaks links build, before this change links detected gpm and >> > enabled FB driver: >> > >> > configure:7756: result: yes >> > configure:7756: checking for gpm.h >> > configure:7756: result: yes >> > configure:7766: checking for Gpm_Open in -lgpm >> > configure:7791: i586-oe-linux-gcc -m32 -march=i586 >> > --sysroot=/OE/build/oe-core/tmp-glibc/work/i586-oe-linux/links/2.7-r0/recipe-sysroot >> > -o conftest -O2 -pipe -g -feliminate-unused-debug-types >> > -fdebug-prefix-map=/OE/build/oe-core/tmp-glibc/work/i586-oe-linux/links/2.7-r0=/usr/src/debug/links/2.7-r0 >> > -fdebug-prefix-map=/OE/build/oe-core/tmp-glibc/work/i586-oe-linux/links/2.7-r0/recipe-sysroot-native= >> > -fdebug-prefix-map=/OE/build/oe-core/tmp-glibc/work/i586-oe-linux/links/2.7-r0/recipe-sysroot= >> > -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed conftest.c -lgpm -lm >&5 >> > configure:7791: $? = 0 >> > configure:7800: result: yes >> > configure:7813: checking for Gpm_GetLibVersion >> > configure:7813: i586-oe-linux-gcc -m32 -march=i586 >> > --sysroot=/OE/build/oe-core/tmp-glibc/work/i586-oe-linux/links/2.7-r0/recipe-sysroot >> > -o conftest -O2 -pipe -g -feliminate-unused-debug-types >> > -fdebug-prefix-map=/OE/build/oe-core/tmp-glibc/work/i586-oe-linux/links/2.7-r0=/usr/src/debug/links/2.7-r0 >> > -fdebug-prefix-map=/OE/build/oe-core/tmp-glibc/work/i586-oe-linux/links/2.7-r0/recipe-sysroot-native= >> > -fdebug-prefix-map=/OE/build/oe-core/tmp-glibc/work/i586-oe-linux/links/2.7-r0/recipe-sysroot= >> > -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed conftest.c -lgpm -lm >&5 >> > configure:7813: $? = 0 >> > configure:7813: result: yes >> > >> > >> > with this change: >> > configure:7756: checking for gpm.h >> > configure:7756: result: yes >> > configure:7766: checking for Gpm_Open in -lgpm >> > configure:7791: x86_64-oe-linux-gcc -m64 -march=core2 -mtune=core2 >> > -msse3 -mfpmath=sse >> > --sysroot=/home/jenkins/oe/world/shr-core/tmp-glibc/work/core2-64-oe-linux/links/2.7-r0/recipe-sysroot >> > -o conftest -O2 -pipe -g -feliminate-unused-debug-types >> > -fdebug-prefix-map=/home/jenkins/oe/world/shr-core/tmp-glibc/work/core2-64-oe-linux/links/2.7-r0=/usr/src/debug/links/2.7-r0 >> > -fdebug-prefix-map=/home/jenkins/oe/world/shr-core/tmp-glibc/work/core2-64-oe-linux/links/2.7-r0/recipe-sysroot-native= >> > -fdebug-prefix-map=/home/jenkins/oe/world/shr-core/tmp-glibc/work/core2-64-oe-linux/links/2.7-r0/recipe-sysroot= >> > -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed conftest.c -lgpm -lm >&5 >> > >> > /home/jenkins/oe/world/shr-core/tmp-glibc/work/core2-64-oe-linux/links/2.7-r0/recipe-sysroot-native/usr/bin/x86_64-oe-linux/../../libexec/x86_64-oe-linux/gcc/x86_64-oe-linux/6.3.0/ld: >> > error: cannot find -lgpm >> > /usr/src/debug/links/2.7-r0/build/conftest.c:117: error: undefined >> > reference to 'Gpm_Open' >> > collect2: error: ld returned 1 exit status >> > configure:7791: $? = 1 >> > configure: failed program was: >> > | /* confdefs.h */ >> > | #define PACKAGE_NAME "" >> > | #define PACKAGE_TARNAME "" >> > | #define PACKAGE_VERSION "" >> > | #define PACKAGE_STRING "" >> > | #define PACKAGE_BUGREPORT "" >> > | #define PACKAGE_URL "" >> > | #define PACKAGE "links" >> > | #define VERSION "2.7" >> > | #define STDC_HEADERS 1 >> > | #define HAVE_TYPEOF 1 >> > | #define HAVE_LONG_LONG 1 >> > ... >> > | #define HAVE_LIBM 1 >> > | #define HAVE_GPM_H 1 >> > | /* end confdefs.h. */ >> > | >> > | /* Override any GCC internal prototype to avoid an error. >> > | Use char because int might match the return type of a GCC >> > | builtin and then its argument prototype would still apply. */ >> > | #ifdef __cplusplus >> > | extern "C" >> > | #endif >> > | char Gpm_Open (); >> > | int >> > | main () >> > | { >> > | return Gpm_Open (); >> > | ; >> > | return 0; >> > | } >> > configure:7800: result: no >> > configure:7813: checking for Gpm_GetLibVersion >> > configure:7813: x86_64-oe-linux-gcc -m64 -march=core2 -mtune=core2 >> > -msse3 -mfpmath=sse >> > --sysroot=/home/jenkins/oe/world/shr-core/tmp-glibc/work/core2-64-oe-linux/links/2.7-r0/recipe-sysroot >> > -o conftest -O2 -pipe -g -feliminate-unused-debug-types >> > -fdebug-prefix-map=/home/jenkins/oe/world/shr-core/tmp-glibc/work/core2-64-oe-linux/links/2.7-r0=/usr/src/debug/links/2.7-r0 >> > -fdebug-prefix-map=/home/jenkins/oe/world/shr-core/tmp-glibc/work/core2-64-oe-linux/links/2.7-r0/recipe-sysroot-native= >> > -fdebug-prefix-map=/home/jenkins/oe/world/shr-core/tmp-glibc/work/core2-64-oe-linux/links/2.7-r0/recipe-sysroot= >> > -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed conftest.c -lm >&5 >> > /usr/src/debug/links/2.7-r0/build/conftest.c:140: error: undefined >> > reference to 'Gpm_GetLibVersion' >> > collect2: error: ld returned 1 exit status >> > configure:7813: $? = 1 >> > configure: failed program was: >> > | /* confdefs.h */ >> > | #define PACKAGE_NAME "" >> > | #define PACKAGE_TARNAME "" >> > ... >> > | #define HAVE_LIBM 1 >> > | #define HAVE_GPM_H 1 >> > | /* end confdefs.h. */ >> > | /* Define Gpm_GetLibVersion to an innocuous variant, in case >> > <limits.h> declares Gpm_GetLibVersion. >> > | For example, HP-UX 11i <limits.h> declares gettimeofday. */ >> > | #define Gpm_GetLibVersion innocuous_Gpm_GetLibVersion >> > | >> > | /* System header to define __stub macros and hopefully few prototypes, >> > | which can conflict with char Gpm_GetLibVersion (); below. >> > | Prefer <limits.h> to <assert.h> if __STDC__ is defined, since >> > | <limits.h> exists even on freestanding compilers. */ >> > | >> > | #ifdef __STDC__ >> > | # include <limits.h> >> > | #else >> > | # include <assert.h> >> > | #endif >> > | >> > | #undef Gpm_GetLibVersion >> > | >> > | /* Override any GCC internal prototype to avoid an error. >> > | Use char because int might match the return type of a GCC >> > | builtin and then its argument prototype would still apply. */ >> > | #ifdef __cplusplus >> > | extern "C" >> > | #endif >> > | char Gpm_GetLibVersion (); >> > | /* The GNU C library defines this for functions which it implements >> > | to always fail with ENOSYS. Some functions are actually named >> > | something starting with __ and the normal name is an alias. */ >> > | #if defined __stub_Gpm_GetLibVersion || defined >> > __stub___Gpm_GetLibVersion >> > | choke me >> > | #endif >> > | >> > | int >> > | main () >> > | { >> > | return Gpm_GetLibVersion (); >> > | ; >> > | return 0; >> > | } >> > configure:7813: result: no >> > >> > >> > The dependency is there and library as well: >> > >> > work/core2-64-oe-linux/links/2.7-r0$ find . -name libgpm\* >> > ./recipe-sysroot/usr/lib/libgpm.so.1 >> > ./recipe-sysroot/usr/lib/libgpm.so.2 >> > ./recipe-sysroot/usr/lib/libgpm.a >> > ./recipe-sysroot/usr/lib/libgpm.so.2.1.0 >> > >> > but libgpm.so.1 link is broken: >> > >> > work/core2-64-oe-linux/links/2.7-r0$ ls -lah >> > ./recipe-sysroot/usr/lib/libgpm* >> > -rw-r--r-- 2 jenkins Jenkins 103K Apr 3 08:50 >> > ./recipe-sysroot/usr/lib/libgpm.a >> > lrwxrwxrwx 1 jenkins Jenkins 16 Apr 3 08:56 >> > ./recipe-sysroot/usr/lib/libgpm.so.1 -> libgpm.so.1.19.0 >> > lrwxrwxrwx 1 jenkins Jenkins 15 Apr 3 08:56 >> > ./recipe-sysroot/usr/lib/libgpm.so.2 -> libgpm.so.2.1.0 >> > -rw-r--r-- 2 jenkins Jenkins 23K Apr 3 08:50 >> > ./recipe-sysroot/usr/lib/libgpm.so.2.1.0 >> > >> > with this change there is only the 2.1.0 version: >> > lrwxrwxrwx 1 jenkins Jenkins 15 Apr 3 09:12 >> > ./recipe-sysroot/usr/lib/libgpm.so.2 -> libgpm.so.2.1.0 >> > -rwxr-xr-x 3 jenkins Jenkins 23K Apr 2 12:59 >> > ./recipe-sysroot/usr/lib/libgpm.so.2.1.0 >> > >> > >> >> diff --git a/meta-oe/recipes-support/gpm/gpm-1.99.7/eglibc-2.17.patch >> >> b/meta-oe/recipes-support/gpm/gpm-1.99.7/eglibc-2.17.patch >> >> deleted file mode 100644 >> >> index e43bdcb22..000000000 >> >> --- a/meta-oe/recipes-support/gpm/gpm-1.99.7/eglibc-2.17.patch >> >> +++ /dev/null >> >> @@ -1,12 +0,0 @@ >> >> -Upstream-Status: pending >> >> - >> >> ---- gpm-1.99.7.orig/src/daemon/open_console.c 2008-07-24 >> >> 12:33:05.000000000 +0200 >> >> -+++ gpm-1.99.7/src/daemon/open_console.c 2013-01-10 >> >> 12:39:47.975461947 +0100 >> >> -@@ -23,6 +23,7 @@ >> >> - #include <fcntl.h> /* open and co. */ >> >> - #include <sys/stat.h> /* stat() */ >> >> - #include <sys/ioctl.h> /* ioctl() */ >> >> -+#include <sys/types.h> /* major() */ >> >> - >> >> - /* Linux specific (to be outsourced in gpm2 */ >> >> - #include <linux/serial.h> /* for serial console check */ >> >> diff --git >> >> a/meta-oe/recipes-support/gpm/gpm-1.99.7/remove_nested_functions.patch >> >> b/meta-oe/recipes-support/gpm/gpm-1.99.7/remove_nested_functions.patch >> >> deleted file mode 100644 >> >> index d2d6cb8a8..000000000 >> >> --- >> >> a/meta-oe/recipes-support/gpm/gpm-1.99.7/remove_nested_functions.patch >> >> +++ /dev/null >> >> @@ -1,326 +0,0 @@ >> >> -Remove nested functions, they are not available in all compilers >> >> -e.g. clang will not support them. >> >> - >> >> -Upstream-Status: Pending >> >> -Signed-off-by: Khem Raj <raj.khem@gmail.com> >> >> - >> >> -Index: gpm-1.99.7/src/drivers/summa/i.c >> >> -=================================================================== >> >> ---- gpm-1.99.7.orig/src/drivers/summa/i.c >> >> -+++ gpm-1.99.7/src/drivers/summa/i.c >> >> -@@ -36,6 +36,28 @@ extern int summamaxy; >> >> - >> >> - extern signed char summaid; >> >> - >> >> -+static void resetsumma(int fd) >> >> -+{ >> >> -+ write(fd, 0, 1); /* Reset */ >> >> -+ usleep(400000); /* wait */ >> >> -+} >> >> -+ >> >> -+static int waitsumma(int fd) >> >> -+{ >> >> -+ struct timeval timeout; >> >> -+ >> >> -+ fd_set readfds; >> >> -+ >> >> -+ int err; >> >> -+ >> >> -+ FD_ZERO(&readfds); >> >> -+ FD_SET(fd, &readfds); >> >> -+ timeout.tv_sec = 0; >> >> -+ timeout.tv_usec = 200000; >> >> -+ err = select(FD_SETSIZE, &readfds, NULL, NULL, &timeout); >> >> -+ return (err); >> >> -+} >> >> -+ >> >> - Gpm_Type *I_summa(int fd, unsigned short flags, struct Gpm_Type >> >> *type, int argc, >> >> - char **argv) >> >> - { >> >> -@@ -43,24 +65,6 @@ Gpm_Type *I_summa(int fd, unsigned short >> >> - flags = argc = 0; /* FIXME: 1.99.13 */ >> >> - argv = NULL; >> >> - >> >> -- void resetsumma() { >> >> -- write(fd, 0, 1); /* Reset */ >> >> -- usleep(400000); /* wait */ >> >> -- } >> >> -- int waitsumma() { >> >> -- struct timeval timeout; >> >> -- >> >> -- fd_set readfds; >> >> -- >> >> -- int err; >> >> -- >> >> -- FD_ZERO(&readfds); >> >> -- FD_SET(fd, &readfds); >> >> -- timeout.tv_sec = 0; >> >> -- timeout.tv_usec = 200000; >> >> -- err = select(FD_SETSIZE, &readfds, NULL, NULL, &timeout); >> >> -- return (err); >> >> -- } >> >> - int err; >> >> - >> >> - char buffer[255]; >> >> -@@ -91,7 +95,7 @@ Gpm_Type *I_summa(int fd, unsigned short >> >> - */ >> >> - setspeed(fd, 1200, 9600, 1, >> >> - B9600 | CS8 | CREAD | CLOCAL | HUPCL | PARENB | PARODD); >> >> -- resetsumma(); >> >> -+ resetsumma(fd); >> >> - >> >> - write(fd, SS_PROMPT_MODE, strlen(SS_PROMPT_MODE)); >> >> - >> >> -@@ -103,7 +107,7 @@ Gpm_Type *I_summa(int fd, unsigned short >> >> - * read the Summa Firm-ID >> >> - */ >> >> - write(fd, SS_FIRMID, strlen(SS_FIRMID)); >> >> -- err = waitsumma(); >> >> -+ err = waitsumma(fd); >> >> - if(!((err == -1) || (!err))) { >> >> - summaid = 10; /* Original Summagraphics */ >> >> - read(fd, buffer, 255); /* Read Firm-ID */ >> >> -@@ -111,14 +115,14 @@ Gpm_Type *I_summa(int fd, unsigned short >> >> - } >> >> - >> >> - if(summaid < 0) { /* Genius-test */ >> >> -- resetsumma(); >> >> -+ resetsumma(fd); >> >> - write(fd, GEN_MMSERIES, 1); >> >> - write(fd, &GEN_MODELL, 1); /* Read modell */ >> >> -- err = waitsumma(); >> >> -+ err = waitsumma(fd); >> >> - if(!((err == -1) || (!err))) { /* read Genius-ID */ >> >> -- err = waitsumma(); >> >> -+ err = waitsumma(fd); >> >> - if(!((err == -1) || (!err))) { >> >> -- err = waitsumma(); >> >> -+ err = waitsumma(fd); >> >> - if(!((err == -1) || (!err))) { >> >> - read(fd, &config, 1); >> >> - summaid = (config[0] & 224) >> 5; /* genius >> >> tablet-id >> >> -@@ -135,14 +139,14 @@ Gpm_Type *I_summa(int fd, unsigned short >> >> - * unknown tablet ? >> >> - */ >> >> - if((summaid < 0) || (summaid == 11)) { >> >> -- resetsumma(); >> >> -+ resetsumma(fd); >> >> - write(fd, SS_BINARY_FMT SS_PROMPT_MODE, 3); >> >> - } >> >> - >> >> - /* >> >> - * read tablet size >> >> - */ >> >> -- err = waitsumma(); >> >> -+ err = waitsumma(fd); >> >> - if(!((err == -1) || (!err))) >> >> - read(fd, buffer, sizeof(buffer)); >> >> - write(fd, SS_READCONFIG, 1); >> >> -Index: gpm-1.99.7/src/drivers/wacom/i.c >> >> -=================================================================== >> >> ---- gpm-1.99.7.orig/src/drivers/wacom/i.c >> >> -+++ gpm-1.99.7/src/drivers/wacom/i.c >> >> -@@ -30,10 +30,6 @@ >> >> - #include "message.h" /* gpm_report */ >> >> - #include "wacom.h" /* wacom */ >> >> - >> >> --Gpm_Type *I_wacom(int fd, unsigned short flags, struct Gpm_Type >> >> *type, int argc, >> >> -- char **argv) >> >> --{ >> >> -- >> >> - /* wacom graphire tablet */ >> >> - #define UD_RESETBAUD "\r$" /* reset baud rate to default (wacom >> >> V) */ >> >> - /* >> >> -@@ -45,83 +41,91 @@ Gpm_Type *I_wacom(int fd, unsigned short >> >> - #define UD_COORD "~C\r" /* Request max coordinates */ >> >> - #define UD_STOP "\nSP\r" /* stop sending coordinates >> >> */ >> >> - >> >> -- flags = 0; /* FIXME: 1.99.13 */ >> >> - >> >> -- void reset_wacom() { >> >> -- /* >> >> -- * Init Wacom communication; this is modified from xf86Wacom.so >> >> module >> >> -- */ >> >> -- /* >> >> -- * Set speed to 19200 >> >> -- */ >> >> -- setspeed(fd, 1200, 19200, 0, B19200 | CS8 | CREAD | CLOCAL | >> >> HUPCL); >> >> -- /* >> >> -- * Send Reset Baudrate Command >> >> -- */ >> >> -- write(fd, UD_RESETBAUD, strlen(UD_RESETBAUD)); >> >> -- usleep(250000); >> >> -- /* >> >> -- * Send Reset Command >> >> -- */ >> >> -- write(fd, UD_RESET, strlen(UD_RESET)); >> >> -- usleep(75000); >> >> -- /* >> >> -- * Set speed to 9600bps >> >> -- */ >> >> -- setspeed(fd, 1200, 9600, 0, B9600 | CS8 | CREAD | CLOCAL | >> >> HUPCL); >> >> -- /* >> >> -- * Send Reset Command >> >> -- */ >> >> -- write(fd, UD_RESET, strlen(UD_RESET)); >> >> -- usleep(250000); >> >> -- write(fd, UD_STOP, strlen(UD_STOP)); >> >> -- usleep(100000); >> >> -- } >> >> -+static void reset_wacom(int fd) >> >> -+{ >> >> -+ /* >> >> -+ * Init Wacom communication; this is modified from xf86Wacom.so >> >> module >> >> -+ */ >> >> -+ /* >> >> -+ * Set speed to 19200 >> >> -+ */ >> >> -+ setspeed(fd, 1200, 19200, 0, B19200 | CS8 | CREAD | CLOCAL | >> >> HUPCL); >> >> -+ /* >> >> -+ * Send Reset Baudrate Command >> >> -+ */ >> >> -+ write(fd, UD_RESETBAUD, strlen(UD_RESETBAUD)); >> >> -+ usleep(250000); >> >> -+ /* >> >> -+ * Send Reset Command >> >> -+ */ >> >> -+ write(fd, UD_RESET, strlen(UD_RESET)); >> >> -+ usleep(75000); >> >> -+ /* >> >> -+ * Set speed to 9600bps >> >> -+ */ >> >> -+ setspeed(fd, 1200, 9600, 0, B9600 | CS8 | CREAD | CLOCAL | HUPCL); >> >> -+ /* >> >> -+ * Send Reset Command >> >> -+ */ >> >> -+ write(fd, UD_RESET, strlen(UD_RESET)); >> >> -+ usleep(250000); >> >> -+ write(fd, UD_STOP, strlen(UD_STOP)); >> >> -+ usleep(100000); >> >> -+} >> >> - >> >> -- int wait_wacom() { >> >> -- /* >> >> -- * Wait up to 200 ms for Data from Tablet. >> >> -- * Do not read that data. >> >> -- * Give back 0 on timeout condition, -1 on error and 1 for >> >> DataPresent >> >> -- */ >> >> -- struct timeval timeout; >> >> -- >> >> -- fd_set readfds; >> >> -- >> >> -- int err; >> >> -- >> >> -- FD_ZERO(&readfds); >> >> -- FD_SET(fd, &readfds); >> >> -- timeout.tv_sec = 0; >> >> -- timeout.tv_usec = 200000; >> >> -- err = select(FD_SETSIZE, &readfds, NULL, NULL, &timeout); >> >> -- return ((err > 0) ? 1 : err); >> >> -- } >> >> -+static int wait_wacom(int fd) >> >> -+{ >> >> -+ /* >> >> -+ * Wait up to 200 ms for Data from Tablet. >> >> -+ * Do not read that data. >> >> -+ * Give back 0 on timeout condition, -1 on error and 1 for >> >> DataPresent >> >> -+ */ >> >> -+ struct timeval timeout; >> >> - >> >> -- char buffer[50], *p; >> >> -+ fd_set readfds; >> >> - >> >> -- int RequestData(char *cmd) { >> >> -- int err; >> >> -+ int err; >> >> - >> >> -- /* >> >> -- * Send cmd if not null, and get back answer from tablet. >> >> -- * Get Data to buffer until full or timeout. >> >> -- * Give back 0 for timeout and !0 for buffer full >> >> -- */ >> >> -- if(cmd) >> >> -- write(fd, cmd, strlen(cmd)); >> >> -- memset(buffer, 0, sizeof(buffer)); >> >> -- p = buffer; >> >> -- err = wait_wacom(); >> >> -- while(err != -1 && err && (p - buffer) < (int) (sizeof(buffer) >> >> - 1)) { >> >> -- p += read(fd, p, (sizeof(buffer) - 1) - (p - buffer)); >> >> -- err = wait_wacom(); >> >> -- } >> >> -- /* >> >> -- * return 1 for buffer full >> >> -- */ >> >> -- return ((strlen(buffer) >= (sizeof(buffer) - 1)) ? !0 : 0); >> >> -+ FD_ZERO(&readfds); >> >> -+ FD_SET(fd, &readfds); >> >> -+ timeout.tv_sec = 0; >> >> -+ timeout.tv_usec = 200000; >> >> -+ err = select(FD_SETSIZE, &readfds, NULL, NULL, &timeout); >> >> -+ return ((err > 0) ? 1 : err); >> >> -+} >> >> -+ >> >> -+static int RequestData(int fd, char *cmd, char *buffer) >> >> -+{ >> >> -+ int err; >> >> -+ char *p; >> >> -+ /* >> >> -+ * Send cmd if not null, and get back answer from tablet. >> >> -+ * Get Data to buffer until full or timeout. >> >> -+ * Give back 0 for timeout and !0 for buffer full >> >> -+ */ >> >> -+ if(cmd) >> >> -+ write(fd, cmd, strlen(cmd)); >> >> -+ memset(buffer, 0, sizeof(buffer)); >> >> -+ p = buffer; >> >> -+ err = wait_wacom(fd); >> >> -+ while(err != -1 && err && (p - buffer) < (int) (sizeof(buffer) - >> >> 1)) { >> >> -+ p += read(fd, p, (sizeof(buffer) - 1) - (p - buffer)); >> >> -+ err = wait_wacom(fd); >> >> - } >> >> -+ /* >> >> -+ * return 1 for buffer full >> >> -+ */ >> >> -+ return ((strlen(buffer) >= (sizeof(buffer) - 1)) ? !0 : 0); >> >> -+} >> >> -+ >> >> -+Gpm_Type *I_wacom(int fd, unsigned short flags, struct Gpm_Type >> >> *type, int argc, >> >> -+ char **argv) >> >> -+{ >> >> -+ >> >> -+ flags = 0; /* FIXME: 1.99.13 */ >> >> -+ >> >> -+ char buffer[50]; >> >> - >> >> - /* >> >> - * We do both modes, relative and absolute, with the same >> >> function. >> >> -@@ -143,17 +147,17 @@ Gpm_Type *I_wacom(int fd, unsigned short >> >> - }; >> >> - parse_argv(optioninfo, argc, argv); >> >> - type->absolute = WacomAbsoluteWanted; >> >> -- reset_wacom(); >> >> -+ reset_wacom(fd); >> >> - >> >> - /* >> >> - * "Flush" input queque >> >> - */ >> >> -- while(RequestData(NULL)) ; >> >> -+ while(RequestData(fd, NULL, buffer)) ; >> >> - >> >> - /* >> >> - * read WACOM-ID >> >> - */ >> >> -- RequestData(UD_FIRMID); >> >> -+ RequestData(fd, UD_FIRMID, buffer); >> >> - >> >> - /* >> >> - * Search for matching modell >> >> -@@ -180,7 +184,7 @@ Gpm_Type *I_wacom(int fd, unsigned short >> >> - * read Wacom max size >> >> - */ >> >> - if(WacomModell != (-1) && (!wcmodell[WacomModell].maxX)) { >> >> -- RequestData(UD_COORD); >> >> -+ RequestData(fd, UD_COORD, buffer); >> >> - sscanf(buffer + 2, "%d,%d", &wmaxx, &wmaxy); >> >> - wmaxx = (wmaxx - wcmodell[WacomModell].border); >> >> - wmaxy = (wmaxy - wcmodell[WacomModell].border); >> >> diff --git a/meta-oe/recipes-support/gpm/gpm/gpm.service.in >> >> b/meta-oe/recipes-support/gpm/gpm/gpm.service.in >> >> new file mode 100644 >> >> index 000000000..ee6c040fa >> >> --- /dev/null >> >> +++ b/meta-oe/recipes-support/gpm/gpm/gpm.service.in >> >> @@ -0,0 +1,9 @@ >> >> +[Unit] >> >> +Description=Virtual console mouse server >> >> + >> >> +[Service] >> >> +Type=forking >> >> +ExecStart=@bindir@/gpm -m /dev/input/mice -t imps2 >> >> + >> >> +[Install] >> >> +WantedBy=multi-user.target >> >> diff --git a/meta-oe/recipes-support/gpm/gpm-1.99.7/init >> >> b/meta-oe/recipes-support/gpm/gpm/init >> >> similarity index 100% >> >> rename from meta-oe/recipes-support/gpm/gpm-1.99.7/init >> >> rename to meta-oe/recipes-support/gpm/gpm/init >> >> diff --git a/meta-oe/recipes-support/gpm/gpm-1.99.7/no-docs.patch >> >> b/meta-oe/recipes-support/gpm/gpm/no-docs.patch >> >> similarity index 93% >> >> rename from meta-oe/recipes-support/gpm/gpm-1.99.7/no-docs.patch >> >> rename to meta-oe/recipes-support/gpm/gpm/no-docs.patch >> >> index f10217a94..3faef84ee 100644 >> >> --- a/meta-oe/recipes-support/gpm/gpm-1.99.7/no-docs.patch >> >> +++ b/meta-oe/recipes-support/gpm/gpm/no-docs.patch >> >> @@ -11,7 +11,7 @@ Index: gpm-1.99.7/Makefile.in >> >> # user-overridable flags, but it's also all the implicit rule looks >> >> at. >> >> # missing ? >> >> >> >> --SUBDIRS = src doc contrib gpm2 >> >> +-SUBDIRS = src doc contrib >> >> +SUBDIRS = src >> >> >> >> >> >> diff --git a/meta-oe/recipes-support/gpm/gpm-1.99.7/processcreds.patch >> >> b/meta-oe/recipes-support/gpm/gpm/processcreds.patch >> >> similarity index 100% >> >> rename from meta-oe/recipes-support/gpm/gpm-1.99.7/processcreds.patch >> >> rename to meta-oe/recipes-support/gpm/gpm/processcreds.patch >> >> diff --git a/meta-oe/recipes-support/gpm/gpm_1.99.7.bb >> >> b/meta-oe/recipes-support/gpm/gpm_1.99.7.bb >> >> deleted file mode 100644 >> >> index bbb8c28ac..000000000 >> >> --- a/meta-oe/recipes-support/gpm/gpm_1.99.7.bb >> >> +++ /dev/null >> >> @@ -1,53 +0,0 @@ >> >> -DESCRIPTION = "GPM (General Purpose Mouse) is a mouse server \ >> >> -for the console and xterm, with sample clients included \ >> >> -(emacs, etc)." >> >> -SECTION = "console/utils" >> >> -LICENSE = "GPLv2+" >> >> -LIC_FILES_CHKSUM = >> >> "file://gpm2/core/main.c;endline=19;md5=66d3c205c4e7ee5704b2ee351dfed72f" >> >> - >> >> -PR = "r2" >> >> - >> >> -DEPENDS = "ncurses" >> >> - >> >> -SRC_URI = "ftp://arcana.linux.it/pub/gpm/gpm-${PV}.tar.bz2 \ >> >> - file://no-docs.patch \ >> >> - file://processcreds.patch \ >> >> - file://eglibc-2.17.patch \ >> >> - file://remove_nested_functions.patch \ >> >> - file://init" >> >> - >> >> -inherit autotools-brokensep update-rc.d >> >> - >> >> -INITSCRIPT_NAME = "gpm" >> >> -INITSCRIPT_PARAMS = "defaults" >> >> - >> >> -#export LIBS = "-lm" >> >> - >> >> -# all fields are /* FIXME: gpm 1.99.13 */ >> >> -# gpm-1.99.7/src/lib/libhigh.c:171:43: error: parameter 'clientdata' >> >> set but not used [-Werror=unused-but-set-parameter] >> >> -# gpm-1.99.7/src/lib/report-lib.c:28:21: error: parameter 'line' set >> >> but not used [-Werror=unused-but-set-parameter] >> >> -# gpm-1.99.7/src/lib/report-lib.c:28:33: error: parameter 'file' set >> >> but not used [-Werror=unused-but-set-parameter] >> >> -# gpm-1.99.7/src/drivers/empty/i.c:26:23: error: parameter 'fd' set >> >> but not used [-Werror=unused-but-set-parameter] >> >> -# gpm-1.99.7/src/drivers/empty/i.c:26:42: error: parameter 'flags' set >> >> but not used [-Werror=unused-but-set-parameter] >> >> -# gpm-1.99.7/src/drivers/etouch/i.c:34:43: error: parameter 'flags' >> >> set but not used [-Werror=unused-but-set-parameter] >> >> -# gpm-1.99.7/src/drivers/msc/r.c:32:12: error: variable 'dy' set but >> >> not used [-Werror=unused-but-set-variable] >> >> -# gpm-1.99.7/src/drivers/msc/r.c:32:8: error: variable 'dx' set but >> >> not used [-Werror=unused-but-set-variable] >> >> -# cc1: all warnings being treated as errors >> >> -CFLAGS += "-Wno-extra -Wno-error=unused-but-set-parameter >> >> -Wno-error=unused-but-set-variable" >> >> - >> >> -# twiddler is WIP in 1.99.7 and probably not worth fixing (a lot of >> >> changes in gpm-2-dev after 1.99.7 >> >> -# gpm-1.99.7/src/drivers/twid/twiddler.c:503:14: error: cast to >> >> pointer from integer of different size [-Werror=int-to-pointer-cast] >> >> -# /gpm-1.99.7/src/mice.c:221:5: error: (near initialization for >> >> 'mice[32].init') [-Werror] >> >> -CFLAGS += "-Wno-error=int-to-pointer-cast -Wno-error" >> >> - >> >> -do_install () { >> >> - oe_runmake 'DESTDIR=${D}' install >> >> - install -m 0644 src/headers/gpm.h ${D}${includedir} >> >> - install -d ${D}/${sysconfdir}/init.d >> >> - install -m 0755 ${WORKDIR}/init ${D}/${sysconfdir}/init.d/gpm >> >> - cd ${D}${libdir} && ln -sf libgpm.so.1.19.0 libgpm.so.1 >> >> -} >> >> -SRC_URI[md5sum] = "9fdddf5f53cb11d40bb2bb671d3ac544" >> >> -SRC_URI[sha256sum] = >> >> "6071378b24494e36ca3ef6377606e7e565040413c86704753a162d2180af32ee" >> >> - >> >> -FILES_${PN} += "${datadir}/emacs" >> >> diff --git a/meta-oe/recipes-support/gpm/gpm_git.bb >> >> b/meta-oe/recipes-support/gpm/gpm_git.bb >> >> new file mode 100644 >> >> index 000000000..4c0e9434d >> >> --- /dev/null >> >> +++ b/meta-oe/recipes-support/gpm/gpm_git.bb >> >> @@ -0,0 +1,44 @@ >> >> +DESCRIPTION = "GPM (General Purpose Mouse) is a mouse server \ >> >> +for the console and xterm, with sample clients included \ >> >> +(emacs, etc)." >> >> +SECTION = "console/utils" >> >> +LICENSE = "GPLv2+" >> >> +LIC_FILES_CHKSUM = >> >> "file://COPYING;md5=18810669f13b87348459e611d31ab760" >> >> + >> >> +PV = "1.99.7+git${SRCREV}" >> >> +PR = "r2" >> >> +SRCREV = "1fd19417b8a4dd9945347e98dfa97e4cfd798d77" >> >> + >> >> +DEPENDS = "ncurses" >> >> + >> >> +SRC_URI = "git://github.com/telmich/gpm;protocol=git \ >> >> + file://no-docs.patch \ >> >> + file://processcreds.patch \ >> >> + file://gpm.service.in \ >> >> + file://init" >> >> + >> >> +S = "${WORKDIR}/git" >> >> + >> >> +inherit autotools-brokensep update-rc.d systemd >> >> + >> >> +INITSCRIPT_NAME = "gpm" >> >> +INITSCRIPT_PARAMS = "defaults" >> >> + >> >> +do_configure_prepend() { >> >> + (cd ${S};./autogen.sh;cd -) >> >> +} >> >> + >> >> +do_install_append () { >> >> + if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', >> >> 'false', d)}; then >> >> + install -d ${D}${systemd_system_unitdir} >> >> + sed 's:@bindir@:${bindir}:' < ${WORKDIR}/gpm.service.in >> >> >${D}${systemd_system_unitdir}/gpm.service >> >> + fi >> >> + if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', >> >> 'false', d)}; then >> >> + install -D -m 0755 ${WORKDIR}/init >> >> ${D}/${sysconfdir}/init.d/gpm >> >> + fi >> >> + install -D -m 0644 ${S}/src/headers/gpm.h ${D}${includedir}/gpm.h >> >> +} >> >> + >> >> +SYSTEMD_SERVICE_${PN} = "gpm.service" >> >> + >> >> +FILES_${PN} += "${datadir}/emacs" >> >> -- >> >> 2.12.1 >> >> >> >> -- >> >> _______________________________________________ >> >> Openembedded-devel mailing list >> >> Openembedded-devel@lists.openembedded.org >> >> http://lists.openembedded.org/mailman/listinfo/openembedded-devel >> > >> > -- >> > Martin 'JaMa' Jansa jabber: Martin.Jansa@gmail.com > > -- _______________________________________________ Openembedded-devel mailing list Openembedded-devel@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-devel
On Wed, Apr 05, 2017 at 10:58:37AM -0700, Khem Raj wrote: > I have created a new branch kraj/master-next which has the changes > rebased on top of upstream master-next Thanks! I've squashed the 2 changes you had there for minicoredumper and fixed commit message "Fix problem founds during musl build" to "uml-utilities: Fix problem founds during musl build" Now it should be all in master-next for next jenkins run. > On Wed, Apr 5, 2017 at 10:41 AM, Martin Jansa <martin.jansa@gmail.com> wrote: > > I've merged many changes from master-next today, only the ones for > > meta-networking layer are left in master-next now. > > > > Can you please resend remaining changes (rebased on master-next) and > > integrate the fixes into them? > > > > Thanks > > > > On Wed, Apr 5, 2017 at 6:38 PM, Khem Raj <raj.khem@gmail.com> wrote: > >> > >> Thanks Martin for triaging it. The fix is pushed to kraj/master > >> > >> > >> https://github.com/kraj/meta-openembedded/commit/21b5a2ad436439bfddd8b1d30fcfab28d868d063 > >> > >> > >> On Mon, Apr 3, 2017 at 12:19 PM, Martin Jansa <martin.jansa@gmail.com> > >> wrote: > >> > On Fri, Mar 31, 2017 at 09:42:05AM -0700, Khem Raj wrote: > >> >> Additional patches are upstream to fix build with gcc6 and clang > >> >> Add systemd unit file > >> >> > >> >> Signed-off-by: Khem Raj <raj.khem@gmail.com> > >> >> --- > >> >> .../gpm/gpm-1.99.7/eglibc-2.17.patch | 12 - > >> >> .../gpm/gpm-1.99.7/remove_nested_functions.patch | 326 > >> >> --------------------- > >> >> meta-oe/recipes-support/gpm/gpm/gpm.service.in | 9 + > >> >> .../recipes-support/gpm/{gpm-1.99.7 => gpm}/init | 0 > >> >> .../gpm/{gpm-1.99.7 => gpm}/no-docs.patch | 2 +- > >> >> .../gpm/{gpm-1.99.7 => gpm}/processcreds.patch | 0 > >> >> meta-oe/recipes-support/gpm/gpm_1.99.7.bb | 53 ---- > >> >> meta-oe/recipes-support/gpm/gpm_git.bb | 44 +++ > >> >> 8 files changed, 54 insertions(+), 392 deletions(-) > >> >> delete mode 100644 > >> >> meta-oe/recipes-support/gpm/gpm-1.99.7/eglibc-2.17.patch > >> >> delete mode 100644 > >> >> meta-oe/recipes-support/gpm/gpm-1.99.7/remove_nested_functions.patch > >> >> create mode 100644 meta-oe/recipes-support/gpm/gpm/gpm.service.in > >> >> rename meta-oe/recipes-support/gpm/{gpm-1.99.7 => gpm}/init (100%) > >> >> rename meta-oe/recipes-support/gpm/{gpm-1.99.7 => gpm}/no-docs.patch > >> >> (93%) > >> >> rename meta-oe/recipes-support/gpm/{gpm-1.99.7 => > >> >> gpm}/processcreds.patch (100%) > >> >> delete mode 100644 meta-oe/recipes-support/gpm/gpm_1.99.7.bb > >> >> create mode 100644 meta-oe/recipes-support/gpm/gpm_git.bb > >> > > >> > This breaks links build, before this change links detected gpm and > >> > enabled FB driver: > >> > > >> > configure:7756: result: yes > >> > configure:7756: checking for gpm.h > >> > configure:7756: result: yes > >> > configure:7766: checking for Gpm_Open in -lgpm > >> > configure:7791: i586-oe-linux-gcc -m32 -march=i586 > >> > --sysroot=/OE/build/oe-core/tmp-glibc/work/i586-oe-linux/links/2.7-r0/recipe-sysroot > >> > -o conftest -O2 -pipe -g -feliminate-unused-debug-types > >> > -fdebug-prefix-map=/OE/build/oe-core/tmp-glibc/work/i586-oe-linux/links/2.7-r0=/usr/src/debug/links/2.7-r0 > >> > -fdebug-prefix-map=/OE/build/oe-core/tmp-glibc/work/i586-oe-linux/links/2.7-r0/recipe-sysroot-native= > >> > -fdebug-prefix-map=/OE/build/oe-core/tmp-glibc/work/i586-oe-linux/links/2.7-r0/recipe-sysroot= > >> > -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed conftest.c -lgpm -lm >&5 > >> > configure:7791: $? = 0 > >> > configure:7800: result: yes > >> > configure:7813: checking for Gpm_GetLibVersion > >> > configure:7813: i586-oe-linux-gcc -m32 -march=i586 > >> > --sysroot=/OE/build/oe-core/tmp-glibc/work/i586-oe-linux/links/2.7-r0/recipe-sysroot > >> > -o conftest -O2 -pipe -g -feliminate-unused-debug-types > >> > -fdebug-prefix-map=/OE/build/oe-core/tmp-glibc/work/i586-oe-linux/links/2.7-r0=/usr/src/debug/links/2.7-r0 > >> > -fdebug-prefix-map=/OE/build/oe-core/tmp-glibc/work/i586-oe-linux/links/2.7-r0/recipe-sysroot-native= > >> > -fdebug-prefix-map=/OE/build/oe-core/tmp-glibc/work/i586-oe-linux/links/2.7-r0/recipe-sysroot= > >> > -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed conftest.c -lgpm -lm >&5 > >> > configure:7813: $? = 0 > >> > configure:7813: result: yes > >> > > >> > > >> > with this change: > >> > configure:7756: checking for gpm.h > >> > configure:7756: result: yes > >> > configure:7766: checking for Gpm_Open in -lgpm > >> > configure:7791: x86_64-oe-linux-gcc -m64 -march=core2 -mtune=core2 > >> > -msse3 -mfpmath=sse > >> > --sysroot=/home/jenkins/oe/world/shr-core/tmp-glibc/work/core2-64-oe-linux/links/2.7-r0/recipe-sysroot > >> > -o conftest -O2 -pipe -g -feliminate-unused-debug-types > >> > -fdebug-prefix-map=/home/jenkins/oe/world/shr-core/tmp-glibc/work/core2-64-oe-linux/links/2.7-r0=/usr/src/debug/links/2.7-r0 > >> > -fdebug-prefix-map=/home/jenkins/oe/world/shr-core/tmp-glibc/work/core2-64-oe-linux/links/2.7-r0/recipe-sysroot-native= > >> > -fdebug-prefix-map=/home/jenkins/oe/world/shr-core/tmp-glibc/work/core2-64-oe-linux/links/2.7-r0/recipe-sysroot= > >> > -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed conftest.c -lgpm -lm >&5 > >> > > >> > /home/jenkins/oe/world/shr-core/tmp-glibc/work/core2-64-oe-linux/links/2.7-r0/recipe-sysroot-native/usr/bin/x86_64-oe-linux/../../libexec/x86_64-oe-linux/gcc/x86_64-oe-linux/6.3.0/ld: > >> > error: cannot find -lgpm > >> > /usr/src/debug/links/2.7-r0/build/conftest.c:117: error: undefined > >> > reference to 'Gpm_Open' > >> > collect2: error: ld returned 1 exit status > >> > configure:7791: $? = 1 > >> > configure: failed program was: > >> > | /* confdefs.h */ > >> > | #define PACKAGE_NAME "" > >> > | #define PACKAGE_TARNAME "" > >> > | #define PACKAGE_VERSION "" > >> > | #define PACKAGE_STRING "" > >> > | #define PACKAGE_BUGREPORT "" > >> > | #define PACKAGE_URL "" > >> > | #define PACKAGE "links" > >> > | #define VERSION "2.7" > >> > | #define STDC_HEADERS 1 > >> > | #define HAVE_TYPEOF 1 > >> > | #define HAVE_LONG_LONG 1 > >> > ... > >> > | #define HAVE_LIBM 1 > >> > | #define HAVE_GPM_H 1 > >> > | /* end confdefs.h. */ > >> > | > >> > | /* Override any GCC internal prototype to avoid an error. > >> > | Use char because int might match the return type of a GCC > >> > | builtin and then its argument prototype would still apply. */ > >> > | #ifdef __cplusplus > >> > | extern "C" > >> > | #endif > >> > | char Gpm_Open (); > >> > | int > >> > | main () > >> > | { > >> > | return Gpm_Open (); > >> > | ; > >> > | return 0; > >> > | } > >> > configure:7800: result: no > >> > configure:7813: checking for Gpm_GetLibVersion > >> > configure:7813: x86_64-oe-linux-gcc -m64 -march=core2 -mtune=core2 > >> > -msse3 -mfpmath=sse > >> > --sysroot=/home/jenkins/oe/world/shr-core/tmp-glibc/work/core2-64-oe-linux/links/2.7-r0/recipe-sysroot > >> > -o conftest -O2 -pipe -g -feliminate-unused-debug-types > >> > -fdebug-prefix-map=/home/jenkins/oe/world/shr-core/tmp-glibc/work/core2-64-oe-linux/links/2.7-r0=/usr/src/debug/links/2.7-r0 > >> > -fdebug-prefix-map=/home/jenkins/oe/world/shr-core/tmp-glibc/work/core2-64-oe-linux/links/2.7-r0/recipe-sysroot-native= > >> > -fdebug-prefix-map=/home/jenkins/oe/world/shr-core/tmp-glibc/work/core2-64-oe-linux/links/2.7-r0/recipe-sysroot= > >> > -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed conftest.c -lm >&5 > >> > /usr/src/debug/links/2.7-r0/build/conftest.c:140: error: undefined > >> > reference to 'Gpm_GetLibVersion' > >> > collect2: error: ld returned 1 exit status > >> > configure:7813: $? = 1 > >> > configure: failed program was: > >> > | /* confdefs.h */ > >> > | #define PACKAGE_NAME "" > >> > | #define PACKAGE_TARNAME "" > >> > ... > >> > | #define HAVE_LIBM 1 > >> > | #define HAVE_GPM_H 1 > >> > | /* end confdefs.h. */ > >> > | /* Define Gpm_GetLibVersion to an innocuous variant, in case > >> > <limits.h> declares Gpm_GetLibVersion. > >> > | For example, HP-UX 11i <limits.h> declares gettimeofday. */ > >> > | #define Gpm_GetLibVersion innocuous_Gpm_GetLibVersion > >> > | > >> > | /* System header to define __stub macros and hopefully few prototypes, > >> > | which can conflict with char Gpm_GetLibVersion (); below. > >> > | Prefer <limits.h> to <assert.h> if __STDC__ is defined, since > >> > | <limits.h> exists even on freestanding compilers. */ > >> > | > >> > | #ifdef __STDC__ > >> > | # include <limits.h> > >> > | #else > >> > | # include <assert.h> > >> > | #endif > >> > | > >> > | #undef Gpm_GetLibVersion > >> > | > >> > | /* Override any GCC internal prototype to avoid an error. > >> > | Use char because int might match the return type of a GCC > >> > | builtin and then its argument prototype would still apply. */ > >> > | #ifdef __cplusplus > >> > | extern "C" > >> > | #endif > >> > | char Gpm_GetLibVersion (); > >> > | /* The GNU C library defines this for functions which it implements > >> > | to always fail with ENOSYS. Some functions are actually named > >> > | something starting with __ and the normal name is an alias. */ > >> > | #if defined __stub_Gpm_GetLibVersion || defined > >> > __stub___Gpm_GetLibVersion > >> > | choke me > >> > | #endif > >> > | > >> > | int > >> > | main () > >> > | { > >> > | return Gpm_GetLibVersion (); > >> > | ; > >> > | return 0; > >> > | } > >> > configure:7813: result: no > >> > > >> > > >> > The dependency is there and library as well: > >> > > >> > work/core2-64-oe-linux/links/2.7-r0$ find . -name libgpm\* > >> > ./recipe-sysroot/usr/lib/libgpm.so.1 > >> > ./recipe-sysroot/usr/lib/libgpm.so.2 > >> > ./recipe-sysroot/usr/lib/libgpm.a > >> > ./recipe-sysroot/usr/lib/libgpm.so.2.1.0 > >> > > >> > but libgpm.so.1 link is broken: > >> > > >> > work/core2-64-oe-linux/links/2.7-r0$ ls -lah > >> > ./recipe-sysroot/usr/lib/libgpm* > >> > -rw-r--r-- 2 jenkins Jenkins 103K Apr 3 08:50 > >> > ./recipe-sysroot/usr/lib/libgpm.a > >> > lrwxrwxrwx 1 jenkins Jenkins 16 Apr 3 08:56 > >> > ./recipe-sysroot/usr/lib/libgpm.so.1 -> libgpm.so.1.19.0 > >> > lrwxrwxrwx 1 jenkins Jenkins 15 Apr 3 08:56 > >> > ./recipe-sysroot/usr/lib/libgpm.so.2 -> libgpm.so.2.1.0 > >> > -rw-r--r-- 2 jenkins Jenkins 23K Apr 3 08:50 > >> > ./recipe-sysroot/usr/lib/libgpm.so.2.1.0 > >> > > >> > with this change there is only the 2.1.0 version: > >> > lrwxrwxrwx 1 jenkins Jenkins 15 Apr 3 09:12 > >> > ./recipe-sysroot/usr/lib/libgpm.so.2 -> libgpm.so.2.1.0 > >> > -rwxr-xr-x 3 jenkins Jenkins 23K Apr 2 12:59 > >> > ./recipe-sysroot/usr/lib/libgpm.so.2.1.0 > >> > > >> > > >> >> diff --git a/meta-oe/recipes-support/gpm/gpm-1.99.7/eglibc-2.17.patch > >> >> b/meta-oe/recipes-support/gpm/gpm-1.99.7/eglibc-2.17.patch > >> >> deleted file mode 100644 > >> >> index e43bdcb22..000000000 > >> >> --- a/meta-oe/recipes-support/gpm/gpm-1.99.7/eglibc-2.17.patch > >> >> +++ /dev/null > >> >> @@ -1,12 +0,0 @@ > >> >> -Upstream-Status: pending > >> >> - > >> >> ---- gpm-1.99.7.orig/src/daemon/open_console.c 2008-07-24 > >> >> 12:33:05.000000000 +0200 > >> >> -+++ gpm-1.99.7/src/daemon/open_console.c 2013-01-10 > >> >> 12:39:47.975461947 +0100 > >> >> -@@ -23,6 +23,7 @@ > >> >> - #include <fcntl.h> /* open and co. */ > >> >> - #include <sys/stat.h> /* stat() */ > >> >> - #include <sys/ioctl.h> /* ioctl() */ > >> >> -+#include <sys/types.h> /* major() */ > >> >> - > >> >> - /* Linux specific (to be outsourced in gpm2 */ > >> >> - #include <linux/serial.h> /* for serial console check */ > >> >> diff --git > >> >> a/meta-oe/recipes-support/gpm/gpm-1.99.7/remove_nested_functions.patch > >> >> b/meta-oe/recipes-support/gpm/gpm-1.99.7/remove_nested_functions.patch > >> >> deleted file mode 100644 > >> >> index d2d6cb8a8..000000000 > >> >> --- > >> >> a/meta-oe/recipes-support/gpm/gpm-1.99.7/remove_nested_functions.patch > >> >> +++ /dev/null > >> >> @@ -1,326 +0,0 @@ > >> >> -Remove nested functions, they are not available in all compilers > >> >> -e.g. clang will not support them. > >> >> - > >> >> -Upstream-Status: Pending > >> >> -Signed-off-by: Khem Raj <raj.khem@gmail.com> > >> >> - > >> >> -Index: gpm-1.99.7/src/drivers/summa/i.c > >> >> -=================================================================== > >> >> ---- gpm-1.99.7.orig/src/drivers/summa/i.c > >> >> -+++ gpm-1.99.7/src/drivers/summa/i.c > >> >> -@@ -36,6 +36,28 @@ extern int summamaxy; > >> >> - > >> >> - extern signed char summaid; > >> >> - > >> >> -+static void resetsumma(int fd) > >> >> -+{ > >> >> -+ write(fd, 0, 1); /* Reset */ > >> >> -+ usleep(400000); /* wait */ > >> >> -+} > >> >> -+ > >> >> -+static int waitsumma(int fd) > >> >> -+{ > >> >> -+ struct timeval timeout; > >> >> -+ > >> >> -+ fd_set readfds; > >> >> -+ > >> >> -+ int err; > >> >> -+ > >> >> -+ FD_ZERO(&readfds); > >> >> -+ FD_SET(fd, &readfds); > >> >> -+ timeout.tv_sec = 0; > >> >> -+ timeout.tv_usec = 200000; > >> >> -+ err = select(FD_SETSIZE, &readfds, NULL, NULL, &timeout); > >> >> -+ return (err); > >> >> -+} > >> >> -+ > >> >> - Gpm_Type *I_summa(int fd, unsigned short flags, struct Gpm_Type > >> >> *type, int argc, > >> >> - char **argv) > >> >> - { > >> >> -@@ -43,24 +65,6 @@ Gpm_Type *I_summa(int fd, unsigned short > >> >> - flags = argc = 0; /* FIXME: 1.99.13 */ > >> >> - argv = NULL; > >> >> - > >> >> -- void resetsumma() { > >> >> -- write(fd, 0, 1); /* Reset */ > >> >> -- usleep(400000); /* wait */ > >> >> -- } > >> >> -- int waitsumma() { > >> >> -- struct timeval timeout; > >> >> -- > >> >> -- fd_set readfds; > >> >> -- > >> >> -- int err; > >> >> -- > >> >> -- FD_ZERO(&readfds); > >> >> -- FD_SET(fd, &readfds); > >> >> -- timeout.tv_sec = 0; > >> >> -- timeout.tv_usec = 200000; > >> >> -- err = select(FD_SETSIZE, &readfds, NULL, NULL, &timeout); > >> >> -- return (err); > >> >> -- } > >> >> - int err; > >> >> - > >> >> - char buffer[255]; > >> >> -@@ -91,7 +95,7 @@ Gpm_Type *I_summa(int fd, unsigned short > >> >> - */ > >> >> - setspeed(fd, 1200, 9600, 1, > >> >> - B9600 | CS8 | CREAD | CLOCAL | HUPCL | PARENB | PARODD); > >> >> -- resetsumma(); > >> >> -+ resetsumma(fd); > >> >> - > >> >> - write(fd, SS_PROMPT_MODE, strlen(SS_PROMPT_MODE)); > >> >> - > >> >> -@@ -103,7 +107,7 @@ Gpm_Type *I_summa(int fd, unsigned short > >> >> - * read the Summa Firm-ID > >> >> - */ > >> >> - write(fd, SS_FIRMID, strlen(SS_FIRMID)); > >> >> -- err = waitsumma(); > >> >> -+ err = waitsumma(fd); > >> >> - if(!((err == -1) || (!err))) { > >> >> - summaid = 10; /* Original Summagraphics */ > >> >> - read(fd, buffer, 255); /* Read Firm-ID */ > >> >> -@@ -111,14 +115,14 @@ Gpm_Type *I_summa(int fd, unsigned short > >> >> - } > >> >> - > >> >> - if(summaid < 0) { /* Genius-test */ > >> >> -- resetsumma(); > >> >> -+ resetsumma(fd); > >> >> - write(fd, GEN_MMSERIES, 1); > >> >> - write(fd, &GEN_MODELL, 1); /* Read modell */ > >> >> -- err = waitsumma(); > >> >> -+ err = waitsumma(fd); > >> >> - if(!((err == -1) || (!err))) { /* read Genius-ID */ > >> >> -- err = waitsumma(); > >> >> -+ err = waitsumma(fd); > >> >> - if(!((err == -1) || (!err))) { > >> >> -- err = waitsumma(); > >> >> -+ err = waitsumma(fd); > >> >> - if(!((err == -1) || (!err))) { > >> >> - read(fd, &config, 1); > >> >> - summaid = (config[0] & 224) >> 5; /* genius > >> >> tablet-id > >> >> -@@ -135,14 +139,14 @@ Gpm_Type *I_summa(int fd, unsigned short > >> >> - * unknown tablet ? > >> >> - */ > >> >> - if((summaid < 0) || (summaid == 11)) { > >> >> -- resetsumma(); > >> >> -+ resetsumma(fd); > >> >> - write(fd, SS_BINARY_FMT SS_PROMPT_MODE, 3); > >> >> - } > >> >> - > >> >> - /* > >> >> - * read tablet size > >> >> - */ > >> >> -- err = waitsumma(); > >> >> -+ err = waitsumma(fd); > >> >> - if(!((err == -1) || (!err))) > >> >> - read(fd, buffer, sizeof(buffer)); > >> >> - write(fd, SS_READCONFIG, 1); > >> >> -Index: gpm-1.99.7/src/drivers/wacom/i.c > >> >> -=================================================================== > >> >> ---- gpm-1.99.7.orig/src/drivers/wacom/i.c > >> >> -+++ gpm-1.99.7/src/drivers/wacom/i.c > >> >> -@@ -30,10 +30,6 @@ > >> >> - #include "message.h" /* gpm_report */ > >> >> - #include "wacom.h" /* wacom */ > >> >> - > >> >> --Gpm_Type *I_wacom(int fd, unsigned short flags, struct Gpm_Type > >> >> *type, int argc, > >> >> -- char **argv) > >> >> --{ > >> >> -- > >> >> - /* wacom graphire tablet */ > >> >> - #define UD_RESETBAUD "\r$" /* reset baud rate to default (wacom > >> >> V) */ > >> >> - /* > >> >> -@@ -45,83 +41,91 @@ Gpm_Type *I_wacom(int fd, unsigned short > >> >> - #define UD_COORD "~C\r" /* Request max coordinates */ > >> >> - #define UD_STOP "\nSP\r" /* stop sending coordinates > >> >> */ > >> >> - > >> >> -- flags = 0; /* FIXME: 1.99.13 */ > >> >> - > >> >> -- void reset_wacom() { > >> >> -- /* > >> >> -- * Init Wacom communication; this is modified from xf86Wacom.so > >> >> module > >> >> -- */ > >> >> -- /* > >> >> -- * Set speed to 19200 > >> >> -- */ > >> >> -- setspeed(fd, 1200, 19200, 0, B19200 | CS8 | CREAD | CLOCAL | > >> >> HUPCL); > >> >> -- /* > >> >> -- * Send Reset Baudrate Command > >> >> -- */ > >> >> -- write(fd, UD_RESETBAUD, strlen(UD_RESETBAUD)); > >> >> -- usleep(250000); > >> >> -- /* > >> >> -- * Send Reset Command > >> >> -- */ > >> >> -- write(fd, UD_RESET, strlen(UD_RESET)); > >> >> -- usleep(75000); > >> >> -- /* > >> >> -- * Set speed to 9600bps > >> >> -- */ > >> >> -- setspeed(fd, 1200, 9600, 0, B9600 | CS8 | CREAD | CLOCAL | > >> >> HUPCL); > >> >> -- /* > >> >> -- * Send Reset Command > >> >> -- */ > >> >> -- write(fd, UD_RESET, strlen(UD_RESET)); > >> >> -- usleep(250000); > >> >> -- write(fd, UD_STOP, strlen(UD_STOP)); > >> >> -- usleep(100000); > >> >> -- } > >> >> -+static void reset_wacom(int fd) > >> >> -+{ > >> >> -+ /* > >> >> -+ * Init Wacom communication; this is modified from xf86Wacom.so > >> >> module > >> >> -+ */ > >> >> -+ /* > >> >> -+ * Set speed to 19200 > >> >> -+ */ > >> >> -+ setspeed(fd, 1200, 19200, 0, B19200 | CS8 | CREAD | CLOCAL | > >> >> HUPCL); > >> >> -+ /* > >> >> -+ * Send Reset Baudrate Command > >> >> -+ */ > >> >> -+ write(fd, UD_RESETBAUD, strlen(UD_RESETBAUD)); > >> >> -+ usleep(250000); > >> >> -+ /* > >> >> -+ * Send Reset Command > >> >> -+ */ > >> >> -+ write(fd, UD_RESET, strlen(UD_RESET)); > >> >> -+ usleep(75000); > >> >> -+ /* > >> >> -+ * Set speed to 9600bps > >> >> -+ */ > >> >> -+ setspeed(fd, 1200, 9600, 0, B9600 | CS8 | CREAD | CLOCAL | HUPCL); > >> >> -+ /* > >> >> -+ * Send Reset Command > >> >> -+ */ > >> >> -+ write(fd, UD_RESET, strlen(UD_RESET)); > >> >> -+ usleep(250000); > >> >> -+ write(fd, UD_STOP, strlen(UD_STOP)); > >> >> -+ usleep(100000); > >> >> -+} > >> >> - > >> >> -- int wait_wacom() { > >> >> -- /* > >> >> -- * Wait up to 200 ms for Data from Tablet. > >> >> -- * Do not read that data. > >> >> -- * Give back 0 on timeout condition, -1 on error and 1 for > >> >> DataPresent > >> >> -- */ > >> >> -- struct timeval timeout; > >> >> -- > >> >> -- fd_set readfds; > >> >> -- > >> >> -- int err; > >> >> -- > >> >> -- FD_ZERO(&readfds); > >> >> -- FD_SET(fd, &readfds); > >> >> -- timeout.tv_sec = 0; > >> >> -- timeout.tv_usec = 200000; > >> >> -- err = select(FD_SETSIZE, &readfds, NULL, NULL, &timeout); > >> >> -- return ((err > 0) ? 1 : err); > >> >> -- } > >> >> -+static int wait_wacom(int fd) > >> >> -+{ > >> >> -+ /* > >> >> -+ * Wait up to 200 ms for Data from Tablet. > >> >> -+ * Do not read that data. > >> >> -+ * Give back 0 on timeout condition, -1 on error and 1 for > >> >> DataPresent > >> >> -+ */ > >> >> -+ struct timeval timeout; > >> >> - > >> >> -- char buffer[50], *p; > >> >> -+ fd_set readfds; > >> >> - > >> >> -- int RequestData(char *cmd) { > >> >> -- int err; > >> >> -+ int err; > >> >> - > >> >> -- /* > >> >> -- * Send cmd if not null, and get back answer from tablet. > >> >> -- * Get Data to buffer until full or timeout. > >> >> -- * Give back 0 for timeout and !0 for buffer full > >> >> -- */ > >> >> -- if(cmd) > >> >> -- write(fd, cmd, strlen(cmd)); > >> >> -- memset(buffer, 0, sizeof(buffer)); > >> >> -- p = buffer; > >> >> -- err = wait_wacom(); > >> >> -- while(err != -1 && err && (p - buffer) < (int) (sizeof(buffer) > >> >> - 1)) { > >> >> -- p += read(fd, p, (sizeof(buffer) - 1) - (p - buffer)); > >> >> -- err = wait_wacom(); > >> >> -- } > >> >> -- /* > >> >> -- * return 1 for buffer full > >> >> -- */ > >> >> -- return ((strlen(buffer) >= (sizeof(buffer) - 1)) ? !0 : 0); > >> >> -+ FD_ZERO(&readfds); > >> >> -+ FD_SET(fd, &readfds); > >> >> -+ timeout.tv_sec = 0; > >> >> -+ timeout.tv_usec = 200000; > >> >> -+ err = select(FD_SETSIZE, &readfds, NULL, NULL, &timeout); > >> >> -+ return ((err > 0) ? 1 : err); > >> >> -+} > >> >> -+ > >> >> -+static int RequestData(int fd, char *cmd, char *buffer) > >> >> -+{ > >> >> -+ int err; > >> >> -+ char *p; > >> >> -+ /* > >> >> -+ * Send cmd if not null, and get back answer from tablet. > >> >> -+ * Get Data to buffer until full or timeout. > >> >> -+ * Give back 0 for timeout and !0 for buffer full > >> >> -+ */ > >> >> -+ if(cmd) > >> >> -+ write(fd, cmd, strlen(cmd)); > >> >> -+ memset(buffer, 0, sizeof(buffer)); > >> >> -+ p = buffer; > >> >> -+ err = wait_wacom(fd); > >> >> -+ while(err != -1 && err && (p - buffer) < (int) (sizeof(buffer) - > >> >> 1)) { > >> >> -+ p += read(fd, p, (sizeof(buffer) - 1) - (p - buffer)); > >> >> -+ err = wait_wacom(fd); > >> >> - } > >> >> -+ /* > >> >> -+ * return 1 for buffer full > >> >> -+ */ > >> >> -+ return ((strlen(buffer) >= (sizeof(buffer) - 1)) ? !0 : 0); > >> >> -+} > >> >> -+ > >> >> -+Gpm_Type *I_wacom(int fd, unsigned short flags, struct Gpm_Type > >> >> *type, int argc, > >> >> -+ char **argv) > >> >> -+{ > >> >> -+ > >> >> -+ flags = 0; /* FIXME: 1.99.13 */ > >> >> -+ > >> >> -+ char buffer[50]; > >> >> - > >> >> - /* > >> >> - * We do both modes, relative and absolute, with the same > >> >> function. > >> >> -@@ -143,17 +147,17 @@ Gpm_Type *I_wacom(int fd, unsigned short > >> >> - }; > >> >> - parse_argv(optioninfo, argc, argv); > >> >> - type->absolute = WacomAbsoluteWanted; > >> >> -- reset_wacom(); > >> >> -+ reset_wacom(fd); > >> >> - > >> >> - /* > >> >> - * "Flush" input queque > >> >> - */ > >> >> -- while(RequestData(NULL)) ; > >> >> -+ while(RequestData(fd, NULL, buffer)) ; > >> >> - > >> >> - /* > >> >> - * read WACOM-ID > >> >> - */ > >> >> -- RequestData(UD_FIRMID); > >> >> -+ RequestData(fd, UD_FIRMID, buffer); > >> >> - > >> >> - /* > >> >> - * Search for matching modell > >> >> -@@ -180,7 +184,7 @@ Gpm_Type *I_wacom(int fd, unsigned short > >> >> - * read Wacom max size > >> >> - */ > >> >> - if(WacomModell != (-1) && (!wcmodell[WacomModell].maxX)) { > >> >> -- RequestData(UD_COORD); > >> >> -+ RequestData(fd, UD_COORD, buffer); > >> >> - sscanf(buffer + 2, "%d,%d", &wmaxx, &wmaxy); > >> >> - wmaxx = (wmaxx - wcmodell[WacomModell].border); > >> >> - wmaxy = (wmaxy - wcmodell[WacomModell].border); > >> >> diff --git a/meta-oe/recipes-support/gpm/gpm/gpm.service.in > >> >> b/meta-oe/recipes-support/gpm/gpm/gpm.service.in > >> >> new file mode 100644 > >> >> index 000000000..ee6c040fa > >> >> --- /dev/null > >> >> +++ b/meta-oe/recipes-support/gpm/gpm/gpm.service.in > >> >> @@ -0,0 +1,9 @@ > >> >> +[Unit] > >> >> +Description=Virtual console mouse server > >> >> + > >> >> +[Service] > >> >> +Type=forking > >> >> +ExecStart=@bindir@/gpm -m /dev/input/mice -t imps2 > >> >> + > >> >> +[Install] > >> >> +WantedBy=multi-user.target > >> >> diff --git a/meta-oe/recipes-support/gpm/gpm-1.99.7/init > >> >> b/meta-oe/recipes-support/gpm/gpm/init > >> >> similarity index 100% > >> >> rename from meta-oe/recipes-support/gpm/gpm-1.99.7/init > >> >> rename to meta-oe/recipes-support/gpm/gpm/init > >> >> diff --git a/meta-oe/recipes-support/gpm/gpm-1.99.7/no-docs.patch > >> >> b/meta-oe/recipes-support/gpm/gpm/no-docs.patch > >> >> similarity index 93% > >> >> rename from meta-oe/recipes-support/gpm/gpm-1.99.7/no-docs.patch > >> >> rename to meta-oe/recipes-support/gpm/gpm/no-docs.patch > >> >> index f10217a94..3faef84ee 100644 > >> >> --- a/meta-oe/recipes-support/gpm/gpm-1.99.7/no-docs.patch > >> >> +++ b/meta-oe/recipes-support/gpm/gpm/no-docs.patch > >> >> @@ -11,7 +11,7 @@ Index: gpm-1.99.7/Makefile.in > >> >> # user-overridable flags, but it's also all the implicit rule looks > >> >> at. > >> >> # missing ? > >> >> > >> >> --SUBDIRS = src doc contrib gpm2 > >> >> +-SUBDIRS = src doc contrib > >> >> +SUBDIRS = src > >> >> > >> >> > >> >> diff --git a/meta-oe/recipes-support/gpm/gpm-1.99.7/processcreds.patch > >> >> b/meta-oe/recipes-support/gpm/gpm/processcreds.patch > >> >> similarity index 100% > >> >> rename from meta-oe/recipes-support/gpm/gpm-1.99.7/processcreds.patch > >> >> rename to meta-oe/recipes-support/gpm/gpm/processcreds.patch > >> >> diff --git a/meta-oe/recipes-support/gpm/gpm_1.99.7.bb > >> >> b/meta-oe/recipes-support/gpm/gpm_1.99.7.bb > >> >> deleted file mode 100644 > >> >> index bbb8c28ac..000000000 > >> >> --- a/meta-oe/recipes-support/gpm/gpm_1.99.7.bb > >> >> +++ /dev/null > >> >> @@ -1,53 +0,0 @@ > >> >> -DESCRIPTION = "GPM (General Purpose Mouse) is a mouse server \ > >> >> -for the console and xterm, with sample clients included \ > >> >> -(emacs, etc)." > >> >> -SECTION = "console/utils" > >> >> -LICENSE = "GPLv2+" > >> >> -LIC_FILES_CHKSUM = > >> >> "file://gpm2/core/main.c;endline=19;md5=66d3c205c4e7ee5704b2ee351dfed72f" > >> >> - > >> >> -PR = "r2" > >> >> - > >> >> -DEPENDS = "ncurses" > >> >> - > >> >> -SRC_URI = "ftp://arcana.linux.it/pub/gpm/gpm-${PV}.tar.bz2 \ > >> >> - file://no-docs.patch \ > >> >> - file://processcreds.patch \ > >> >> - file://eglibc-2.17.patch \ > >> >> - file://remove_nested_functions.patch \ > >> >> - file://init" > >> >> - > >> >> -inherit autotools-brokensep update-rc.d > >> >> - > >> >> -INITSCRIPT_NAME = "gpm" > >> >> -INITSCRIPT_PARAMS = "defaults" > >> >> - > >> >> -#export LIBS = "-lm" > >> >> - > >> >> -# all fields are /* FIXME: gpm 1.99.13 */ > >> >> -# gpm-1.99.7/src/lib/libhigh.c:171:43: error: parameter 'clientdata' > >> >> set but not used [-Werror=unused-but-set-parameter] > >> >> -# gpm-1.99.7/src/lib/report-lib.c:28:21: error: parameter 'line' set > >> >> but not used [-Werror=unused-but-set-parameter] > >> >> -# gpm-1.99.7/src/lib/report-lib.c:28:33: error: parameter 'file' set > >> >> but not used [-Werror=unused-but-set-parameter] > >> >> -# gpm-1.99.7/src/drivers/empty/i.c:26:23: error: parameter 'fd' set > >> >> but not used [-Werror=unused-but-set-parameter] > >> >> -# gpm-1.99.7/src/drivers/empty/i.c:26:42: error: parameter 'flags' set > >> >> but not used [-Werror=unused-but-set-parameter] > >> >> -# gpm-1.99.7/src/drivers/etouch/i.c:34:43: error: parameter 'flags' > >> >> set but not used [-Werror=unused-but-set-parameter] > >> >> -# gpm-1.99.7/src/drivers/msc/r.c:32:12: error: variable 'dy' set but > >> >> not used [-Werror=unused-but-set-variable] > >> >> -# gpm-1.99.7/src/drivers/msc/r.c:32:8: error: variable 'dx' set but > >> >> not used [-Werror=unused-but-set-variable] > >> >> -# cc1: all warnings being treated as errors > >> >> -CFLAGS += "-Wno-extra -Wno-error=unused-but-set-parameter > >> >> -Wno-error=unused-but-set-variable" > >> >> - > >> >> -# twiddler is WIP in 1.99.7 and probably not worth fixing (a lot of > >> >> changes in gpm-2-dev after 1.99.7 > >> >> -# gpm-1.99.7/src/drivers/twid/twiddler.c:503:14: error: cast to > >> >> pointer from integer of different size [-Werror=int-to-pointer-cast] > >> >> -# /gpm-1.99.7/src/mice.c:221:5: error: (near initialization for > >> >> 'mice[32].init') [-Werror] > >> >> -CFLAGS += "-Wno-error=int-to-pointer-cast -Wno-error" > >> >> - > >> >> -do_install () { > >> >> - oe_runmake 'DESTDIR=${D}' install > >> >> - install -m 0644 src/headers/gpm.h ${D}${includedir} > >> >> - install -d ${D}/${sysconfdir}/init.d > >> >> - install -m 0755 ${WORKDIR}/init ${D}/${sysconfdir}/init.d/gpm > >> >> - cd ${D}${libdir} && ln -sf libgpm.so.1.19.0 libgpm.so.1 > >> >> -} > >> >> -SRC_URI[md5sum] = "9fdddf5f53cb11d40bb2bb671d3ac544" > >> >> -SRC_URI[sha256sum] = > >> >> "6071378b24494e36ca3ef6377606e7e565040413c86704753a162d2180af32ee" > >> >> - > >> >> -FILES_${PN} += "${datadir}/emacs" > >> >> diff --git a/meta-oe/recipes-support/gpm/gpm_git.bb > >> >> b/meta-oe/recipes-support/gpm/gpm_git.bb > >> >> new file mode 100644 > >> >> index 000000000..4c0e9434d > >> >> --- /dev/null > >> >> +++ b/meta-oe/recipes-support/gpm/gpm_git.bb > >> >> @@ -0,0 +1,44 @@ > >> >> +DESCRIPTION = "GPM (General Purpose Mouse) is a mouse server \ > >> >> +for the console and xterm, with sample clients included \ > >> >> +(emacs, etc)." > >> >> +SECTION = "console/utils" > >> >> +LICENSE = "GPLv2+" > >> >> +LIC_FILES_CHKSUM = > >> >> "file://COPYING;md5=18810669f13b87348459e611d31ab760" > >> >> + > >> >> +PV = "1.99.7+git${SRCREV}" > >> >> +PR = "r2" > >> >> +SRCREV = "1fd19417b8a4dd9945347e98dfa97e4cfd798d77" > >> >> + > >> >> +DEPENDS = "ncurses" > >> >> + > >> >> +SRC_URI = "git://github.com/telmich/gpm;protocol=git \ > >> >> + file://no-docs.patch \ > >> >> + file://processcreds.patch \ > >> >> + file://gpm.service.in \ > >> >> + file://init" > >> >> + > >> >> +S = "${WORKDIR}/git" > >> >> + > >> >> +inherit autotools-brokensep update-rc.d systemd > >> >> + > >> >> +INITSCRIPT_NAME = "gpm" > >> >> +INITSCRIPT_PARAMS = "defaults" > >> >> + > >> >> +do_configure_prepend() { > >> >> + (cd ${S};./autogen.sh;cd -) > >> >> +} > >> >> + > >> >> +do_install_append () { > >> >> + if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', > >> >> 'false', d)}; then > >> >> + install -d ${D}${systemd_system_unitdir} > >> >> + sed 's:@bindir@:${bindir}:' < ${WORKDIR}/gpm.service.in > >> >> >${D}${systemd_system_unitdir}/gpm.service > >> >> + fi > >> >> + if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', > >> >> 'false', d)}; then > >> >> + install -D -m 0755 ${WORKDIR}/init > >> >> ${D}/${sysconfdir}/init.d/gpm > >> >> + fi > >> >> + install -D -m 0644 ${S}/src/headers/gpm.h ${D}${includedir}/gpm.h > >> >> +} > >> >> + > >> >> +SYSTEMD_SERVICE_${PN} = "gpm.service" > >> >> + > >> >> +FILES_${PN} += "${datadir}/emacs" > >> >> -- > >> >> 2.12.1 > >> >> > >> >> -- > >> >> _______________________________________________ > >> >> Openembedded-devel mailing list > >> >> Openembedded-devel@lists.openembedded.org > >> >> http://lists.openembedded.org/mailman/listinfo/openembedded-devel > >> > > >> > -- > >> > Martin 'JaMa' Jansa jabber: Martin.Jansa@gmail.com > > > > -- Martin 'JaMa' Jansa jabber: Martin.Jansa@gmail.com -- _______________________________________________ Openembedded-devel mailing list Openembedded-devel@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-devel
Hi Martin I forgot to drop the ttf-inconsolata patch and its there in master-next too you might need to drop it manually http://git.openembedded.org/meta-openembedded/commit/?h=master-next&id=cb5f9fbbd6780011ab2c03b173800d6771d90961 On Wed, Apr 5, 2017 at 11:36 AM, Martin Jansa <martin.jansa@gmail.com> wrote: > On Wed, Apr 05, 2017 at 10:58:37AM -0700, Khem Raj wrote: >> I have created a new branch kraj/master-next which has the changes >> rebased on top of upstream master-next > > Thanks! > > I've squashed the 2 changes you had there for minicoredumper and fixed > commit message "Fix problem founds during musl build" to > "uml-utilities: Fix problem founds during musl build" > > Now it should be all in master-next for next jenkins run. > >> On Wed, Apr 5, 2017 at 10:41 AM, Martin Jansa <martin.jansa@gmail.com> wrote: >> > I've merged many changes from master-next today, only the ones for >> > meta-networking layer are left in master-next now. >> > >> > Can you please resend remaining changes (rebased on master-next) and >> > integrate the fixes into them? >> > >> > Thanks >> > >> > On Wed, Apr 5, 2017 at 6:38 PM, Khem Raj <raj.khem@gmail.com> wrote: >> >> >> >> Thanks Martin for triaging it. The fix is pushed to kraj/master >> >> >> >> >> >> https://github.com/kraj/meta-openembedded/commit/21b5a2ad436439bfddd8b1d30fcfab28d868d063 >> >> >> >> >> >> On Mon, Apr 3, 2017 at 12:19 PM, Martin Jansa <martin.jansa@gmail.com> >> >> wrote: >> >> > On Fri, Mar 31, 2017 at 09:42:05AM -0700, Khem Raj wrote: >> >> >> Additional patches are upstream to fix build with gcc6 and clang >> >> >> Add systemd unit file >> >> >> >> >> >> Signed-off-by: Khem Raj <raj.khem@gmail.com> >> >> >> --- >> >> >> .../gpm/gpm-1.99.7/eglibc-2.17.patch | 12 - >> >> >> .../gpm/gpm-1.99.7/remove_nested_functions.patch | 326 >> >> >> --------------------- >> >> >> meta-oe/recipes-support/gpm/gpm/gpm.service.in | 9 + >> >> >> .../recipes-support/gpm/{gpm-1.99.7 => gpm}/init | 0 >> >> >> .../gpm/{gpm-1.99.7 => gpm}/no-docs.patch | 2 +- >> >> >> .../gpm/{gpm-1.99.7 => gpm}/processcreds.patch | 0 >> >> >> meta-oe/recipes-support/gpm/gpm_1.99.7.bb | 53 ---- >> >> >> meta-oe/recipes-support/gpm/gpm_git.bb | 44 +++ >> >> >> 8 files changed, 54 insertions(+), 392 deletions(-) >> >> >> delete mode 100644 >> >> >> meta-oe/recipes-support/gpm/gpm-1.99.7/eglibc-2.17.patch >> >> >> delete mode 100644 >> >> >> meta-oe/recipes-support/gpm/gpm-1.99.7/remove_nested_functions.patch >> >> >> create mode 100644 meta-oe/recipes-support/gpm/gpm/gpm.service.in >> >> >> rename meta-oe/recipes-support/gpm/{gpm-1.99.7 => gpm}/init (100%) >> >> >> rename meta-oe/recipes-support/gpm/{gpm-1.99.7 => gpm}/no-docs.patch >> >> >> (93%) >> >> >> rename meta-oe/recipes-support/gpm/{gpm-1.99.7 => >> >> >> gpm}/processcreds.patch (100%) >> >> >> delete mode 100644 meta-oe/recipes-support/gpm/gpm_1.99.7.bb >> >> >> create mode 100644 meta-oe/recipes-support/gpm/gpm_git.bb >> >> > >> >> > This breaks links build, before this change links detected gpm and >> >> > enabled FB driver: >> >> > >> >> > configure:7756: result: yes >> >> > configure:7756: checking for gpm.h >> >> > configure:7756: result: yes >> >> > configure:7766: checking for Gpm_Open in -lgpm >> >> > configure:7791: i586-oe-linux-gcc -m32 -march=i586 >> >> > --sysroot=/OE/build/oe-core/tmp-glibc/work/i586-oe-linux/links/2.7-r0/recipe-sysroot >> >> > -o conftest -O2 -pipe -g -feliminate-unused-debug-types >> >> > -fdebug-prefix-map=/OE/build/oe-core/tmp-glibc/work/i586-oe-linux/links/2.7-r0=/usr/src/debug/links/2.7-r0 >> >> > -fdebug-prefix-map=/OE/build/oe-core/tmp-glibc/work/i586-oe-linux/links/2.7-r0/recipe-sysroot-native= >> >> > -fdebug-prefix-map=/OE/build/oe-core/tmp-glibc/work/i586-oe-linux/links/2.7-r0/recipe-sysroot= >> >> > -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed conftest.c -lgpm -lm >&5 >> >> > configure:7791: $? = 0 >> >> > configure:7800: result: yes >> >> > configure:7813: checking for Gpm_GetLibVersion >> >> > configure:7813: i586-oe-linux-gcc -m32 -march=i586 >> >> > --sysroot=/OE/build/oe-core/tmp-glibc/work/i586-oe-linux/links/2.7-r0/recipe-sysroot >> >> > -o conftest -O2 -pipe -g -feliminate-unused-debug-types >> >> > -fdebug-prefix-map=/OE/build/oe-core/tmp-glibc/work/i586-oe-linux/links/2.7-r0=/usr/src/debug/links/2.7-r0 >> >> > -fdebug-prefix-map=/OE/build/oe-core/tmp-glibc/work/i586-oe-linux/links/2.7-r0/recipe-sysroot-native= >> >> > -fdebug-prefix-map=/OE/build/oe-core/tmp-glibc/work/i586-oe-linux/links/2.7-r0/recipe-sysroot= >> >> > -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed conftest.c -lgpm -lm >&5 >> >> > configure:7813: $? = 0 >> >> > configure:7813: result: yes >> >> > >> >> > >> >> > with this change: >> >> > configure:7756: checking for gpm.h >> >> > configure:7756: result: yes >> >> > configure:7766: checking for Gpm_Open in -lgpm >> >> > configure:7791: x86_64-oe-linux-gcc -m64 -march=core2 -mtune=core2 >> >> > -msse3 -mfpmath=sse >> >> > --sysroot=/home/jenkins/oe/world/shr-core/tmp-glibc/work/core2-64-oe-linux/links/2.7-r0/recipe-sysroot >> >> > -o conftest -O2 -pipe -g -feliminate-unused-debug-types >> >> > -fdebug-prefix-map=/home/jenkins/oe/world/shr-core/tmp-glibc/work/core2-64-oe-linux/links/2.7-r0=/usr/src/debug/links/2.7-r0 >> >> > -fdebug-prefix-map=/home/jenkins/oe/world/shr-core/tmp-glibc/work/core2-64-oe-linux/links/2.7-r0/recipe-sysroot-native= >> >> > -fdebug-prefix-map=/home/jenkins/oe/world/shr-core/tmp-glibc/work/core2-64-oe-linux/links/2.7-r0/recipe-sysroot= >> >> > -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed conftest.c -lgpm -lm >&5 >> >> > >> >> > /home/jenkins/oe/world/shr-core/tmp-glibc/work/core2-64-oe-linux/links/2.7-r0/recipe-sysroot-native/usr/bin/x86_64-oe-linux/../../libexec/x86_64-oe-linux/gcc/x86_64-oe-linux/6.3.0/ld: >> >> > error: cannot find -lgpm >> >> > /usr/src/debug/links/2.7-r0/build/conftest.c:117: error: undefined >> >> > reference to 'Gpm_Open' >> >> > collect2: error: ld returned 1 exit status >> >> > configure:7791: $? = 1 >> >> > configure: failed program was: >> >> > | /* confdefs.h */ >> >> > | #define PACKAGE_NAME "" >> >> > | #define PACKAGE_TARNAME "" >> >> > | #define PACKAGE_VERSION "" >> >> > | #define PACKAGE_STRING "" >> >> > | #define PACKAGE_BUGREPORT "" >> >> > | #define PACKAGE_URL "" >> >> > | #define PACKAGE "links" >> >> > | #define VERSION "2.7" >> >> > | #define STDC_HEADERS 1 >> >> > | #define HAVE_TYPEOF 1 >> >> > | #define HAVE_LONG_LONG 1 >> >> > ... >> >> > | #define HAVE_LIBM 1 >> >> > | #define HAVE_GPM_H 1 >> >> > | /* end confdefs.h. */ >> >> > | >> >> > | /* Override any GCC internal prototype to avoid an error. >> >> > | Use char because int might match the return type of a GCC >> >> > | builtin and then its argument prototype would still apply. */ >> >> > | #ifdef __cplusplus >> >> > | extern "C" >> >> > | #endif >> >> > | char Gpm_Open (); >> >> > | int >> >> > | main () >> >> > | { >> >> > | return Gpm_Open (); >> >> > | ; >> >> > | return 0; >> >> > | } >> >> > configure:7800: result: no >> >> > configure:7813: checking for Gpm_GetLibVersion >> >> > configure:7813: x86_64-oe-linux-gcc -m64 -march=core2 -mtune=core2 >> >> > -msse3 -mfpmath=sse >> >> > --sysroot=/home/jenkins/oe/world/shr-core/tmp-glibc/work/core2-64-oe-linux/links/2.7-r0/recipe-sysroot >> >> > -o conftest -O2 -pipe -g -feliminate-unused-debug-types >> >> > -fdebug-prefix-map=/home/jenkins/oe/world/shr-core/tmp-glibc/work/core2-64-oe-linux/links/2.7-r0=/usr/src/debug/links/2.7-r0 >> >> > -fdebug-prefix-map=/home/jenkins/oe/world/shr-core/tmp-glibc/work/core2-64-oe-linux/links/2.7-r0/recipe-sysroot-native= >> >> > -fdebug-prefix-map=/home/jenkins/oe/world/shr-core/tmp-glibc/work/core2-64-oe-linux/links/2.7-r0/recipe-sysroot= >> >> > -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed conftest.c -lm >&5 >> >> > /usr/src/debug/links/2.7-r0/build/conftest.c:140: error: undefined >> >> > reference to 'Gpm_GetLibVersion' >> >> > collect2: error: ld returned 1 exit status >> >> > configure:7813: $? = 1 >> >> > configure: failed program was: >> >> > | /* confdefs.h */ >> >> > | #define PACKAGE_NAME "" >> >> > | #define PACKAGE_TARNAME "" >> >> > ... >> >> > | #define HAVE_LIBM 1 >> >> > | #define HAVE_GPM_H 1 >> >> > | /* end confdefs.h. */ >> >> > | /* Define Gpm_GetLibVersion to an innocuous variant, in case >> >> > <limits.h> declares Gpm_GetLibVersion. >> >> > | For example, HP-UX 11i <limits.h> declares gettimeofday. */ >> >> > | #define Gpm_GetLibVersion innocuous_Gpm_GetLibVersion >> >> > | >> >> > | /* System header to define __stub macros and hopefully few prototypes, >> >> > | which can conflict with char Gpm_GetLibVersion (); below. >> >> > | Prefer <limits.h> to <assert.h> if __STDC__ is defined, since >> >> > | <limits.h> exists even on freestanding compilers. */ >> >> > | >> >> > | #ifdef __STDC__ >> >> > | # include <limits.h> >> >> > | #else >> >> > | # include <assert.h> >> >> > | #endif >> >> > | >> >> > | #undef Gpm_GetLibVersion >> >> > | >> >> > | /* Override any GCC internal prototype to avoid an error. >> >> > | Use char because int might match the return type of a GCC >> >> > | builtin and then its argument prototype would still apply. */ >> >> > | #ifdef __cplusplus >> >> > | extern "C" >> >> > | #endif >> >> > | char Gpm_GetLibVersion (); >> >> > | /* The GNU C library defines this for functions which it implements >> >> > | to always fail with ENOSYS. Some functions are actually named >> >> > | something starting with __ and the normal name is an alias. */ >> >> > | #if defined __stub_Gpm_GetLibVersion || defined >> >> > __stub___Gpm_GetLibVersion >> >> > | choke me >> >> > | #endif >> >> > | >> >> > | int >> >> > | main () >> >> > | { >> >> > | return Gpm_GetLibVersion (); >> >> > | ; >> >> > | return 0; >> >> > | } >> >> > configure:7813: result: no >> >> > >> >> > >> >> > The dependency is there and library as well: >> >> > >> >> > work/core2-64-oe-linux/links/2.7-r0$ find . -name libgpm\* >> >> > ./recipe-sysroot/usr/lib/libgpm.so.1 >> >> > ./recipe-sysroot/usr/lib/libgpm.so.2 >> >> > ./recipe-sysroot/usr/lib/libgpm.a >> >> > ./recipe-sysroot/usr/lib/libgpm.so.2.1.0 >> >> > >> >> > but libgpm.so.1 link is broken: >> >> > >> >> > work/core2-64-oe-linux/links/2.7-r0$ ls -lah >> >> > ./recipe-sysroot/usr/lib/libgpm* >> >> > -rw-r--r-- 2 jenkins Jenkins 103K Apr 3 08:50 >> >> > ./recipe-sysroot/usr/lib/libgpm.a >> >> > lrwxrwxrwx 1 jenkins Jenkins 16 Apr 3 08:56 >> >> > ./recipe-sysroot/usr/lib/libgpm.so.1 -> libgpm.so.1.19.0 >> >> > lrwxrwxrwx 1 jenkins Jenkins 15 Apr 3 08:56 >> >> > ./recipe-sysroot/usr/lib/libgpm.so.2 -> libgpm.so.2.1.0 >> >> > -rw-r--r-- 2 jenkins Jenkins 23K Apr 3 08:50 >> >> > ./recipe-sysroot/usr/lib/libgpm.so.2.1.0 >> >> > >> >> > with this change there is only the 2.1.0 version: >> >> > lrwxrwxrwx 1 jenkins Jenkins 15 Apr 3 09:12 >> >> > ./recipe-sysroot/usr/lib/libgpm.so.2 -> libgpm.so.2.1.0 >> >> > -rwxr-xr-x 3 jenkins Jenkins 23K Apr 2 12:59 >> >> > ./recipe-sysroot/usr/lib/libgpm.so.2.1.0 >> >> > >> >> > >> >> >> diff --git a/meta-oe/recipes-support/gpm/gpm-1.99.7/eglibc-2.17.patch >> >> >> b/meta-oe/recipes-support/gpm/gpm-1.99.7/eglibc-2.17.patch >> >> >> deleted file mode 100644 >> >> >> index e43bdcb22..000000000 >> >> >> --- a/meta-oe/recipes-support/gpm/gpm-1.99.7/eglibc-2.17.patch >> >> >> +++ /dev/null >> >> >> @@ -1,12 +0,0 @@ >> >> >> -Upstream-Status: pending >> >> >> - >> >> >> ---- gpm-1.99.7.orig/src/daemon/open_console.c 2008-07-24 >> >> >> 12:33:05.000000000 +0200 >> >> >> -+++ gpm-1.99.7/src/daemon/open_console.c 2013-01-10 >> >> >> 12:39:47.975461947 +0100 >> >> >> -@@ -23,6 +23,7 @@ >> >> >> - #include <fcntl.h> /* open and co. */ >> >> >> - #include <sys/stat.h> /* stat() */ >> >> >> - #include <sys/ioctl.h> /* ioctl() */ >> >> >> -+#include <sys/types.h> /* major() */ >> >> >> - >> >> >> - /* Linux specific (to be outsourced in gpm2 */ >> >> >> - #include <linux/serial.h> /* for serial console check */ >> >> >> diff --git >> >> >> a/meta-oe/recipes-support/gpm/gpm-1.99.7/remove_nested_functions.patch >> >> >> b/meta-oe/recipes-support/gpm/gpm-1.99.7/remove_nested_functions.patch >> >> >> deleted file mode 100644 >> >> >> index d2d6cb8a8..000000000 >> >> >> --- >> >> >> a/meta-oe/recipes-support/gpm/gpm-1.99.7/remove_nested_functions.patch >> >> >> +++ /dev/null >> >> >> @@ -1,326 +0,0 @@ >> >> >> -Remove nested functions, they are not available in all compilers >> >> >> -e.g. clang will not support them. >> >> >> - >> >> >> -Upstream-Status: Pending >> >> >> -Signed-off-by: Khem Raj <raj.khem@gmail.com> >> >> >> - >> >> >> -Index: gpm-1.99.7/src/drivers/summa/i.c >> >> >> -=================================================================== >> >> >> ---- gpm-1.99.7.orig/src/drivers/summa/i.c >> >> >> -+++ gpm-1.99.7/src/drivers/summa/i.c >> >> >> -@@ -36,6 +36,28 @@ extern int summamaxy; >> >> >> - >> >> >> - extern signed char summaid; >> >> >> - >> >> >> -+static void resetsumma(int fd) >> >> >> -+{ >> >> >> -+ write(fd, 0, 1); /* Reset */ >> >> >> -+ usleep(400000); /* wait */ >> >> >> -+} >> >> >> -+ >> >> >> -+static int waitsumma(int fd) >> >> >> -+{ >> >> >> -+ struct timeval timeout; >> >> >> -+ >> >> >> -+ fd_set readfds; >> >> >> -+ >> >> >> -+ int err; >> >> >> -+ >> >> >> -+ FD_ZERO(&readfds); >> >> >> -+ FD_SET(fd, &readfds); >> >> >> -+ timeout.tv_sec = 0; >> >> >> -+ timeout.tv_usec = 200000; >> >> >> -+ err = select(FD_SETSIZE, &readfds, NULL, NULL, &timeout); >> >> >> -+ return (err); >> >> >> -+} >> >> >> -+ >> >> >> - Gpm_Type *I_summa(int fd, unsigned short flags, struct Gpm_Type >> >> >> *type, int argc, >> >> >> - char **argv) >> >> >> - { >> >> >> -@@ -43,24 +65,6 @@ Gpm_Type *I_summa(int fd, unsigned short >> >> >> - flags = argc = 0; /* FIXME: 1.99.13 */ >> >> >> - argv = NULL; >> >> >> - >> >> >> -- void resetsumma() { >> >> >> -- write(fd, 0, 1); /* Reset */ >> >> >> -- usleep(400000); /* wait */ >> >> >> -- } >> >> >> -- int waitsumma() { >> >> >> -- struct timeval timeout; >> >> >> -- >> >> >> -- fd_set readfds; >> >> >> -- >> >> >> -- int err; >> >> >> -- >> >> >> -- FD_ZERO(&readfds); >> >> >> -- FD_SET(fd, &readfds); >> >> >> -- timeout.tv_sec = 0; >> >> >> -- timeout.tv_usec = 200000; >> >> >> -- err = select(FD_SETSIZE, &readfds, NULL, NULL, &timeout); >> >> >> -- return (err); >> >> >> -- } >> >> >> - int err; >> >> >> - >> >> >> - char buffer[255]; >> >> >> -@@ -91,7 +95,7 @@ Gpm_Type *I_summa(int fd, unsigned short >> >> >> - */ >> >> >> - setspeed(fd, 1200, 9600, 1, >> >> >> - B9600 | CS8 | CREAD | CLOCAL | HUPCL | PARENB | PARODD); >> >> >> -- resetsumma(); >> >> >> -+ resetsumma(fd); >> >> >> - >> >> >> - write(fd, SS_PROMPT_MODE, strlen(SS_PROMPT_MODE)); >> >> >> - >> >> >> -@@ -103,7 +107,7 @@ Gpm_Type *I_summa(int fd, unsigned short >> >> >> - * read the Summa Firm-ID >> >> >> - */ >> >> >> - write(fd, SS_FIRMID, strlen(SS_FIRMID)); >> >> >> -- err = waitsumma(); >> >> >> -+ err = waitsumma(fd); >> >> >> - if(!((err == -1) || (!err))) { >> >> >> - summaid = 10; /* Original Summagraphics */ >> >> >> - read(fd, buffer, 255); /* Read Firm-ID */ >> >> >> -@@ -111,14 +115,14 @@ Gpm_Type *I_summa(int fd, unsigned short >> >> >> - } >> >> >> - >> >> >> - if(summaid < 0) { /* Genius-test */ >> >> >> -- resetsumma(); >> >> >> -+ resetsumma(fd); >> >> >> - write(fd, GEN_MMSERIES, 1); >> >> >> - write(fd, &GEN_MODELL, 1); /* Read modell */ >> >> >> -- err = waitsumma(); >> >> >> -+ err = waitsumma(fd); >> >> >> - if(!((err == -1) || (!err))) { /* read Genius-ID */ >> >> >> -- err = waitsumma(); >> >> >> -+ err = waitsumma(fd); >> >> >> - if(!((err == -1) || (!err))) { >> >> >> -- err = waitsumma(); >> >> >> -+ err = waitsumma(fd); >> >> >> - if(!((err == -1) || (!err))) { >> >> >> - read(fd, &config, 1); >> >> >> - summaid = (config[0] & 224) >> 5; /* genius >> >> >> tablet-id >> >> >> -@@ -135,14 +139,14 @@ Gpm_Type *I_summa(int fd, unsigned short >> >> >> - * unknown tablet ? >> >> >> - */ >> >> >> - if((summaid < 0) || (summaid == 11)) { >> >> >> -- resetsumma(); >> >> >> -+ resetsumma(fd); >> >> >> - write(fd, SS_BINARY_FMT SS_PROMPT_MODE, 3); >> >> >> - } >> >> >> - >> >> >> - /* >> >> >> - * read tablet size >> >> >> - */ >> >> >> -- err = waitsumma(); >> >> >> -+ err = waitsumma(fd); >> >> >> - if(!((err == -1) || (!err))) >> >> >> - read(fd, buffer, sizeof(buffer)); >> >> >> - write(fd, SS_READCONFIG, 1); >> >> >> -Index: gpm-1.99.7/src/drivers/wacom/i.c >> >> >> -=================================================================== >> >> >> ---- gpm-1.99.7.orig/src/drivers/wacom/i.c >> >> >> -+++ gpm-1.99.7/src/drivers/wacom/i.c >> >> >> -@@ -30,10 +30,6 @@ >> >> >> - #include "message.h" /* gpm_report */ >> >> >> - #include "wacom.h" /* wacom */ >> >> >> - >> >> >> --Gpm_Type *I_wacom(int fd, unsigned short flags, struct Gpm_Type >> >> >> *type, int argc, >> >> >> -- char **argv) >> >> >> --{ >> >> >> -- >> >> >> - /* wacom graphire tablet */ >> >> >> - #define UD_RESETBAUD "\r$" /* reset baud rate to default (wacom >> >> >> V) */ >> >> >> - /* >> >> >> -@@ -45,83 +41,91 @@ Gpm_Type *I_wacom(int fd, unsigned short >> >> >> - #define UD_COORD "~C\r" /* Request max coordinates */ >> >> >> - #define UD_STOP "\nSP\r" /* stop sending coordinates >> >> >> */ >> >> >> - >> >> >> -- flags = 0; /* FIXME: 1.99.13 */ >> >> >> - >> >> >> -- void reset_wacom() { >> >> >> -- /* >> >> >> -- * Init Wacom communication; this is modified from xf86Wacom.so >> >> >> module >> >> >> -- */ >> >> >> -- /* >> >> >> -- * Set speed to 19200 >> >> >> -- */ >> >> >> -- setspeed(fd, 1200, 19200, 0, B19200 | CS8 | CREAD | CLOCAL | >> >> >> HUPCL); >> >> >> -- /* >> >> >> -- * Send Reset Baudrate Command >> >> >> -- */ >> >> >> -- write(fd, UD_RESETBAUD, strlen(UD_RESETBAUD)); >> >> >> -- usleep(250000); >> >> >> -- /* >> >> >> -- * Send Reset Command >> >> >> -- */ >> >> >> -- write(fd, UD_RESET, strlen(UD_RESET)); >> >> >> -- usleep(75000); >> >> >> -- /* >> >> >> -- * Set speed to 9600bps >> >> >> -- */ >> >> >> -- setspeed(fd, 1200, 9600, 0, B9600 | CS8 | CREAD | CLOCAL | >> >> >> HUPCL); >> >> >> -- /* >> >> >> -- * Send Reset Command >> >> >> -- */ >> >> >> -- write(fd, UD_RESET, strlen(UD_RESET)); >> >> >> -- usleep(250000); >> >> >> -- write(fd, UD_STOP, strlen(UD_STOP)); >> >> >> -- usleep(100000); >> >> >> -- } >> >> >> -+static void reset_wacom(int fd) >> >> >> -+{ >> >> >> -+ /* >> >> >> -+ * Init Wacom communication; this is modified from xf86Wacom.so >> >> >> module >> >> >> -+ */ >> >> >> -+ /* >> >> >> -+ * Set speed to 19200 >> >> >> -+ */ >> >> >> -+ setspeed(fd, 1200, 19200, 0, B19200 | CS8 | CREAD | CLOCAL | >> >> >> HUPCL); >> >> >> -+ /* >> >> >> -+ * Send Reset Baudrate Command >> >> >> -+ */ >> >> >> -+ write(fd, UD_RESETBAUD, strlen(UD_RESETBAUD)); >> >> >> -+ usleep(250000); >> >> >> -+ /* >> >> >> -+ * Send Reset Command >> >> >> -+ */ >> >> >> -+ write(fd, UD_RESET, strlen(UD_RESET)); >> >> >> -+ usleep(75000); >> >> >> -+ /* >> >> >> -+ * Set speed to 9600bps >> >> >> -+ */ >> >> >> -+ setspeed(fd, 1200, 9600, 0, B9600 | CS8 | CREAD | CLOCAL | HUPCL); >> >> >> -+ /* >> >> >> -+ * Send Reset Command >> >> >> -+ */ >> >> >> -+ write(fd, UD_RESET, strlen(UD_RESET)); >> >> >> -+ usleep(250000); >> >> >> -+ write(fd, UD_STOP, strlen(UD_STOP)); >> >> >> -+ usleep(100000); >> >> >> -+} >> >> >> - >> >> >> -- int wait_wacom() { >> >> >> -- /* >> >> >> -- * Wait up to 200 ms for Data from Tablet. >> >> >> -- * Do not read that data. >> >> >> -- * Give back 0 on timeout condition, -1 on error and 1 for >> >> >> DataPresent >> >> >> -- */ >> >> >> -- struct timeval timeout; >> >> >> -- >> >> >> -- fd_set readfds; >> >> >> -- >> >> >> -- int err; >> >> >> -- >> >> >> -- FD_ZERO(&readfds); >> >> >> -- FD_SET(fd, &readfds); >> >> >> -- timeout.tv_sec = 0; >> >> >> -- timeout.tv_usec = 200000; >> >> >> -- err = select(FD_SETSIZE, &readfds, NULL, NULL, &timeout); >> >> >> -- return ((err > 0) ? 1 : err); >> >> >> -- } >> >> >> -+static int wait_wacom(int fd) >> >> >> -+{ >> >> >> -+ /* >> >> >> -+ * Wait up to 200 ms for Data from Tablet. >> >> >> -+ * Do not read that data. >> >> >> -+ * Give back 0 on timeout condition, -1 on error and 1 for >> >> >> DataPresent >> >> >> -+ */ >> >> >> -+ struct timeval timeout; >> >> >> - >> >> >> -- char buffer[50], *p; >> >> >> -+ fd_set readfds; >> >> >> - >> >> >> -- int RequestData(char *cmd) { >> >> >> -- int err; >> >> >> -+ int err; >> >> >> - >> >> >> -- /* >> >> >> -- * Send cmd if not null, and get back answer from tablet. >> >> >> -- * Get Data to buffer until full or timeout. >> >> >> -- * Give back 0 for timeout and !0 for buffer full >> >> >> -- */ >> >> >> -- if(cmd) >> >> >> -- write(fd, cmd, strlen(cmd)); >> >> >> -- memset(buffer, 0, sizeof(buffer)); >> >> >> -- p = buffer; >> >> >> -- err = wait_wacom(); >> >> >> -- while(err != -1 && err && (p - buffer) < (int) (sizeof(buffer) >> >> >> - 1)) { >> >> >> -- p += read(fd, p, (sizeof(buffer) - 1) - (p - buffer)); >> >> >> -- err = wait_wacom(); >> >> >> -- } >> >> >> -- /* >> >> >> -- * return 1 for buffer full >> >> >> -- */ >> >> >> -- return ((strlen(buffer) >= (sizeof(buffer) - 1)) ? !0 : 0); >> >> >> -+ FD_ZERO(&readfds); >> >> >> -+ FD_SET(fd, &readfds); >> >> >> -+ timeout.tv_sec = 0; >> >> >> -+ timeout.tv_usec = 200000; >> >> >> -+ err = select(FD_SETSIZE, &readfds, NULL, NULL, &timeout); >> >> >> -+ return ((err > 0) ? 1 : err); >> >> >> -+} >> >> >> -+ >> >> >> -+static int RequestData(int fd, char *cmd, char *buffer) >> >> >> -+{ >> >> >> -+ int err; >> >> >> -+ char *p; >> >> >> -+ /* >> >> >> -+ * Send cmd if not null, and get back answer from tablet. >> >> >> -+ * Get Data to buffer until full or timeout. >> >> >> -+ * Give back 0 for timeout and !0 for buffer full >> >> >> -+ */ >> >> >> -+ if(cmd) >> >> >> -+ write(fd, cmd, strlen(cmd)); >> >> >> -+ memset(buffer, 0, sizeof(buffer)); >> >> >> -+ p = buffer; >> >> >> -+ err = wait_wacom(fd); >> >> >> -+ while(err != -1 && err && (p - buffer) < (int) (sizeof(buffer) - >> >> >> 1)) { >> >> >> -+ p += read(fd, p, (sizeof(buffer) - 1) - (p - buffer)); >> >> >> -+ err = wait_wacom(fd); >> >> >> - } >> >> >> -+ /* >> >> >> -+ * return 1 for buffer full >> >> >> -+ */ >> >> >> -+ return ((strlen(buffer) >= (sizeof(buffer) - 1)) ? !0 : 0); >> >> >> -+} >> >> >> -+ >> >> >> -+Gpm_Type *I_wacom(int fd, unsigned short flags, struct Gpm_Type >> >> >> *type, int argc, >> >> >> -+ char **argv) >> >> >> -+{ >> >> >> -+ >> >> >> -+ flags = 0; /* FIXME: 1.99.13 */ >> >> >> -+ >> >> >> -+ char buffer[50]; >> >> >> - >> >> >> - /* >> >> >> - * We do both modes, relative and absolute, with the same >> >> >> function. >> >> >> -@@ -143,17 +147,17 @@ Gpm_Type *I_wacom(int fd, unsigned short >> >> >> - }; >> >> >> - parse_argv(optioninfo, argc, argv); >> >> >> - type->absolute = WacomAbsoluteWanted; >> >> >> -- reset_wacom(); >> >> >> -+ reset_wacom(fd); >> >> >> - >> >> >> - /* >> >> >> - * "Flush" input queque >> >> >> - */ >> >> >> -- while(RequestData(NULL)) ; >> >> >> -+ while(RequestData(fd, NULL, buffer)) ; >> >> >> - >> >> >> - /* >> >> >> - * read WACOM-ID >> >> >> - */ >> >> >> -- RequestData(UD_FIRMID); >> >> >> -+ RequestData(fd, UD_FIRMID, buffer); >> >> >> - >> >> >> - /* >> >> >> - * Search for matching modell >> >> >> -@@ -180,7 +184,7 @@ Gpm_Type *I_wacom(int fd, unsigned short >> >> >> - * read Wacom max size >> >> >> - */ >> >> >> - if(WacomModell != (-1) && (!wcmodell[WacomModell].maxX)) { >> >> >> -- RequestData(UD_COORD); >> >> >> -+ RequestData(fd, UD_COORD, buffer); >> >> >> - sscanf(buffer + 2, "%d,%d", &wmaxx, &wmaxy); >> >> >> - wmaxx = (wmaxx - wcmodell[WacomModell].border); >> >> >> - wmaxy = (wmaxy - wcmodell[WacomModell].border); >> >> >> diff --git a/meta-oe/recipes-support/gpm/gpm/gpm.service.in >> >> >> b/meta-oe/recipes-support/gpm/gpm/gpm.service.in >> >> >> new file mode 100644 >> >> >> index 000000000..ee6c040fa >> >> >> --- /dev/null >> >> >> +++ b/meta-oe/recipes-support/gpm/gpm/gpm.service.in >> >> >> @@ -0,0 +1,9 @@ >> >> >> +[Unit] >> >> >> +Description=Virtual console mouse server >> >> >> + >> >> >> +[Service] >> >> >> +Type=forking >> >> >> +ExecStart=@bindir@/gpm -m /dev/input/mice -t imps2 >> >> >> + >> >> >> +[Install] >> >> >> +WantedBy=multi-user.target >> >> >> diff --git a/meta-oe/recipes-support/gpm/gpm-1.99.7/init >> >> >> b/meta-oe/recipes-support/gpm/gpm/init >> >> >> similarity index 100% >> >> >> rename from meta-oe/recipes-support/gpm/gpm-1.99.7/init >> >> >> rename to meta-oe/recipes-support/gpm/gpm/init >> >> >> diff --git a/meta-oe/recipes-support/gpm/gpm-1.99.7/no-docs.patch >> >> >> b/meta-oe/recipes-support/gpm/gpm/no-docs.patch >> >> >> similarity index 93% >> >> >> rename from meta-oe/recipes-support/gpm/gpm-1.99.7/no-docs.patch >> >> >> rename to meta-oe/recipes-support/gpm/gpm/no-docs.patch >> >> >> index f10217a94..3faef84ee 100644 >> >> >> --- a/meta-oe/recipes-support/gpm/gpm-1.99.7/no-docs.patch >> >> >> +++ b/meta-oe/recipes-support/gpm/gpm/no-docs.patch >> >> >> @@ -11,7 +11,7 @@ Index: gpm-1.99.7/Makefile.in >> >> >> # user-overridable flags, but it's also all the implicit rule looks >> >> >> at. >> >> >> # missing ? >> >> >> >> >> >> --SUBDIRS = src doc contrib gpm2 >> >> >> +-SUBDIRS = src doc contrib >> >> >> +SUBDIRS = src >> >> >> >> >> >> >> >> >> diff --git a/meta-oe/recipes-support/gpm/gpm-1.99.7/processcreds.patch >> >> >> b/meta-oe/recipes-support/gpm/gpm/processcreds.patch >> >> >> similarity index 100% >> >> >> rename from meta-oe/recipes-support/gpm/gpm-1.99.7/processcreds.patch >> >> >> rename to meta-oe/recipes-support/gpm/gpm/processcreds.patch >> >> >> diff --git a/meta-oe/recipes-support/gpm/gpm_1.99.7.bb >> >> >> b/meta-oe/recipes-support/gpm/gpm_1.99.7.bb >> >> >> deleted file mode 100644 >> >> >> index bbb8c28ac..000000000 >> >> >> --- a/meta-oe/recipes-support/gpm/gpm_1.99.7.bb >> >> >> +++ /dev/null >> >> >> @@ -1,53 +0,0 @@ >> >> >> -DESCRIPTION = "GPM (General Purpose Mouse) is a mouse server \ >> >> >> -for the console and xterm, with sample clients included \ >> >> >> -(emacs, etc)." >> >> >> -SECTION = "console/utils" >> >> >> -LICENSE = "GPLv2+" >> >> >> -LIC_FILES_CHKSUM = >> >> >> "file://gpm2/core/main.c;endline=19;md5=66d3c205c4e7ee5704b2ee351dfed72f" >> >> >> - >> >> >> -PR = "r2" >> >> >> - >> >> >> -DEPENDS = "ncurses" >> >> >> - >> >> >> -SRC_URI = "ftp://arcana.linux.it/pub/gpm/gpm-${PV}.tar.bz2 \ >> >> >> - file://no-docs.patch \ >> >> >> - file://processcreds.patch \ >> >> >> - file://eglibc-2.17.patch \ >> >> >> - file://remove_nested_functions.patch \ >> >> >> - file://init" >> >> >> - >> >> >> -inherit autotools-brokensep update-rc.d >> >> >> - >> >> >> -INITSCRIPT_NAME = "gpm" >> >> >> -INITSCRIPT_PARAMS = "defaults" >> >> >> - >> >> >> -#export LIBS = "-lm" >> >> >> - >> >> >> -# all fields are /* FIXME: gpm 1.99.13 */ >> >> >> -# gpm-1.99.7/src/lib/libhigh.c:171:43: error: parameter 'clientdata' >> >> >> set but not used [-Werror=unused-but-set-parameter] >> >> >> -# gpm-1.99.7/src/lib/report-lib.c:28:21: error: parameter 'line' set >> >> >> but not used [-Werror=unused-but-set-parameter] >> >> >> -# gpm-1.99.7/src/lib/report-lib.c:28:33: error: parameter 'file' set >> >> >> but not used [-Werror=unused-but-set-parameter] >> >> >> -# gpm-1.99.7/src/drivers/empty/i.c:26:23: error: parameter 'fd' set >> >> >> but not used [-Werror=unused-but-set-parameter] >> >> >> -# gpm-1.99.7/src/drivers/empty/i.c:26:42: error: parameter 'flags' set >> >> >> but not used [-Werror=unused-but-set-parameter] >> >> >> -# gpm-1.99.7/src/drivers/etouch/i.c:34:43: error: parameter 'flags' >> >> >> set but not used [-Werror=unused-but-set-parameter] >> >> >> -# gpm-1.99.7/src/drivers/msc/r.c:32:12: error: variable 'dy' set but >> >> >> not used [-Werror=unused-but-set-variable] >> >> >> -# gpm-1.99.7/src/drivers/msc/r.c:32:8: error: variable 'dx' set but >> >> >> not used [-Werror=unused-but-set-variable] >> >> >> -# cc1: all warnings being treated as errors >> >> >> -CFLAGS += "-Wno-extra -Wno-error=unused-but-set-parameter >> >> >> -Wno-error=unused-but-set-variable" >> >> >> - >> >> >> -# twiddler is WIP in 1.99.7 and probably not worth fixing (a lot of >> >> >> changes in gpm-2-dev after 1.99.7 >> >> >> -# gpm-1.99.7/src/drivers/twid/twiddler.c:503:14: error: cast to >> >> >> pointer from integer of different size [-Werror=int-to-pointer-cast] >> >> >> -# /gpm-1.99.7/src/mice.c:221:5: error: (near initialization for >> >> >> 'mice[32].init') [-Werror] >> >> >> -CFLAGS += "-Wno-error=int-to-pointer-cast -Wno-error" >> >> >> - >> >> >> -do_install () { >> >> >> - oe_runmake 'DESTDIR=${D}' install >> >> >> - install -m 0644 src/headers/gpm.h ${D}${includedir} >> >> >> - install -d ${D}/${sysconfdir}/init.d >> >> >> - install -m 0755 ${WORKDIR}/init ${D}/${sysconfdir}/init.d/gpm >> >> >> - cd ${D}${libdir} && ln -sf libgpm.so.1.19.0 libgpm.so.1 >> >> >> -} >> >> >> -SRC_URI[md5sum] = "9fdddf5f53cb11d40bb2bb671d3ac544" >> >> >> -SRC_URI[sha256sum] = >> >> >> "6071378b24494e36ca3ef6377606e7e565040413c86704753a162d2180af32ee" >> >> >> - >> >> >> -FILES_${PN} += "${datadir}/emacs" >> >> >> diff --git a/meta-oe/recipes-support/gpm/gpm_git.bb >> >> >> b/meta-oe/recipes-support/gpm/gpm_git.bb >> >> >> new file mode 100644 >> >> >> index 000000000..4c0e9434d >> >> >> --- /dev/null >> >> >> +++ b/meta-oe/recipes-support/gpm/gpm_git.bb >> >> >> @@ -0,0 +1,44 @@ >> >> >> +DESCRIPTION = "GPM (General Purpose Mouse) is a mouse server \ >> >> >> +for the console and xterm, with sample clients included \ >> >> >> +(emacs, etc)." >> >> >> +SECTION = "console/utils" >> >> >> +LICENSE = "GPLv2+" >> >> >> +LIC_FILES_CHKSUM = >> >> >> "file://COPYING;md5=18810669f13b87348459e611d31ab760" >> >> >> + >> >> >> +PV = "1.99.7+git${SRCREV}" >> >> >> +PR = "r2" >> >> >> +SRCREV = "1fd19417b8a4dd9945347e98dfa97e4cfd798d77" >> >> >> + >> >> >> +DEPENDS = "ncurses" >> >> >> + >> >> >> +SRC_URI = "git://github.com/telmich/gpm;protocol=git \ >> >> >> + file://no-docs.patch \ >> >> >> + file://processcreds.patch \ >> >> >> + file://gpm.service.in \ >> >> >> + file://init" >> >> >> + >> >> >> +S = "${WORKDIR}/git" >> >> >> + >> >> >> +inherit autotools-brokensep update-rc.d systemd >> >> >> + >> >> >> +INITSCRIPT_NAME = "gpm" >> >> >> +INITSCRIPT_PARAMS = "defaults" >> >> >> + >> >> >> +do_configure_prepend() { >> >> >> + (cd ${S};./autogen.sh;cd -) >> >> >> +} >> >> >> + >> >> >> +do_install_append () { >> >> >> + if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', >> >> >> 'false', d)}; then >> >> >> + install -d ${D}${systemd_system_unitdir} >> >> >> + sed 's:@bindir@:${bindir}:' < ${WORKDIR}/gpm.service.in >> >> >> >${D}${systemd_system_unitdir}/gpm.service >> >> >> + fi >> >> >> + if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', >> >> >> 'false', d)}; then >> >> >> + install -D -m 0755 ${WORKDIR}/init >> >> >> ${D}/${sysconfdir}/init.d/gpm >> >> >> + fi >> >> >> + install -D -m 0644 ${S}/src/headers/gpm.h ${D}${includedir}/gpm.h >> >> >> +} >> >> >> + >> >> >> +SYSTEMD_SERVICE_${PN} = "gpm.service" >> >> >> + >> >> >> +FILES_${PN} += "${datadir}/emacs" >> >> >> -- >> >> >> 2.12.1 >> >> >> >> >> >> -- >> >> >> _______________________________________________ >> >> >> Openembedded-devel mailing list >> >> >> Openembedded-devel@lists.openembedded.org >> >> >> http://lists.openembedded.org/mailman/listinfo/openembedded-devel >> >> > >> >> > -- >> >> > Martin 'JaMa' Jansa jabber: Martin.Jansa@gmail.com >> > >> > > > -- > Martin 'JaMa' Jansa jabber: Martin.Jansa@gmail.com -- _______________________________________________ Openembedded-devel mailing list Openembedded-devel@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-devel
diff --git a/meta-oe/recipes-support/gpm/gpm-1.99.7/eglibc-2.17.patch b/meta-oe/recipes-support/gpm/gpm-1.99.7/eglibc-2.17.patch deleted file mode 100644 index e43bdcb22..000000000 --- a/meta-oe/recipes-support/gpm/gpm-1.99.7/eglibc-2.17.patch +++ /dev/null @@ -1,12 +0,0 @@ -Upstream-Status: pending - ---- gpm-1.99.7.orig/src/daemon/open_console.c 2008-07-24 12:33:05.000000000 +0200 -+++ gpm-1.99.7/src/daemon/open_console.c 2013-01-10 12:39:47.975461947 +0100 -@@ -23,6 +23,7 @@ - #include <fcntl.h> /* open and co. */ - #include <sys/stat.h> /* stat() */ - #include <sys/ioctl.h> /* ioctl() */ -+#include <sys/types.h> /* major() */ - - /* Linux specific (to be outsourced in gpm2 */ - #include <linux/serial.h> /* for serial console check */ diff --git a/meta-oe/recipes-support/gpm/gpm-1.99.7/remove_nested_functions.patch b/meta-oe/recipes-support/gpm/gpm-1.99.7/remove_nested_functions.patch deleted file mode 100644 index d2d6cb8a8..000000000 --- a/meta-oe/recipes-support/gpm/gpm-1.99.7/remove_nested_functions.patch +++ /dev/null @@ -1,326 +0,0 @@ -Remove nested functions, they are not available in all compilers -e.g. clang will not support them. - -Upstream-Status: Pending -Signed-off-by: Khem Raj <raj.khem@gmail.com> - -Index: gpm-1.99.7/src/drivers/summa/i.c -=================================================================== ---- gpm-1.99.7.orig/src/drivers/summa/i.c -+++ gpm-1.99.7/src/drivers/summa/i.c -@@ -36,6 +36,28 @@ extern int summamaxy; - - extern signed char summaid; - -+static void resetsumma(int fd) -+{ -+ write(fd, 0, 1); /* Reset */ -+ usleep(400000); /* wait */ -+} -+ -+static int waitsumma(int fd) -+{ -+ struct timeval timeout; -+ -+ fd_set readfds; -+ -+ int err; -+ -+ FD_ZERO(&readfds); -+ FD_SET(fd, &readfds); -+ timeout.tv_sec = 0; -+ timeout.tv_usec = 200000; -+ err = select(FD_SETSIZE, &readfds, NULL, NULL, &timeout); -+ return (err); -+} -+ - Gpm_Type *I_summa(int fd, unsigned short flags, struct Gpm_Type *type, int argc, - char **argv) - { -@@ -43,24 +65,6 @@ Gpm_Type *I_summa(int fd, unsigned short - flags = argc = 0; /* FIXME: 1.99.13 */ - argv = NULL; - -- void resetsumma() { -- write(fd, 0, 1); /* Reset */ -- usleep(400000); /* wait */ -- } -- int waitsumma() { -- struct timeval timeout; -- -- fd_set readfds; -- -- int err; -- -- FD_ZERO(&readfds); -- FD_SET(fd, &readfds); -- timeout.tv_sec = 0; -- timeout.tv_usec = 200000; -- err = select(FD_SETSIZE, &readfds, NULL, NULL, &timeout); -- return (err); -- } - int err; - - char buffer[255]; -@@ -91,7 +95,7 @@ Gpm_Type *I_summa(int fd, unsigned short - */ - setspeed(fd, 1200, 9600, 1, - B9600 | CS8 | CREAD | CLOCAL | HUPCL | PARENB | PARODD); -- resetsumma(); -+ resetsumma(fd); - - write(fd, SS_PROMPT_MODE, strlen(SS_PROMPT_MODE)); - -@@ -103,7 +107,7 @@ Gpm_Type *I_summa(int fd, unsigned short - * read the Summa Firm-ID - */ - write(fd, SS_FIRMID, strlen(SS_FIRMID)); -- err = waitsumma(); -+ err = waitsumma(fd); - if(!((err == -1) || (!err))) { - summaid = 10; /* Original Summagraphics */ - read(fd, buffer, 255); /* Read Firm-ID */ -@@ -111,14 +115,14 @@ Gpm_Type *I_summa(int fd, unsigned short - } - - if(summaid < 0) { /* Genius-test */ -- resetsumma(); -+ resetsumma(fd); - write(fd, GEN_MMSERIES, 1); - write(fd, &GEN_MODELL, 1); /* Read modell */ -- err = waitsumma(); -+ err = waitsumma(fd); - if(!((err == -1) || (!err))) { /* read Genius-ID */ -- err = waitsumma(); -+ err = waitsumma(fd); - if(!((err == -1) || (!err))) { -- err = waitsumma(); -+ err = waitsumma(fd); - if(!((err == -1) || (!err))) { - read(fd, &config, 1); - summaid = (config[0] & 224) >> 5; /* genius tablet-id -@@ -135,14 +139,14 @@ Gpm_Type *I_summa(int fd, unsigned short - * unknown tablet ? - */ - if((summaid < 0) || (summaid == 11)) { -- resetsumma(); -+ resetsumma(fd); - write(fd, SS_BINARY_FMT SS_PROMPT_MODE, 3); - } - - /* - * read tablet size - */ -- err = waitsumma(); -+ err = waitsumma(fd); - if(!((err == -1) || (!err))) - read(fd, buffer, sizeof(buffer)); - write(fd, SS_READCONFIG, 1); -Index: gpm-1.99.7/src/drivers/wacom/i.c -=================================================================== ---- gpm-1.99.7.orig/src/drivers/wacom/i.c -+++ gpm-1.99.7/src/drivers/wacom/i.c -@@ -30,10 +30,6 @@ - #include "message.h" /* gpm_report */ - #include "wacom.h" /* wacom */ - --Gpm_Type *I_wacom(int fd, unsigned short flags, struct Gpm_Type *type, int argc, -- char **argv) --{ -- - /* wacom graphire tablet */ - #define UD_RESETBAUD "\r$" /* reset baud rate to default (wacom V) */ - /* -@@ -45,83 +41,91 @@ Gpm_Type *I_wacom(int fd, unsigned short - #define UD_COORD "~C\r" /* Request max coordinates */ - #define UD_STOP "\nSP\r" /* stop sending coordinates */ - -- flags = 0; /* FIXME: 1.99.13 */ - -- void reset_wacom() { -- /* -- * Init Wacom communication; this is modified from xf86Wacom.so module -- */ -- /* -- * Set speed to 19200 -- */ -- setspeed(fd, 1200, 19200, 0, B19200 | CS8 | CREAD | CLOCAL | HUPCL); -- /* -- * Send Reset Baudrate Command -- */ -- write(fd, UD_RESETBAUD, strlen(UD_RESETBAUD)); -- usleep(250000); -- /* -- * Send Reset Command -- */ -- write(fd, UD_RESET, strlen(UD_RESET)); -- usleep(75000); -- /* -- * Set speed to 9600bps -- */ -- setspeed(fd, 1200, 9600, 0, B9600 | CS8 | CREAD | CLOCAL | HUPCL); -- /* -- * Send Reset Command -- */ -- write(fd, UD_RESET, strlen(UD_RESET)); -- usleep(250000); -- write(fd, UD_STOP, strlen(UD_STOP)); -- usleep(100000); -- } -+static void reset_wacom(int fd) -+{ -+ /* -+ * Init Wacom communication; this is modified from xf86Wacom.so module -+ */ -+ /* -+ * Set speed to 19200 -+ */ -+ setspeed(fd, 1200, 19200, 0, B19200 | CS8 | CREAD | CLOCAL | HUPCL); -+ /* -+ * Send Reset Baudrate Command -+ */ -+ write(fd, UD_RESETBAUD, strlen(UD_RESETBAUD)); -+ usleep(250000); -+ /* -+ * Send Reset Command -+ */ -+ write(fd, UD_RESET, strlen(UD_RESET)); -+ usleep(75000); -+ /* -+ * Set speed to 9600bps -+ */ -+ setspeed(fd, 1200, 9600, 0, B9600 | CS8 | CREAD | CLOCAL | HUPCL); -+ /* -+ * Send Reset Command -+ */ -+ write(fd, UD_RESET, strlen(UD_RESET)); -+ usleep(250000); -+ write(fd, UD_STOP, strlen(UD_STOP)); -+ usleep(100000); -+} - -- int wait_wacom() { -- /* -- * Wait up to 200 ms for Data from Tablet. -- * Do not read that data. -- * Give back 0 on timeout condition, -1 on error and 1 for DataPresent -- */ -- struct timeval timeout; -- -- fd_set readfds; -- -- int err; -- -- FD_ZERO(&readfds); -- FD_SET(fd, &readfds); -- timeout.tv_sec = 0; -- timeout.tv_usec = 200000; -- err = select(FD_SETSIZE, &readfds, NULL, NULL, &timeout); -- return ((err > 0) ? 1 : err); -- } -+static int wait_wacom(int fd) -+{ -+ /* -+ * Wait up to 200 ms for Data from Tablet. -+ * Do not read that data. -+ * Give back 0 on timeout condition, -1 on error and 1 for DataPresent -+ */ -+ struct timeval timeout; - -- char buffer[50], *p; -+ fd_set readfds; - -- int RequestData(char *cmd) { -- int err; -+ int err; - -- /* -- * Send cmd if not null, and get back answer from tablet. -- * Get Data to buffer until full or timeout. -- * Give back 0 for timeout and !0 for buffer full -- */ -- if(cmd) -- write(fd, cmd, strlen(cmd)); -- memset(buffer, 0, sizeof(buffer)); -- p = buffer; -- err = wait_wacom(); -- while(err != -1 && err && (p - buffer) < (int) (sizeof(buffer) - 1)) { -- p += read(fd, p, (sizeof(buffer) - 1) - (p - buffer)); -- err = wait_wacom(); -- } -- /* -- * return 1 for buffer full -- */ -- return ((strlen(buffer) >= (sizeof(buffer) - 1)) ? !0 : 0); -+ FD_ZERO(&readfds); -+ FD_SET(fd, &readfds); -+ timeout.tv_sec = 0; -+ timeout.tv_usec = 200000; -+ err = select(FD_SETSIZE, &readfds, NULL, NULL, &timeout); -+ return ((err > 0) ? 1 : err); -+} -+ -+static int RequestData(int fd, char *cmd, char *buffer) -+{ -+ int err; -+ char *p; -+ /* -+ * Send cmd if not null, and get back answer from tablet. -+ * Get Data to buffer until full or timeout. -+ * Give back 0 for timeout and !0 for buffer full -+ */ -+ if(cmd) -+ write(fd, cmd, strlen(cmd)); -+ memset(buffer, 0, sizeof(buffer)); -+ p = buffer; -+ err = wait_wacom(fd); -+ while(err != -1 && err && (p - buffer) < (int) (sizeof(buffer) - 1)) { -+ p += read(fd, p, (sizeof(buffer) - 1) - (p - buffer)); -+ err = wait_wacom(fd); - } -+ /* -+ * return 1 for buffer full -+ */ -+ return ((strlen(buffer) >= (sizeof(buffer) - 1)) ? !0 : 0); -+} -+ -+Gpm_Type *I_wacom(int fd, unsigned short flags, struct Gpm_Type *type, int argc, -+ char **argv) -+{ -+ -+ flags = 0; /* FIXME: 1.99.13 */ -+ -+ char buffer[50]; - - /* - * We do both modes, relative and absolute, with the same function. -@@ -143,17 +147,17 @@ Gpm_Type *I_wacom(int fd, unsigned short - }; - parse_argv(optioninfo, argc, argv); - type->absolute = WacomAbsoluteWanted; -- reset_wacom(); -+ reset_wacom(fd); - - /* - * "Flush" input queque - */ -- while(RequestData(NULL)) ; -+ while(RequestData(fd, NULL, buffer)) ; - - /* - * read WACOM-ID - */ -- RequestData(UD_FIRMID); -+ RequestData(fd, UD_FIRMID, buffer); - - /* - * Search for matching modell -@@ -180,7 +184,7 @@ Gpm_Type *I_wacom(int fd, unsigned short - * read Wacom max size - */ - if(WacomModell != (-1) && (!wcmodell[WacomModell].maxX)) { -- RequestData(UD_COORD); -+ RequestData(fd, UD_COORD, buffer); - sscanf(buffer + 2, "%d,%d", &wmaxx, &wmaxy); - wmaxx = (wmaxx - wcmodell[WacomModell].border); - wmaxy = (wmaxy - wcmodell[WacomModell].border); diff --git a/meta-oe/recipes-support/gpm/gpm/gpm.service.in b/meta-oe/recipes-support/gpm/gpm/gpm.service.in new file mode 100644 index 000000000..ee6c040fa --- /dev/null +++ b/meta-oe/recipes-support/gpm/gpm/gpm.service.in @@ -0,0 +1,9 @@ +[Unit] +Description=Virtual console mouse server + +[Service] +Type=forking +ExecStart=@bindir@/gpm -m /dev/input/mice -t imps2 + +[Install] +WantedBy=multi-user.target diff --git a/meta-oe/recipes-support/gpm/gpm-1.99.7/init b/meta-oe/recipes-support/gpm/gpm/init similarity index 100% rename from meta-oe/recipes-support/gpm/gpm-1.99.7/init rename to meta-oe/recipes-support/gpm/gpm/init diff --git a/meta-oe/recipes-support/gpm/gpm-1.99.7/no-docs.patch b/meta-oe/recipes-support/gpm/gpm/no-docs.patch similarity index 93% rename from meta-oe/recipes-support/gpm/gpm-1.99.7/no-docs.patch rename to meta-oe/recipes-support/gpm/gpm/no-docs.patch index f10217a94..3faef84ee 100644 --- a/meta-oe/recipes-support/gpm/gpm-1.99.7/no-docs.patch +++ b/meta-oe/recipes-support/gpm/gpm/no-docs.patch @@ -11,7 +11,7 @@ Index: gpm-1.99.7/Makefile.in # user-overridable flags, but it's also all the implicit rule looks at. # missing ? --SUBDIRS = src doc contrib gpm2 +-SUBDIRS = src doc contrib +SUBDIRS = src diff --git a/meta-oe/recipes-support/gpm/gpm-1.99.7/processcreds.patch b/meta-oe/recipes-support/gpm/gpm/processcreds.patch similarity index 100% rename from meta-oe/recipes-support/gpm/gpm-1.99.7/processcreds.patch rename to meta-oe/recipes-support/gpm/gpm/processcreds.patch diff --git a/meta-oe/recipes-support/gpm/gpm_1.99.7.bb b/meta-oe/recipes-support/gpm/gpm_1.99.7.bb deleted file mode 100644 index bbb8c28ac..000000000 --- a/meta-oe/recipes-support/gpm/gpm_1.99.7.bb +++ /dev/null @@ -1,53 +0,0 @@ -DESCRIPTION = "GPM (General Purpose Mouse) is a mouse server \ -for the console and xterm, with sample clients included \ -(emacs, etc)." -SECTION = "console/utils" -LICENSE = "GPLv2+" -LIC_FILES_CHKSUM = "file://gpm2/core/main.c;endline=19;md5=66d3c205c4e7ee5704b2ee351dfed72f" - -PR = "r2" - -DEPENDS = "ncurses" - -SRC_URI = "ftp://arcana.linux.it/pub/gpm/gpm-${PV}.tar.bz2 \ - file://no-docs.patch \ - file://processcreds.patch \ - file://eglibc-2.17.patch \ - file://remove_nested_functions.patch \ - file://init" - -inherit autotools-brokensep update-rc.d - -INITSCRIPT_NAME = "gpm" -INITSCRIPT_PARAMS = "defaults" - -#export LIBS = "-lm" - -# all fields are /* FIXME: gpm 1.99.13 */ -# gpm-1.99.7/src/lib/libhigh.c:171:43: error: parameter 'clientdata' set but not used [-Werror=unused-but-set-parameter] -# gpm-1.99.7/src/lib/report-lib.c:28:21: error: parameter 'line' set but not used [-Werror=unused-but-set-parameter] -# gpm-1.99.7/src/lib/report-lib.c:28:33: error: parameter 'file' set but not used [-Werror=unused-but-set-parameter] -# gpm-1.99.7/src/drivers/empty/i.c:26:23: error: parameter 'fd' set but not used [-Werror=unused-but-set-parameter] -# gpm-1.99.7/src/drivers/empty/i.c:26:42: error: parameter 'flags' set but not used [-Werror=unused-but-set-parameter] -# gpm-1.99.7/src/drivers/etouch/i.c:34:43: error: parameter 'flags' set but not used [-Werror=unused-but-set-parameter] -# gpm-1.99.7/src/drivers/msc/r.c:32:12: error: variable 'dy' set but not used [-Werror=unused-but-set-variable] -# gpm-1.99.7/src/drivers/msc/r.c:32:8: error: variable 'dx' set but not used [-Werror=unused-but-set-variable] -# cc1: all warnings being treated as errors -CFLAGS += "-Wno-extra -Wno-error=unused-but-set-parameter -Wno-error=unused-but-set-variable" - -# twiddler is WIP in 1.99.7 and probably not worth fixing (a lot of changes in gpm-2-dev after 1.99.7 -# gpm-1.99.7/src/drivers/twid/twiddler.c:503:14: error: cast to pointer from integer of different size [-Werror=int-to-pointer-cast] -# /gpm-1.99.7/src/mice.c:221:5: error: (near initialization for 'mice[32].init') [-Werror] -CFLAGS += "-Wno-error=int-to-pointer-cast -Wno-error" - -do_install () { - oe_runmake 'DESTDIR=${D}' install - install -m 0644 src/headers/gpm.h ${D}${includedir} - install -d ${D}/${sysconfdir}/init.d - install -m 0755 ${WORKDIR}/init ${D}/${sysconfdir}/init.d/gpm - cd ${D}${libdir} && ln -sf libgpm.so.1.19.0 libgpm.so.1 -} -SRC_URI[md5sum] = "9fdddf5f53cb11d40bb2bb671d3ac544" -SRC_URI[sha256sum] = "6071378b24494e36ca3ef6377606e7e565040413c86704753a162d2180af32ee" - -FILES_${PN} += "${datadir}/emacs" diff --git a/meta-oe/recipes-support/gpm/gpm_git.bb b/meta-oe/recipes-support/gpm/gpm_git.bb new file mode 100644 index 000000000..4c0e9434d --- /dev/null +++ b/meta-oe/recipes-support/gpm/gpm_git.bb @@ -0,0 +1,44 @@ +DESCRIPTION = "GPM (General Purpose Mouse) is a mouse server \ +for the console and xterm, with sample clients included \ +(emacs, etc)." +SECTION = "console/utils" +LICENSE = "GPLv2+" +LIC_FILES_CHKSUM = "file://COPYING;md5=18810669f13b87348459e611d31ab760" + +PV = "1.99.7+git${SRCREV}" +PR = "r2" +SRCREV = "1fd19417b8a4dd9945347e98dfa97e4cfd798d77" + +DEPENDS = "ncurses" + +SRC_URI = "git://github.com/telmich/gpm;protocol=git \ + file://no-docs.patch \ + file://processcreds.patch \ + file://gpm.service.in \ + file://init" + +S = "${WORKDIR}/git" + +inherit autotools-brokensep update-rc.d systemd + +INITSCRIPT_NAME = "gpm" +INITSCRIPT_PARAMS = "defaults" + +do_configure_prepend() { + (cd ${S};./autogen.sh;cd -) +} + +do_install_append () { + if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then + install -d ${D}${systemd_system_unitdir} + sed 's:@bindir@:${bindir}:' < ${WORKDIR}/gpm.service.in >${D}${systemd_system_unitdir}/gpm.service + fi + if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then + install -D -m 0755 ${WORKDIR}/init ${D}/${sysconfdir}/init.d/gpm + fi + install -D -m 0644 ${S}/src/headers/gpm.h ${D}${includedir}/gpm.h +} + +SYSTEMD_SERVICE_${PN} = "gpm.service" + +FILES_${PN} += "${datadir}/emacs"
Additional patches are upstream to fix build with gcc6 and clang Add systemd unit file Signed-off-by: Khem Raj <raj.khem@gmail.com> --- .../gpm/gpm-1.99.7/eglibc-2.17.patch | 12 - .../gpm/gpm-1.99.7/remove_nested_functions.patch | 326 --------------------- meta-oe/recipes-support/gpm/gpm/gpm.service.in | 9 + .../recipes-support/gpm/{gpm-1.99.7 => gpm}/init | 0 .../gpm/{gpm-1.99.7 => gpm}/no-docs.patch | 2 +- .../gpm/{gpm-1.99.7 => gpm}/processcreds.patch | 0 meta-oe/recipes-support/gpm/gpm_1.99.7.bb | 53 ---- meta-oe/recipes-support/gpm/gpm_git.bb | 44 +++ 8 files changed, 54 insertions(+), 392 deletions(-) delete mode 100644 meta-oe/recipes-support/gpm/gpm-1.99.7/eglibc-2.17.patch delete mode 100644 meta-oe/recipes-support/gpm/gpm-1.99.7/remove_nested_functions.patch create mode 100644 meta-oe/recipes-support/gpm/gpm/gpm.service.in rename meta-oe/recipes-support/gpm/{gpm-1.99.7 => gpm}/init (100%) rename meta-oe/recipes-support/gpm/{gpm-1.99.7 => gpm}/no-docs.patch (93%) rename meta-oe/recipes-support/gpm/{gpm-1.99.7 => gpm}/processcreds.patch (100%) delete mode 100644 meta-oe/recipes-support/gpm/gpm_1.99.7.bb create mode 100644 meta-oe/recipes-support/gpm/gpm_git.bb -- 2.12.1 -- _______________________________________________ Openembedded-devel mailing list Openembedded-devel@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-devel