summaryrefslogtreecommitdiffstats
path: root/meta-oe/recipes-graphics
diff options
context:
space:
mode:
authorKhem Raj <raj.khem@gmail.com>2019-11-30 11:49:21 -0800
committerKhem Raj <raj.khem@gmail.com>2019-12-01 11:24:26 -0800
commitaa86b55286e74e5a6d779a14c526561a091cd21e (patch)
tree8a74cda79b518010f206282e25a44d1d7f624e2f /meta-oe/recipes-graphics
parent18805e625b1da4964864bc9f0b165635e814edd8 (diff)
downloadmeta-openembedded-aa86b55286e74e5a6d779a14c526561a091cd21e.tar.gz
x11vnc: Fix build for 32bit arches with 64bit time_t
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Diffstat (limited to 'meta-oe/recipes-graphics')
-rw-r--r--meta-oe/recipes-graphics/x11vnc/files/0001-Fix-build-on-32bit-arches-with-64bit-time_t.patch111
-rw-r--r--meta-oe/recipes-graphics/x11vnc/x11vnc_0.9.16.bb5
2 files changed, 114 insertions, 2 deletions
diff --git a/meta-oe/recipes-graphics/x11vnc/files/0001-Fix-build-on-32bit-arches-with-64bit-time_t.patch b/meta-oe/recipes-graphics/x11vnc/files/0001-Fix-build-on-32bit-arches-with-64bit-time_t.patch
new file mode 100644
index 000000000..d44445fa9
--- /dev/null
+++ b/meta-oe/recipes-graphics/x11vnc/files/0001-Fix-build-on-32bit-arches-with-64bit-time_t.patch
@@ -0,0 +1,111 @@
1From 8ab672ccc67b64058cffac2cd19a0d3b75d5aa25 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Sat, 30 Nov 2019 11:43:32 -0800
4Subject: [PATCH] Fix build on 32bit arches with 64bit time_t
5
6time element is deprecated on new input_event structure in kernel's
7input.h [1]
8
9[1] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit?id=152194fe9c3f
10
11Upstream-Status: Submitted [https://github.com/LibVNC/x11vnc/pull/117]
12Signed-off-by: Khem Raj <raj.khem@gmail.com>
13---
14 src/uinput.c | 28 ++++++++++++++++++++++++----
15 1 file changed, 24 insertions(+), 4 deletions(-)
16
17diff --git a/src/uinput.c b/src/uinput.c
18index 28fbad3..343b7c5 100644
19--- a/src/uinput.c
20+++ b/src/uinput.c
21@@ -54,6 +54,11 @@ so, delete this exception statement from your version.
22 #include <linux/input.h>
23 #include <linux/uinput.h>
24
25+#ifndef input_event_sec
26+#define input_event_sec time.tv_sec
27+#define input_event_usec time.tv_usec
28+#endif
29+
30 #if !defined(EV_SYN) || !defined(SYN_REPORT)
31 #undef UINPUT_OK
32 #endif
33@@ -710,6 +715,7 @@ void parse_uinput_str(char *in) {
34 static void ptr_move(int dx, int dy) {
35 #ifdef UINPUT_OK
36 struct input_event ev;
37+ struct timeval tval;
38 int d = direct_rel_fd < 0 ? fd : direct_rel_fd;
39
40 if (injectable && strchr(injectable, 'M') == NULL) {
41@@ -720,7 +726,9 @@ static void ptr_move(int dx, int dy) {
42
43 if (db) fprintf(stderr, "ptr_move(%d, %d) fd=%d\n", dx, dy, d);
44
45- gettimeofday(&ev.time, NULL);
46+ gettimeofday(&tval, NULL);
47+ ev.input_event_sec = tval.tv_sec;
48+ ev.input_event_usec = tval.tv_usec;
49 ev.type = EV_REL;
50 ev.code = REL_Y;
51 ev.value = dy;
52@@ -755,6 +763,7 @@ static void apply_tslib(int *x, int *y) {
53 static void ptr_abs(int x, int y, int p) {
54 #ifdef UINPUT_OK
55 struct input_event ev;
56+ struct timeval tval;
57 int x0, y0;
58 int d = direct_abs_fd < 0 ? fd : direct_abs_fd;
59
60@@ -773,7 +782,9 @@ static void ptr_abs(int x, int y, int p) {
61
62 if (db) fprintf(stderr, "ptr_abs(%d, %d => %d %d, p=%d) fd=%d\n", x0, y0, x, y, p, d);
63
64- gettimeofday(&ev.time, NULL);
65+ gettimeofday(&tval, NULL);
66+ ev.input_event_sec = tval.tv_sec;
67+ ev.input_event_usec = tval.tv_usec;
68 ev.type = EV_ABS;
69 ev.code = ABS_Y;
70 ev.value = y;
71@@ -950,6 +961,7 @@ if (0) {usleep(100*1000) ;}
72 static void button_click(int down, int btn) {
73 #ifdef UINPUT_OK
74 struct input_event ev;
75+ struct timeval tval;
76 int d = direct_btn_fd < 0 ? fd : direct_btn_fd;
77
78 if (injectable && strchr(injectable, 'B') == NULL) {
79@@ -959,7 +971,12 @@ static void button_click(int down, int btn) {
80 if (db) fprintf(stderr, "button_click: btn %d %s fd=%d\n", btn, down ? "down" : "up", d);
81
82 memset(&ev, 0, sizeof(ev));
83- gettimeofday(&ev.time, NULL);
84+ gettimeofday(&tval, NULL);
85+ gettimeofday(&tval, NULL);
86+ ev.input_event_sec = tval.tv_sec;
87+ ev.input_event_usec = tval.tv_usec;
88+ ev.input_event_sec = tval.tv_sec;
89+ ev.input_event_usec = tval.tv_usec;
90 ev.type = EV_KEY;
91 ev.value = down;
92
93@@ -1230,6 +1247,7 @@ void uinput_pointer_command(int mask, int x, int y, rfbClientPtr client) {
94 void uinput_key_command(int down, int keysym, rfbClientPtr client) {
95 #ifdef UINPUT_OK
96 struct input_event ev;
97+ struct timeval tval;
98 int scancode;
99 allowed_input_t input;
100 int d = direct_key_fd < 0 ? fd : direct_key_fd;
101@@ -1253,7 +1271,9 @@ void uinput_key_command(int down, int keysym, rfbClientPtr client) {
102 if (db) fprintf(stderr, "uinput_key_command: %d -> %d %s fd=%d\n", keysym, scancode, down ? "down" : "up", d);
103
104 memset(&ev, 0, sizeof(ev));
105- gettimeofday(&ev.time, NULL);
106+ gettimeofday(&tval, NULL);
107+ ev.input_event_sec = tval.tv_sec;
108+ ev.input_event_usec = tval.tv_usec;
109 ev.type = EV_KEY;
110 ev.code = (unsigned char) scancode;
111 ev.value = down;
diff --git a/meta-oe/recipes-graphics/x11vnc/x11vnc_0.9.16.bb b/meta-oe/recipes-graphics/x11vnc/x11vnc_0.9.16.bb
index d0c9f774f..0d84c420a 100644
--- a/meta-oe/recipes-graphics/x11vnc/x11vnc_0.9.16.bb
+++ b/meta-oe/recipes-graphics/x11vnc/x11vnc_0.9.16.bb
@@ -10,8 +10,9 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
10SRCREV = "4ca006fed80410bd9b061a1519bd5d9366bb0bc8" 10SRCREV = "4ca006fed80410bd9b061a1519bd5d9366bb0bc8"
11SRC_URI = "git://github.com/LibVNC/x11vnc \ 11SRC_URI = "git://github.com/LibVNC/x11vnc \
12 file://starting-fix.patch \ 12 file://starting-fix.patch \
13 file://0001-misc-Makefile.am-don-t-install-Xdummy-when-configure.patch \ 13 file://0001-misc-Makefile.am-don-t-install-Xdummy-when-configure.patch \
14" 14 file://0001-Fix-build-on-32bit-arches-with-64bit-time_t.patch \
15 "
15S = "${WORKDIR}/git" 16S = "${WORKDIR}/git"
16 17
17DEPENDS = "\ 18DEPENDS = "\