aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Gabriel <mike.gabriel@das-netzwerkteam.de>2015-02-13 09:49:52 +0100
committerMike Gabriel <mike.gabriel@das-netzwerkteam.de>2015-02-13 09:49:52 +0100
commit4dc1bd0043aed6b92526cbda26991be1f611a121 (patch)
tree5b299dac19a8e21f212365cf2154de0027fd308f
parenta43c49594ca0c894cdc460f6b5c538122b6c224d (diff)
downloadnx-libs-4dc1bd0043aed6b92526cbda26991be1f611a121.tar.gz
nx-libs-4dc1bd0043aed6b92526cbda26991be1f611a121.tar.bz2
nx-libs-4dc1bd0043aed6b92526cbda26991be1f611a121.zip
Test for xkb/rules/base instead of xkb/keymap.dir for setting XkbBaseDir (302_nx-X11_xkbbasedir-detection.full.patch).
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.
-rw-r--r--debian/patches/302_nx-X11_xkbbasedir-detection.full.patch84
-rw-r--r--debian/patches/series1
-rw-r--r--nx-X11/programs/Xserver/xkb/ddxLoad.c32
3 files changed, 16 insertions, 101 deletions
diff --git a/debian/patches/302_nx-X11_xkbbasedir-detection.full.patch b/debian/patches/302_nx-X11_xkbbasedir-detection.full.patch
deleted file mode 100644
index dac3d8a08..000000000
--- a/debian/patches/302_nx-X11_xkbbasedir-detection.full.patch
+++ /dev/null
@@ -1,84 +0,0 @@
-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 a901010c2..5780128b2 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,4 +1,3 @@
-302_nx-X11_xkbbasedir-detection.full.patch
320_nxagent_configurable-keystrokes.full.patch
321_nxagent_x2go-specific-keystroke-config.full.patch
400_nxcomp-version.full+lite.patch
diff --git a/nx-X11/programs/Xserver/xkb/ddxLoad.c b/nx-X11/programs/Xserver/xkb/ddxLoad.c
index e69d95670..0b779b719 100644
--- a/nx-X11/programs/Xserver/xkb/ddxLoad.c
+++ b/nx-X11/programs/Xserver/xkb/ddxLoad.c
@@ -180,7 +180,7 @@ Win32System(const char *cmdline)
#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 char _NXXkbCompPath[PATH_MAX];
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 @@ static int NXVerifyXkbBaseDirectory(const char *dirPath)
dirPath);
#endif
- free(keymapDirFilePath);
+ free(rulesBaseFilePath);
return 1;
}