[oe] [meta-oe][PATCH 01/43] gpm: Update to use git src uri
Khem Raj
raj.khem at gmail.com
Wed Apr 5 16:38:01 UTC 2017
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 at 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 at 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 at 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 at lists.openembedded.org
>> http://lists.openembedded.org/mailman/listinfo/openembedded-devel
>
> --
> Martin 'JaMa' Jansa jabber: Martin.Jansa at gmail.com
More information about the Openembedded-devel
mailing list