From a624a4ca3f2e46e7a77c3462d23b8002ccadabd7 Mon Sep 17 00:00:00 2001 From: Michael Marineau Date: Wed, 11 Apr 2007 00:29:28 +0000 Subject: Remove QEMU monitor mode from VNC, fixes bug #170917. Needs testing\! svn path=/xen/; revision=19 --- app-emulation/xen-tools/Manifest | 12 ++- .../xen-tools-remove-monitor-mode-from-vnc.patch | 110 +++++++++++++++++++++ app-emulation/xen-tools/xen-tools-3.0.4_p1.ebuild | 3 + 3 files changed, 121 insertions(+), 4 deletions(-) create mode 100644 app-emulation/xen-tools/files/3.0.4_p1/xen-tools-remove-monitor-mode-from-vnc.patch diff --git a/app-emulation/xen-tools/Manifest b/app-emulation/xen-tools/Manifest index d321f46..accb5b8 100644 --- a/app-emulation/xen-tools/Manifest +++ b/app-emulation/xen-tools/Manifest @@ -10,6 +10,10 @@ AUX 3.0.4_p1/xen-tools-network-bridge-broadcast.patch 841 RMD160 21fd0a5e50109cb MD5 2812525317e8827f626962738e4643d4 files/3.0.4_p1/xen-tools-network-bridge-broadcast.patch 841 RMD160 21fd0a5e50109cb9665717e17522afded6c26c26 files/3.0.4_p1/xen-tools-network-bridge-broadcast.patch 841 SHA256 75c0739f55cc63f1d17d16465ec681c943155ae57b5c9d67ed7c6be6254d3223 files/3.0.4_p1/xen-tools-network-bridge-broadcast.patch 841 +AUX 3.0.4_p1/xen-tools-remove-monitor-mode-from-vnc.patch 2840 RMD160 b02c4d1604419b09383d333049e334528894e02e SHA1 eafcf4a5c010dd237f3a54fd6c92adcd2468c946 SHA256 08f61f019a66d6f0646cc6e88553d80df2fc85995d2ea3365648466c77fdae69 +MD5 48a6dffdd5647812cb4ac31002ff956c files/3.0.4_p1/xen-tools-remove-monitor-mode-from-vnc.patch 2840 +RMD160 b02c4d1604419b09383d333049e334528894e02e files/3.0.4_p1/xen-tools-remove-monitor-mode-from-vnc.patch 2840 +SHA256 08f61f019a66d6f0646cc6e88553d80df2fc85995d2ea3365648466c77fdae69 files/3.0.4_p1/xen-tools-remove-monitor-mode-from-vnc.patch 2840 AUX 3.0.4_p1/xen-tools-vnclisten.patch 519 RMD160 96a88fcd593bbc4461d87fb50b3ecaf06bab8729 SHA1 95e37aa7d92fcd87616a39be032bc91c18077881 SHA256 4f368dada2c7c5538ac6c2a2e23693828dea18a4b27e54c3d4a65e5603812dcb MD5 423ad930eef2e40ee30b6f648f0340f2 files/3.0.4_p1/xen-tools-vnclisten.patch 519 RMD160 96a88fcd593bbc4461d87fb50b3ecaf06bab8729 files/3.0.4_p1/xen-tools-vnclisten.patch 519 @@ -31,10 +35,10 @@ MD5 a3b477fa44710894c47b0aeca7d6a57a files/3.0.4_p1/xendomains.initd 2168 RMD160 c6dc22f50cf575393cb076c2abfff8b3f24b5540 files/3.0.4_p1/xendomains.initd 2168 SHA256 ed1adcb24e5ffe1c0abc33d6bd69f129b31b3d4f068222ee343809a8dd12b8d0 files/3.0.4_p1/xendomains.initd 2168 DIST xen-3.0.4_1-src.tgz 6473636 RMD160 f869eec35f6afe0bc9824ce2eb4a600f789d423b SHA1 7ca5af70996215229e143c7563e69b3719284a95 SHA256 6b3842393e69a9c8fcdbc2789d05830aba6f1d108a6f97f1448de4a86f92a5cb -EBUILD xen-tools-3.0.4_p1.ebuild 5517 RMD160 7b228625e136ec66eca3ca08fb0a2f2923e53d45 SHA1 374744718141a2c615e7696ff9975a7b4568c944 SHA256 2c7c2e9b567be5e59c77c9e5ffb5f20c525206e848bd1de696550fa1e6c2e2d7 -MD5 af5c5e9c00fab82ad41cbcd88cd4e460 xen-tools-3.0.4_p1.ebuild 5517 -RMD160 7b228625e136ec66eca3ca08fb0a2f2923e53d45 xen-tools-3.0.4_p1.ebuild 5517 -SHA256 2c7c2e9b567be5e59c77c9e5ffb5f20c525206e848bd1de696550fa1e6c2e2d7 xen-tools-3.0.4_p1.ebuild 5517 +EBUILD xen-tools-3.0.4_p1.ebuild 5638 RMD160 5a06073e22877a25e1f43143a45685f36b2fde20 SHA1 92dc2793cc9df4a282718a8120f413ab4832e64f SHA256 a04c9cad6cae180f94fa8d60553ff821c8371c60b378149de64c17e49be2fb0a +MD5 38e51f173d9982b4f533915132725dbd xen-tools-3.0.4_p1.ebuild 5638 +RMD160 5a06073e22877a25e1f43143a45685f36b2fde20 xen-tools-3.0.4_p1.ebuild 5638 +SHA256 a04c9cad6cae180f94fa8d60553ff821c8371c60b378149de64c17e49be2fb0a xen-tools-3.0.4_p1.ebuild 5638 MD5 de126addfd4101f35f8880ab0817ab03 files/digest-xen-tools-3.0.4_p1 241 RMD160 b65ff6928079bc0ee81b68ab27f3f4c9e1d36856 files/digest-xen-tools-3.0.4_p1 241 SHA256 66cfb008cc25de8a507359e492d6896908bc619901d901ae018fb135d2d91345 files/digest-xen-tools-3.0.4_p1 241 diff --git a/app-emulation/xen-tools/files/3.0.4_p1/xen-tools-remove-monitor-mode-from-vnc.patch b/app-emulation/xen-tools/files/3.0.4_p1/xen-tools-remove-monitor-mode-from-vnc.patch new file mode 100644 index 0000000..771b626 --- /dev/null +++ b/app-emulation/xen-tools/files/3.0.4_p1/xen-tools-remove-monitor-mode-from-vnc.patch @@ -0,0 +1,110 @@ +diff -rpuN xen-3.0.4_1-src.orig/tools/ioemu/vnc.c xen-3.0.4_1-src/tools/ioemu/vnc.c +--- xen-3.0.4_1-src.orig/tools/ioemu/vnc.c 2007-01-08 07:00:49.000000000 -0800 ++++ xen-3.0.4_1-src/tools/ioemu/vnc.c 2007-04-10 16:57:55.000000000 -0700 +@@ -113,8 +113,6 @@ struct VncState + int visible_w; + int visible_h; + +- int ctl_keys; /* Ctrl+Alt starts calibration */ +- int shift_keys; /* Shift / CapsLock keys */ + int numlock; + }; + +@@ -863,9 +861,6 @@ static void press_key(VncState *vs, int + + static void do_key_event(VncState *vs, int down, uint32_t sym) + { +- sym &= 0xFFFF; +- +- if (is_graphic_console()) { + int keycode; + int numlock; + +@@ -895,87 +890,6 @@ static void do_key_event(VncState *vs, i + kbd_put_keycode(keycode & 0x7f); + else + kbd_put_keycode(keycode | 0x80); +- } else if (down) { +- int qemu_keysym = 0; +- +- if (sym <= 128) { /* normal ascii */ +- int shifted = vs->shift_keys == 1 || vs->shift_keys == 2; +- qemu_keysym = sym; +- if (sym >= 'a' && sym <= 'z' && shifted) +- qemu_keysym -= 'a' - 'A'; +- } else { +- switch (sym) { +- case XK_Up: qemu_keysym = QEMU_KEY_UP; break; +- case XK_Down: qemu_keysym = QEMU_KEY_DOWN; break; +- case XK_Left: qemu_keysym = QEMU_KEY_LEFT; break; +- case XK_Right: qemu_keysym = QEMU_KEY_RIGHT; break; +- case XK_Home: qemu_keysym = QEMU_KEY_HOME; break; +- case XK_End: qemu_keysym = QEMU_KEY_END; break; +- case XK_Page_Up: qemu_keysym = QEMU_KEY_PAGEUP; break; +- case XK_Page_Down: qemu_keysym = QEMU_KEY_PAGEDOWN; break; +- case XK_BackSpace: qemu_keysym = QEMU_KEY_BACKSPACE; break; +- case XK_Delete: qemu_keysym = QEMU_KEY_DELETE; break; +- case XK_Return: +- case XK_Linefeed: qemu_keysym = sym; break; +- default: break; +- } +- } +- if (qemu_keysym != 0) +- kbd_put_keysym(qemu_keysym); +- } +- +- if (down) { +- switch (sym) { +- case XK_Control_L: +- vs->ctl_keys |= 1; +- break; +- +- case XK_Alt_L: +- vs->ctl_keys |= 2; +- break; +- +- case XK_Shift_L: +- vs->shift_keys |= 1; +- break; +- +- default: +- break; +- } +- } else { +- switch (sym) { +- case XK_Control_L: +- vs->ctl_keys &= ~1; +- break; +- +- case XK_Alt_L: +- vs->ctl_keys &= ~2; +- break; +- +- case XK_Shift_L: +- vs->shift_keys &= ~1; +- break; +- +- case XK_Caps_Lock: +- vs->shift_keys ^= 2; +- break; +- +- case XK_Num_Lock: +- vs->numlock = !vs->numlock; +- break; +- +- case XK_1 ... XK_9: +- if ((vs->ctl_keys & 3) != 3) +- break; +- +- console_select(sym - XK_1); +- if (is_graphic_console()) { +- /* tell the vga console to redisplay itself */ +- vga_hw_invalidate(); +- vnc_dpy_update(vs->ds, 0, 0, vs->ds->width, vs->ds->height); +- } +- break; +- } +- } + } + + static void key_event(VncState *vs, int down, uint32_t sym) diff --git a/app-emulation/xen-tools/xen-tools-3.0.4_p1.ebuild b/app-emulation/xen-tools/xen-tools-3.0.4_p1.ebuild index 4363394..d75e3e2 100644 --- a/app-emulation/xen-tools/xen-tools-3.0.4_p1.ebuild +++ b/app-emulation/xen-tools/xen-tools-3.0.4_p1.ebuild @@ -115,6 +115,9 @@ src_unpack() { # Fix network broadcast on bridged networks epatch "${FILESDIR}/${PVR}/${PN}"-network-bridge-broadcast.patch + + # Disable QEMU monitor mode in VNC, bug #170917 + epatch "${FILESDIR}/${PVR}/${PN}"-remove-monitor-mode-from-vnc.patch } src_compile() { -- cgit v1.2.3-65-gdbad