diff options
-rw-r--r-- | debian/changelog | 3 | ||||
-rw-r--r-- | debian/patches/302_nx-X11_xkbbasedir-detection.patch | 84 | ||||
-rw-r--r-- | debian/patches/series | 1 |
3 files changed, 88 insertions, 0 deletions
diff --git a/debian/changelog b/debian/changelog index 00640a23b..6e5a49ecc 100644 --- a/debian/changelog +++ b/debian/changelog @@ -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 socket support for Linux based systems. This patch pulls in abstract 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 diff --git a/debian/patches/302_nx-X11_xkbbasedir-detection.patch b/debian/patches/302_nx-X11_xkbbasedir-detection.patch new file mode 100644 index 000000000..dac3d8a08 --- /dev/null +++ b/debian/patches/302_nx-X11_xkbbasedir-detection.patch @@ -0,0 +1,84 @@ +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; + } diff --git a/debian/patches/series b/debian/patches/series index 414b28589..e9ee779ac 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -50,6 +50,7 @@ 220_nxproxy-bind-loopback-only.full+lite.patch 300_nxagent_set-wm-class.full.patch 301_nx-X11_use-shared-libs.full.patch +302_nx-X11_xkbbasedir-detection.patch 320_nxagent_configurable-keystrokes.full.patch 600_nx-X11+nxcompext+nxcompshad_unique-libnames.full.patch 601_nx-X11_build-option-changes-to-not-use-bundled-libraries.full.patch |