Commit 75987a76 authored by Mike Gabriel's avatar Mike Gabriel

Add 302_nx-X11_xkbbasedir-detection.patch. For detecting XkbBaseDir test for…

Add 302_nx-X11_xkbbasedir-detection.patch. For detecting XkbBaseDir test for xkb/rules/base instead of testing for deprecated file xkb/keymap.dir. (Fixes: #40).
parent e30d46d8
...@@ -12,6 +12,9 @@ nx-libs (2:3.5.0.25-0x2go1) UNRELEASED; urgency=low ...@@ -12,6 +12,9 @@ nx-libs (2:3.5.0.25-0x2go1) UNRELEASED; urgency=low
* Add 028_nx-X11_abstract-kernel-sockets.full.patch. Provide abstract local * Add 028_nx-X11_abstract-kernel-sockets.full.patch. Provide abstract local
socket support for Linux based systems. This patch pulls in abstract socket support for Linux based systems. This patch pulls in abstract
socket relevant code from xtrans 1.2.7. (Fixes: #504). socket relevant code from xtrans 1.2.7. (Fixes: #504).
* Add 302_nx-X11_xkbbasedir-detection.patch. For detecting XkbBaseDir
test for xkb/rules/base instead of testing for deprecated file
xkb/keymap.dir. (Fixes: #40).
-- Mike Gabriel <mike.gabriel@das-netzwerkteam.de> Wed, 07 May 2014 09:58:10 +0200 -- Mike Gabriel <mike.gabriel@das-netzwerkteam.de> Wed, 07 May 2014 09:58:10 +0200
......
Description: Test for xkb/rules/base instead of xkb/keymap.dir for setting XkbBaseDir
Author: Mike Gabriel <mike.gabriel@das-netzwerkteam.de>
Abstract:
In recent (as of 2014/06) X.org release, the keymap.dir file
has become obsolete. Let's test for the xkb/rules/base file
instead.
--- a/nx-X11/programs/Xserver/xkb/ddxLoad.c
+++ b/nx-X11/programs/Xserver/xkb/ddxLoad.c
@@ -180,7 +180,7 @@
#define NX_XKB_BASE_DIRECTORY "/usr/lib/X11/xkb"
#define NX_XKB_ALTERNATE_BASE_DIRECTORY "/usr/share/X11/xkb"
-#define NX_KEYMAP_DIR_FILE "keymap.dir"
+#define NX_XKB_RULES_BASE_FILE "rules/base"
#define NX_ALT_XKBCOMP_PATH "/usr/bin"
static char _NXXkbBasePath[PATH_MAX];
@@ -189,43 +189,43 @@
static int NXVerifyXkbBaseDirectory(const char *dirPath)
{
int size;
- char *keymapDirFilePath;
- struct stat keymapDirFileStat;
+ char *rulesBaseFilePath;
+ struct stat rulesBaseFileStat;
/*
- * If keymap.dir file
- * is not present into
- * Xkb Base Directory,
+ * If rules/base file
+ * is not present inside
+ * the Xkb Base Directory,
* we suppose that the
* path is not valid.
*/
size = strlen(dirPath) + strlen("/") +
- strlen(NX_KEYMAP_DIR_FILE) + 1;
+ strlen(NX_XKB_RULES_BASE_FILE) + 1;
- if ((keymapDirFilePath = malloc((size + 1) * sizeof(char))) == NULL)
+ if ((rulesBaseFilePath = malloc((size + 1) * sizeof(char))) == NULL)
{
FatalError("NXVerifyXkbBaseDirectory: malloc failed.\n");
}
- strcpy(keymapDirFilePath, dirPath);
- strcat(keymapDirFilePath, "/");
- strcat(keymapDirFilePath, NX_KEYMAP_DIR_FILE);
+ strcpy(rulesBaseFilePath, dirPath);
+ strcat(rulesBaseFilePath, "/");
+ strcat(rulesBaseFilePath, NX_XKB_RULES_BASE_FILE);
#ifdef TEST
fprintf(stderr, "NXVerifyXkbBaseDirectory: Looking for [%s] file.\n",
- keymapDirFilePath);
+ rulesBaseFilePath);
#endif
- if (stat(keymapDirFilePath, &keymapDirFileStat) != 0)
+ if (stat(rulesBaseFilePath, &rulesBaseFileStat) != 0)
{
#ifdef TEST
fprintf(stderr, "NXVerifyXkbBaseDirectory: Can't find the keymap.dir file [%s].\n",
- keymapDirFilePath);
+ rulesBaseFilePath);
#endif
- free(keymapDirFilePath);
+ free(rulesBaseFilePath);
return 0;
}
@@ -235,7 +235,7 @@
dirPath);
#endif
- free(keymapDirFilePath);
+ free(rulesBaseFilePath);
return 1;
}
...@@ -50,6 +50,7 @@ ...@@ -50,6 +50,7 @@
220_nxproxy-bind-loopback-only.full+lite.patch 220_nxproxy-bind-loopback-only.full+lite.patch
300_nxagent_set-wm-class.full.patch 300_nxagent_set-wm-class.full.patch
301_nx-X11_use-shared-libs.full.patch 301_nx-X11_use-shared-libs.full.patch
302_nx-X11_xkbbasedir-detection.patch
320_nxagent_configurable-keystrokes.full.patch 320_nxagent_configurable-keystrokes.full.patch
600_nx-X11+nxcompext+nxcompshad_unique-libnames.full.patch 600_nx-X11+nxcompext+nxcompshad_unique-libnames.full.patch
601_nx-X11_build-option-changes-to-not-use-bundled-libraries.full.patch 601_nx-X11_build-option-changes-to-not-use-bundled-libraries.full.patch
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment