mirror of
https://github.com/LibreELEC/LibreELEC.tv.git
synced 2025-08-01 15:07:49 +00:00
xorg-server: update to xorg-server-1.12.2
Signed-off-by: Stephan Raue <stephan@openelec.tv>
This commit is contained in:
parent
c0415416e2
commit
4b1252dbc9
@ -57,10 +57,10 @@ cd $PKG_BUILD
|
|||||||
--disable-strict-compilation \
|
--disable-strict-compilation \
|
||||||
--enable-largefile \
|
--enable-largefile \
|
||||||
--enable-visibility \
|
--enable-visibility \
|
||||||
--enable-pc98=auto \
|
--disable-unit-tests \
|
||||||
--enable-install-libxf86config \
|
--disable-sparkle \
|
||||||
|
--disable-install-libxf86config \
|
||||||
--disable-xselinux \
|
--disable-xselinux \
|
||||||
--with-pic \
|
|
||||||
--enable-aiglx \
|
--enable-aiglx \
|
||||||
--enable-glx-tls \
|
--enable-glx-tls \
|
||||||
--enable-registry \
|
--enable-registry \
|
||||||
@ -79,9 +79,8 @@ cd $PKG_BUILD
|
|||||||
--enable-dri \
|
--enable-dri \
|
||||||
--enable-dri2 \
|
--enable-dri2 \
|
||||||
--enable-xf86vidmode \
|
--enable-xf86vidmode \
|
||||||
--enable-xace \
|
--disable-xace \
|
||||||
--disable-xcsecurity \
|
--disable-xcsecurity \
|
||||||
--disable-xcalibrate \
|
|
||||||
--disable-tslib \
|
--disable-tslib \
|
||||||
--enable-dbe \
|
--enable-dbe \
|
||||||
--disable-xf86bigfont \
|
--disable-xf86bigfont \
|
||||||
@ -90,8 +89,13 @@ cd $PKG_BUILD
|
|||||||
--disable-config-dbus \
|
--disable-config-dbus \
|
||||||
--disable-config-hal \
|
--disable-config-hal \
|
||||||
--enable-xfree86-utils \
|
--enable-xfree86-utils \
|
||||||
--enable-xorg \
|
--enable-xaa \
|
||||||
|
--enable-vgahw \
|
||||||
|
--enable-vbe \
|
||||||
|
--enable-int10-module \
|
||||||
--disable-windowswm \
|
--disable-windowswm \
|
||||||
|
--enable-libdrm \
|
||||||
|
--enable-xorg \
|
||||||
--disable-dmx \
|
--disable-dmx \
|
||||||
--disable-xvfb \
|
--disable-xvfb \
|
||||||
--disable-xnest \
|
--disable-xnest \
|
||||||
@ -101,7 +105,10 @@ cd $PKG_BUILD
|
|||||||
--disable-kdrive \
|
--disable-kdrive \
|
||||||
--disable-xephyr \
|
--disable-xephyr \
|
||||||
--disable-xfake \
|
--disable-xfake \
|
||||||
--enable-xfbdev \
|
--disable-xfbdev \
|
||||||
|
--enable-unix-transport \
|
||||||
|
--disable-tcp-transport \
|
||||||
|
--disable-local-transport \
|
||||||
--disable-install-setuid \
|
--disable-install-setuid \
|
||||||
--disable-secure-rpc \
|
--disable-secure-rpc \
|
||||||
--disable-docs \
|
--disable-docs \
|
||||||
@ -117,6 +124,9 @@ cd $PKG_BUILD
|
|||||||
--with-log-dir=/var/log \
|
--with-log-dir=/var/log \
|
||||||
--with-fontrootdir=/usr/share/fonts \
|
--with-fontrootdir=/usr/share/fonts \
|
||||||
--with-default-font-path="/usr/share/fonts/misc,built-ins" \
|
--with-default-font-path="/usr/share/fonts/misc,built-ins" \
|
||||||
|
--with-serverconfig-path="/usr/lib/xserver" \
|
||||||
|
--without-xmlto \
|
||||||
|
--without-fop \
|
||||||
|
|
||||||
make
|
make
|
||||||
$MAKEINSTALL
|
$MAKEINSTALL
|
||||||
|
@ -36,6 +36,7 @@ mkdir -p $INSTALL/lib/udev
|
|||||||
mkdir -p $XORG_DST
|
mkdir -p $XORG_DST
|
||||||
cp -P $XORG_SRC/exa/.libs/libexa.so $XORG_DST
|
cp -P $XORG_SRC/exa/.libs/libexa.so $XORG_DST
|
||||||
cp -P $XORG_SRC/dixmods/.libs/libfb.so $XORG_DST
|
cp -P $XORG_SRC/dixmods/.libs/libfb.so $XORG_DST
|
||||||
|
cp -P $XORG_SRC/fbdevhw/.libs/libfbdevhw.so $XORG_DST
|
||||||
cp -P $XORG_SRC/int10/.libs/libint10.so $XORG_DST
|
cp -P $XORG_SRC/int10/.libs/libint10.so $XORG_DST
|
||||||
cp -P $XORG_SRC/dixmods/.libs/libshadow.so $XORG_DST
|
cp -P $XORG_SRC/dixmods/.libs/libshadow.so $XORG_DST
|
||||||
cp -P $XORG_SRC/shadowfb/.libs/libshadowfb.so $XORG_DST
|
cp -P $XORG_SRC/shadowfb/.libs/libshadowfb.so $XORG_DST
|
||||||
@ -53,14 +54,11 @@ mkdir -p $XORG_DST/extensions
|
|||||||
cp -P $XORG_SRC/dixmods/.libs/libglx.so $XORG_DST/extensions/libglx_mesa.so # rename for cooperate with nvidia drivers
|
cp -P $XORG_SRC/dixmods/.libs/libglx.so $XORG_DST/extensions/libglx_mesa.so # rename for cooperate with nvidia drivers
|
||||||
ln -sf /var/lib/libglx.so $XORG_DST/extensions/libglx.so
|
ln -sf /var/lib/libglx.so $XORG_DST/extensions/libglx.so
|
||||||
|
|
||||||
mkdir -p $XORG_DST/linux
|
|
||||||
cp -P $XORG_SRC/fbdevhw/.libs/libfbdevhw.so $XORG_DST/linux
|
|
||||||
|
|
||||||
mkdir -p $XORG_DST/multimedia
|
mkdir -p $XORG_DST/multimedia
|
||||||
cp -P $XORG_SRC/i2c/.libs/*_drv.so $XORG_DST/multimedia
|
cp -P $XORG_SRC/i2c/.libs/*_drv.so $XORG_DST/multimedia
|
||||||
|
|
||||||
mkdir -p $INSTALL/usr/lib/xorg
|
mkdir -p $INSTALL/usr/lib/xserver
|
||||||
cp $PKG_BUILD/dix/protocol.txt $INSTALL/usr/lib/xorg
|
cp $PKG_BUILD/dix/protocol.txt $INSTALL/usr/lib/xserver
|
||||||
|
|
||||||
mkdir -p $INSTALL/usr/share/X11/xorg.conf.d
|
mkdir -p $INSTALL/usr/share/X11/xorg.conf.d
|
||||||
cp $PKG_BUILD/config/10-evdev.conf $INSTALL/usr/share/X11/xorg.conf.d
|
cp $PKG_BUILD/config/10-evdev.conf $INSTALL/usr/share/X11/xorg.conf.d
|
||||||
|
@ -19,7 +19,7 @@
|
|||||||
################################################################################
|
################################################################################
|
||||||
|
|
||||||
PKG_NAME="xorg-server"
|
PKG_NAME="xorg-server"
|
||||||
PKG_VERSION="1.11.4"
|
PKG_VERSION="1.12.2"
|
||||||
PKG_REV="1"
|
PKG_REV="1"
|
||||||
PKG_ARCH="any"
|
PKG_ARCH="any"
|
||||||
PKG_LICENSE="OSS"
|
PKG_LICENSE="OSS"
|
||||||
|
@ -1,343 +0,0 @@
|
|||||||
Patch from Moblin to cache xkbcomp output for faster booting
|
|
||||||
|
|
||||||
Signed-off-by: Bryce Harrington <bryce@canonical.com>
|
|
||||||
---
|
|
||||||
|
|
||||||
Index: xorg-server/configure.ac
|
|
||||||
===================================================================
|
|
||||||
--- xorg-server.orig/configure.ac 2011-01-31 15:12:21.000000000 +1100
|
|
||||||
+++ xorg-server/configure.ac 2011-01-31 15:13:26.563659152 +1100
|
|
||||||
@@ -537,9 +537,9 @@
|
|
||||||
AC_ARG_WITH(xkb-path, AS_HELP_STRING([--with-xkb-path=PATH], [Path to XKB base dir (default: ${datadir}/X11/xkb)]),
|
|
||||||
[ XKBPATH="$withval" ],
|
|
||||||
[ XKBPATH="${datadir}/X11/xkb" ])
|
|
||||||
-AC_ARG_WITH(xkb-output, AS_HELP_STRING([--with-xkb-output=PATH], [Path to XKB output dir (default: ${datadir}/X11/xkb/compiled)]),
|
|
||||||
+AC_ARG_WITH(xkb-output, AS_HELP_STRING([--with-xkb-output=PATH], [Path to XKB output dir (default: ${localstatedir}/cache/xkb)]),
|
|
||||||
[ XKBOUTPUT="$withval" ],
|
|
||||||
- [ XKBOUTPUT="compiled" ])
|
|
||||||
+ [ XKBOUTPUT="${localstatedir}/cache/xkb" ])
|
|
||||||
AC_ARG_WITH(default-xkb-rules, AS_HELP_STRING([--with-default-xkb-rules=RULES],
|
|
||||||
[Keyboard ruleset (default: base/evdev)]),
|
|
||||||
[ XKB_DFLT_RULES="$withval" ],
|
|
||||||
@@ -1165,7 +1165,7 @@
|
|
||||||
dnl Make sure XKM_OUTPUT_DIR is an absolute path
|
|
||||||
XKBOUTPUT_FIRSTCHAR=`echo $XKBOUTPUT | cut -b 1`
|
|
||||||
if [[ x$XKBOUTPUT_FIRSTCHAR != x/ -a x$XKBOUTPUT_FIRSTCHAR != 'x$' ]] ; then
|
|
||||||
- XKBOUTPUT="$XKB_BASE_DIRECTORY/$XKBOUTPUT"
|
|
||||||
+ AC_MSG_ERROR([xkb-output must be an absolute path.])
|
|
||||||
fi
|
|
||||||
|
|
||||||
dnl XKM_OUTPUT_DIR (used in code) must end in / or file names get hosed
|
|
||||||
Index: xorg-server/xkb/README.compiled
|
|
||||||
===================================================================
|
|
||||||
--- xorg-server.orig/xkb/README.compiled 2011-01-28 12:31:51.000000000 +1100
|
|
||||||
+++ xorg-server/xkb/README.compiled 2011-01-31 15:13:26.563659152 +1100
|
|
||||||
@@ -4,10 +4,10 @@
|
|
||||||
or some other tool might destroy or replace the files in this directory,
|
|
||||||
so it is not a safe place to store compiled keymaps for long periods of
|
|
||||||
time. The default keymap for any server is usually stored in:
|
|
||||||
- X<num>-default.xkm
|
|
||||||
-where <num> is the display number of the server in question, which makes
|
|
||||||
-it possible for several servers *on the same host* to share the same
|
|
||||||
-directory.
|
|
||||||
+ server-<SHA1>.xkm
|
|
||||||
+
|
|
||||||
+where <SHA1> is the SHA1 hash of keymap source, so that compiled
|
|
||||||
+keymap of different keymap sources are stored in different files.
|
|
||||||
|
|
||||||
Unless the X server is modified, sharing this directory between servers on
|
|
||||||
different hosts could cause problems.
|
|
||||||
Index: xorg-server/xkb/ddxLoad.c
|
|
||||||
===================================================================
|
|
||||||
--- xorg-server.orig/xkb/ddxLoad.c 2011-01-31 14:28:22.000000000 +1100
|
|
||||||
+++ xorg-server/xkb/ddxLoad.c 2011-01-31 15:17:50.814046721 +1100
|
|
||||||
@@ -30,6 +30,12 @@
|
|
||||||
|
|
||||||
#include <xkb-config.h>
|
|
||||||
|
|
||||||
+#ifdef HAVE_SHA1_IN_LIBGCRYPT /* Use libgcrypt for SHA1 */
|
|
||||||
+# include <gcrypt.h>
|
|
||||||
+#else /* Use OpenSSL's libcrypto */
|
|
||||||
+#warning "xkbcomp caching support disabled"
|
|
||||||
+#endif
|
|
||||||
+
|
|
||||||
#include <stdio.h>
|
|
||||||
#include <ctype.h>
|
|
||||||
#include <X11/X.h>
|
|
||||||
@@ -43,20 +49,9 @@
|
|
||||||
#define XKBSRV_NEED_FILE_FUNCS
|
|
||||||
#include <xkbsrv.h>
|
|
||||||
#include <X11/extensions/XI.h>
|
|
||||||
+#include <errno.h>
|
|
||||||
#include "xkb.h"
|
|
||||||
|
|
||||||
- /*
|
|
||||||
- * If XKM_OUTPUT_DIR specifies a path without a leading slash, it is
|
|
||||||
- * relative to the top-level XKB configuration directory.
|
|
||||||
- * Making the server write to a subdirectory of that directory
|
|
||||||
- * requires some work in the general case (install procedure
|
|
||||||
- * has to create links to /var or somesuch on many machines),
|
|
||||||
- * so we just compile into /usr/tmp for now.
|
|
||||||
- */
|
|
||||||
-#ifndef XKM_OUTPUT_DIR
|
|
||||||
-#define XKM_OUTPUT_DIR "compiled/"
|
|
||||||
-#endif
|
|
||||||
-
|
|
||||||
#define PRE_ERROR_MSG "\"The XKEYBOARD keymap compiler (xkbcomp) reports:\""
|
|
||||||
#define ERROR_PREFIX "\"> \""
|
|
||||||
#define POST_ERROR_MSG1 "\"Errors from xkbcomp are not fatal to the X server\""
|
|
||||||
@@ -170,6 +165,47 @@
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
+#ifndef SHA_DIGEST_LENGTH
|
|
||||||
+#define SHA_DIGEST_LENGTH 20
|
|
||||||
+#endif
|
|
||||||
+
|
|
||||||
+static Bool
|
|
||||||
+Sha1Asc(char sha1Asc[SHA_DIGEST_LENGTH*2+1], const char * input)
|
|
||||||
+{
|
|
||||||
+ int i;
|
|
||||||
+ unsigned char sha1[SHA_DIGEST_LENGTH];
|
|
||||||
+
|
|
||||||
+#ifdef HAVE_SHA1_IN_LIBGCRYPT /* Use libgcrypt for SHA1 */
|
|
||||||
+ static int init;
|
|
||||||
+ gcry_md_hd_t h;
|
|
||||||
+ gcry_error_t err;
|
|
||||||
+
|
|
||||||
+ if (!init) {
|
|
||||||
+ if (!gcry_check_version(NULL))
|
|
||||||
+ return BadAlloc;
|
|
||||||
+ gcry_control(GCRYCTL_DISABLE_SECMEM, 0);
|
|
||||||
+ gcry_control(GCRYCTL_INITIALIZATION_FINISHED, 0);
|
|
||||||
+ init = 1;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ err = gcry_md_open(&h, GCRY_MD_SHA1, 0);
|
|
||||||
+ if (err)
|
|
||||||
+ return BadAlloc;
|
|
||||||
+ gcry_md_write(h, input, strlen(input));
|
|
||||||
+ memcpy(sha1, gcry_md_read(h, GCRY_MD_SHA1), 20);
|
|
||||||
+ gcry_md_close(h);
|
|
||||||
+#endif
|
|
||||||
+
|
|
||||||
+ /* convert sha1 to sha1_asc */
|
|
||||||
+ for(i=0; i<SHA_DIGEST_LENGTH; ++i) {
|
|
||||||
+ sprintf(sha1Asc+i*2, "%02X", sha1[i]);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ return Success;
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+/* call xkbcomp and compile XKB keymap, return xkm file name in
|
|
||||||
+ nameRtrn */
|
|
||||||
static Bool
|
|
||||||
XkbDDXCompileKeymapByNames( XkbDescPtr xkb,
|
|
||||||
XkbComponentNamesPtr names,
|
|
||||||
@@ -179,7 +215,11 @@
|
|
||||||
int nameRtrnLen)
|
|
||||||
{
|
|
||||||
FILE * out;
|
|
||||||
- char *buf = NULL, keymap[PATH_MAX], xkm_output_dir[PATH_MAX];
|
|
||||||
+ char * buf = NULL, xkmfile[PATH_MAX], xkm_output_dir[PATH_MAX];
|
|
||||||
+ char * tmpXkmFile = NULL;
|
|
||||||
+ char * canonicalXkmFileName = NULL;
|
|
||||||
+ char sha1Asc[SHA_DIGEST_LENGTH*2+1], xkbKeyMapBuf[100*1024];
|
|
||||||
+ int ret, result;
|
|
||||||
|
|
||||||
const char *emptystring = "";
|
|
||||||
char *xkbbasedirflag = NULL;
|
|
||||||
@@ -190,14 +230,67 @@
|
|
||||||
/* WIN32 has no popen. The input must be stored in a file which is
|
|
||||||
used as input for xkbcomp. xkbcomp does not read from stdin. */
|
|
||||||
char tmpname[PATH_MAX];
|
|
||||||
- const char *xkmfile = tmpname;
|
|
||||||
+ const char *xkbfile = tmpname;
|
|
||||||
#else
|
|
||||||
- const char *xkmfile = "-";
|
|
||||||
+ const char *xkbfile = "-";
|
|
||||||
#endif
|
|
||||||
|
|
||||||
- snprintf(keymap, sizeof(keymap), "server-%s", display);
|
|
||||||
+ /* Write keymap source (xkbfile) to memory buffer `xkbKeyMapBuf',
|
|
||||||
+ of which SHA1 is generated and used as result xkm file name */
|
|
||||||
+ memset(xkbKeyMapBuf, 0, sizeof(xkbKeyMapBuf));
|
|
||||||
+ out = fmemopen(xkbKeyMapBuf, sizeof(xkbKeyMapBuf), "w");
|
|
||||||
+ if (NULL == out) {
|
|
||||||
+ ErrorF("[xkb] Open xkbKeyMapBuf for writing failed\n");
|
|
||||||
+ return FALSE;
|
|
||||||
+ }
|
|
||||||
+ ret = XkbWriteXKBKeymapForNames(out, names, xkb, want, need);
|
|
||||||
+ if (fclose(out) !=0)
|
|
||||||
+ {
|
|
||||||
+ ErrorF("[xkb] XkbWriteXKBKeymapForNames error, perhaps xkbKeyMapBuf is too small\n");
|
|
||||||
+ return FALSE;
|
|
||||||
+ }
|
|
||||||
+#ifdef DEBUG
|
|
||||||
+ if (xkbDebugFlags) {
|
|
||||||
+ ErrorF("[xkb] XkbDDXCompileKeymapByNames compiling keymap:\n");
|
|
||||||
+ fputs(xkbKeyMapBuf, stderr);
|
|
||||||
+ }
|
|
||||||
+#endif
|
|
||||||
+ if (!ret) {
|
|
||||||
+ ErrorF("[xkb] Generating XKB Keymap failed, giving up compiling keymap\n");
|
|
||||||
+ return FALSE;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ DebugF("[xkb] computing SHA1 of keymap\n");
|
|
||||||
+ if (Success == Sha1Asc(sha1Asc, xkbKeyMapBuf)) {
|
|
||||||
+ snprintf(xkmfile, sizeof(xkmfile), "server-%s", sha1Asc);
|
|
||||||
+ }
|
|
||||||
+ else {
|
|
||||||
+ ErrorF("[xkb] Computing SHA1 of keymap failed, "
|
|
||||||
+ "using display name instead as xkm file name\n");
|
|
||||||
+ snprintf(xkmfile, sizeof(xkmfile), "server-%s", display);
|
|
||||||
+ }
|
|
||||||
|
|
||||||
OutputDirectory(xkm_output_dir, sizeof(xkm_output_dir));
|
|
||||||
+ /* set nameRtrn, fail if it's too small */
|
|
||||||
+ if ((strlen(xkmfile)+1 > nameRtrnLen) && nameRtrn) {
|
|
||||||
+ ErrorF("[xkb] nameRtrn too small to hold xkmfile name\n");
|
|
||||||
+ return FALSE;
|
|
||||||
+ }
|
|
||||||
+ strncpy(nameRtrn, xkmfile, nameRtrnLen);
|
|
||||||
+
|
|
||||||
+ /* if the xkm file already exists, reuse it */
|
|
||||||
+ canonicalXkmFileName = Xprintf("%s%s.xkm", xkm_output_dir, xkmfile);
|
|
||||||
+ if (access(canonicalXkmFileName, R_OK) == 0) {
|
|
||||||
+ /* yes, we can reuse the old xkm file */
|
|
||||||
+ LogMessage(X_INFO, "XKB: reuse xkmfile %s\n", canonicalXkmFileName);
|
|
||||||
+ result = TRUE;
|
|
||||||
+ goto _ret;
|
|
||||||
+ }
|
|
||||||
+ LogMessage(X_INFO, "XKB: generating xkmfile %s\n", canonicalXkmFileName);
|
|
||||||
+
|
|
||||||
+ /* continue to call xkbcomp to compile the keymap. to avoid race
|
|
||||||
+ condition, we compile it to a tmpfile then rename it to
|
|
||||||
+ xkmfile */
|
|
||||||
|
|
||||||
#ifdef WIN32
|
|
||||||
strcpy(tmpname, Win32TempDir());
|
|
||||||
@@ -222,15 +315,21 @@
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
+ if ( (tmpXkmFile = tempnam(xkm_output_dir, NULL)) == NULL ) {
|
|
||||||
+ ErrorF("[xkb] Can't generate temp xkm file name");
|
|
||||||
+ result = FALSE;
|
|
||||||
+ goto _ret;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
if (asprintf(&buf,
|
|
||||||
"\"%s%sxkbcomp\" -w %d %s -xkm \"%s\" "
|
|
||||||
- "-em1 %s -emp %s -eml %s \"%s%s.xkm\"",
|
|
||||||
+ "-em1 %s -emp %s -eml %s \"%s\"",
|
|
||||||
xkbbindir, xkbbindirsep,
|
|
||||||
((xkbDebugFlags < 2) ? 1 :
|
|
||||||
((xkbDebugFlags > 10) ? 10 : (int) xkbDebugFlags)),
|
|
||||||
- xkbbasedirflag ? xkbbasedirflag : "", xkmfile,
|
|
||||||
+ xkbbasedirflag ? xkbbasedirflag : "", xkbfile,
|
|
||||||
PRE_ERROR_MSG, ERROR_PREFIX, POST_ERROR_MSG1,
|
|
||||||
- xkm_output_dir, keymap) == -1)
|
|
||||||
+ tmpXkmFile) == -1)
|
|
||||||
buf = NULL;
|
|
||||||
|
|
||||||
free(xkbbasedirflag);
|
|
||||||
@@ -240,6 +339,11 @@
|
|
||||||
return FALSE;
|
|
||||||
}
|
|
||||||
|
|
||||||
+ /* there's a potential race condition between calling tempnam()
|
|
||||||
+ and invoking xkbcomp to write the result file (potential temp
|
|
||||||
+ file name conflicts), but since xkbcomp is a standalone
|
|
||||||
+ program, we have to live with this */
|
|
||||||
+
|
|
||||||
#ifndef WIN32
|
|
||||||
out= Popen(buf,"w");
|
|
||||||
#else
|
|
||||||
@@ -247,30 +351,42 @@
|
|
||||||
#endif
|
|
||||||
|
|
||||||
if (out!=NULL) {
|
|
||||||
-#ifdef DEBUG
|
|
||||||
- if (xkbDebugFlags) {
|
|
||||||
- ErrorF("[xkb] XkbDDXCompileKeymapByNames compiling keymap:\n");
|
|
||||||
- XkbWriteXKBKeymapForNames(stderr,names,xkb,want,need);
|
|
||||||
- }
|
|
||||||
-#endif
|
|
||||||
- XkbWriteXKBKeymapForNames(out,names,xkb,want,need);
|
|
||||||
+ /* write XKBKeyMapBuf to xkbcomp */
|
|
||||||
+ if (EOF==fputs(xkbKeyMapBuf, out))
|
|
||||||
+ {
|
|
||||||
+ ErrorF("[xkb] Sending keymap to xkbcomp failed\n");
|
|
||||||
+ result = FALSE;
|
|
||||||
+ goto _ret;
|
|
||||||
+ }
|
|
||||||
#ifndef WIN32
|
|
||||||
if (Pclose(out)==0)
|
|
||||||
#else
|
|
||||||
if (fclose(out)==0 && System(buf) >= 0)
|
|
||||||
#endif
|
|
||||||
{
|
|
||||||
+ /* xkbcomp success */
|
|
||||||
if (xkbDebugFlags)
|
|
||||||
- DebugF("[xkb] xkb executes: %s\n",buf);
|
|
||||||
- if (nameRtrn) {
|
|
||||||
- strncpy(nameRtrn,keymap,nameRtrnLen);
|
|
||||||
- nameRtrn[nameRtrnLen-1]= '\0';
|
|
||||||
- }
|
|
||||||
- free(buf);
|
|
||||||
- return TRUE;
|
|
||||||
+ DebugF("[xkb] xkb executes: %s\n",buf);
|
|
||||||
+
|
|
||||||
+ /* if canonicalXkmFileName already exists now, we simply
|
|
||||||
+ overwrite it, this is OK */
|
|
||||||
+ ret = rename(tmpXkmFile, canonicalXkmFileName);
|
|
||||||
+ if (0 != ret) {
|
|
||||||
+ ErrorF("[xkb] Can't rename %s to %s, error: %s\n",
|
|
||||||
+ tmpXkmFile, canonicalXkmFileName,
|
|
||||||
+ strerror(errno));
|
|
||||||
+
|
|
||||||
+ /* in case of error, don't unlink tmpXkmFile, leave i
|
|
||||||
+ for debugging */
|
|
||||||
+
|
|
||||||
+ result = FALSE;
|
|
||||||
+ goto _ret;
|
|
||||||
+ }
|
|
||||||
+ result = TRUE;
|
|
||||||
+ goto _ret;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
- LogMessage(X_ERROR, "Error compiling keymap (%s)\n", keymap);
|
|
||||||
+ LogMessage(X_ERROR, "Error compiling keymap (%s)\n", xkbfile);
|
|
||||||
#ifdef WIN32
|
|
||||||
/* remove the temporary file */
|
|
||||||
unlink(tmpname);
|
|
||||||
@@ -285,8 +401,17 @@
|
|
||||||
}
|
|
||||||
if (nameRtrn)
|
|
||||||
nameRtrn[0]= '\0';
|
|
||||||
- free(buf);
|
|
||||||
- return FALSE;
|
|
||||||
+ result = FALSE;
|
|
||||||
+
|
|
||||||
+_ret:
|
|
||||||
+ if (tmpXkmFile)
|
|
||||||
+ free(tmpXkmFile);
|
|
||||||
+ if (canonicalXkmFileName)
|
|
||||||
+ free(canonicalXkmFileName);
|
|
||||||
+ if (buf)
|
|
||||||
+ free(buf);
|
|
||||||
+
|
|
||||||
+ return result;
|
|
||||||
}
|
|
||||||
|
|
||||||
static FILE *
|
|
||||||
@@ -370,7 +495,6 @@
|
|
||||||
DebugF("Loaded XKB keymap %s, defined=0x%x\n",fileName,(*xkbRtrn)->defined);
|
|
||||||
}
|
|
||||||
fclose(file);
|
|
||||||
- (void) unlink (fileName);
|
|
||||||
return (need|want)&(~missing);
|
|
||||||
}
|
|
||||||
|
|
@ -1,17 +0,0 @@
|
|||||||
diff --git a/hw/xfree86/modes/xf86Crtc.c b/hw/xfree86/modes/xf86Crtc.c
|
|
||||||
index 7f6fad3..5e8a635 100644
|
|
||||||
--- a/hw/xfree86/modes/xf86Crtc.c
|
|
||||||
+++ b/hw/xfree86/modes/xf86Crtc.c
|
|
||||||
@@ -2379,10 +2379,10 @@ xf86InitialConfiguration (ScrnInfoPtr scrn, Bool canGrow)
|
|
||||||
xf86DrvMsg(i, X_INFO, "Using user preference for initial modes\n");
|
|
||||||
else if (xf86TargetPreferred(scrn, config, modes, enabled, width, height))
|
|
||||||
xf86DrvMsg(i, X_INFO, "Using exact sizes for initial modes\n");
|
|
||||||
- else if (xf86TargetAspect(scrn, config, modes, enabled, width, height))
|
|
||||||
- xf86DrvMsg(i, X_INFO, "Using fuzzy aspect match for initial modes\n");
|
|
||||||
else if (xf86TargetFallback(scrn, config, modes, enabled, width, height))
|
|
||||||
xf86DrvMsg(i, X_INFO, "Using sloppy heuristic for initial modes\n");
|
|
||||||
+ else if (xf86TargetAspect(scrn, config, modes, enabled, width, height))
|
|
||||||
+ xf86DrvMsg(i, X_INFO, "Using fuzzy aspect match for initial modes\n");
|
|
||||||
else
|
|
||||||
xf86DrvMsg(i, X_WARNING, "Unable to find initial modes\n");
|
|
||||||
}
|
|
@ -1,12 +0,0 @@
|
|||||||
diff -Naur xorg-server-1.11.0-old/hw/xfree86/common/xf86pciBus.c xorg-server-1.11.0-new/hw/xfree86/common/xf86pciBus.c
|
|
||||||
--- xorg-server-1.11.0-old/hw/xfree86/common/xf86pciBus.c 2011-08-27 09:46:27.000000000 -0700
|
|
||||||
+++ xorg-server-1.11.0-new/hw/xfree86/common/xf86pciBus.c 2011-08-27 09:47:09.000000000 -0700
|
|
||||||
@@ -1123,7 +1123,7 @@
|
|
||||||
break;
|
|
||||||
case 0x102b: driverList[0] = "mga"; break;
|
|
||||||
case 0x10c8: driverList[0] = "neomagic"; break;
|
|
||||||
- case 0x10de: case 0x12d2: driverList[0] = "nv"; break;
|
|
||||||
+ case 0x10de: case 0x12d2: driverList[0] = "nouveau"; break;
|
|
||||||
case 0x1106: driverList[0] = "openchrome"; break;
|
|
||||||
case 0x1b36: driverList[0] = "qxl"; break;
|
|
||||||
case 0x1163: driverList[0] = "rendition"; break;
|
|
@ -1,12 +0,0 @@
|
|||||||
diff -Naur xorg-server-1.11.0-old/hw/xfree86/common/xf86pciBus.c xorg-server-1.11.0-new/hw/xfree86/common/xf86pciBus.c
|
|
||||||
--- xorg-server-1.11.0-old/hw/xfree86/common/xf86pciBus.c 2011-08-27 09:47:09.000000000 -0700
|
|
||||||
+++ xorg-server-1.11.0-new/hw/xfree86/common/xf86pciBus.c 2011-08-27 09:47:33.000000000 -0700
|
|
||||||
@@ -1107,7 +1107,7 @@
|
|
||||||
case 0x1142: driverList[0] = "apm"; break;
|
|
||||||
case 0xedd8: driverList[0] = "ark"; break;
|
|
||||||
case 0x1a03: driverList[0] = "ast"; break;
|
|
||||||
- case 0x1002: driverList[0] = "ati"; break;
|
|
||||||
+ case 0x1002: driverList[0] = "radeon"; break;
|
|
||||||
case 0x102c: driverList[0] = "chips"; break;
|
|
||||||
case 0x1013: driverList[0] = "cirrus"; break;
|
|
||||||
case 0x3d3d: driverList[0] = "glint"; break;
|
|
@ -1,12 +0,0 @@
|
|||||||
--- xorg-server-1.6.1.901/hw/xfree86/common/xf86AutoConfig.c~ 2009-07-03 11:59:30.000000000 -0700
|
|
||||||
+++ xorg-server-1.6.1.901/hw/xfree86/common/xf86AutoConfig.c 2009-07-03 11:59:30.000000000 -0700
|
|
||||||
@@ -516,7 +516,8 @@
|
|
||||||
/* Fallback to platform default hardware */
|
|
||||||
if (i < (nmatches - 1)) {
|
|
||||||
#if defined(__i386__) || defined(__amd64__) || defined(__hurd__)
|
|
||||||
- matches[i++] = xnfstrdup("vesa");
|
|
||||||
+ if (geteuid() == 0)
|
|
||||||
+ matches[i++] = xnfstrdup("vesa");
|
|
||||||
#elif defined(__sparc__) && !defined(sun)
|
|
||||||
matches[i++] = xnfstrdup("sunffb");
|
|
||||||
#endif
|
|
@ -1,13 +0,0 @@
|
|||||||
diff --git a/hw/xfree86/common/xf86Globals.c b/hw/xfree86/common/xf86Globals.c
|
|
||||||
index 04a96cb..1036839 100644
|
|
||||||
--- a/hw/xfree86/common/xf86Globals.c
|
|
||||||
+++ b/hw/xfree86/common/xf86Globals.c
|
|
||||||
@@ -105,7 +105,7 @@ xf86InfoRec xf86Info = {
|
|
||||||
.lastEventTime = -1,
|
|
||||||
.vtRequestsPending = FALSE,
|
|
||||||
.dontVTSwitch = FALSE,
|
|
||||||
- .dontZap = FALSE,
|
|
||||||
+ .dontZap = TRUE,
|
|
||||||
.dontZoom = FALSE,
|
|
||||||
.notrapSignals = FALSE,
|
|
||||||
.caughtSignal = FALSE,
|
|
@ -1,31 +0,0 @@
|
|||||||
From a8079882f1884edc62a9de28af915bd8b65dfbbe Mon Sep 17 00:00:00 2001
|
|
||||||
From: Adam Jackson <ajax@redhat.com>
|
|
||||||
Date: Wed, 11 Mar 2009 14:02:11 -0400
|
|
||||||
Subject: [PATCH] Don't build the ACPI code.
|
|
||||||
|
|
||||||
No good can come of this.
|
|
||||||
---
|
|
||||||
configure.ac | 2 --
|
|
||||||
1 files changed, 0 insertions(+), 2 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/configure.ac b/configure.ac
|
|
||||||
index 72ae67e..04716f8 100644
|
|
||||||
--- a/configure.ac
|
|
||||||
+++ b/configure.ac
|
|
||||||
@@ -1269,13 +1269,11 @@ if test "x$XORG" = xyes; then
|
|
||||||
case $host_cpu in
|
|
||||||
ia64*)
|
|
||||||
linux_ia64=yes
|
|
||||||
- linux_acpi="yes"
|
|
||||||
;;
|
|
||||||
alpha*)
|
|
||||||
linux_alpha=yes
|
|
||||||
;;
|
|
||||||
i*86|amd64*|x86_64*)
|
|
||||||
- linux_acpi="yes"
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
;;
|
|
||||||
--
|
|
||||||
1.6.1.3
|
|
||||||
|
|
@ -0,0 +1,12 @@
|
|||||||
|
diff -Naur xorg-server-1.12.2-old/hw/xfree86/common/xf86pciBus.c xorg-server-1.12.2-new/hw/xfree86/common/xf86pciBus.c
|
||||||
|
--- xorg-server-1.12.2-old/hw/xfree86/common/xf86pciBus.c 2012-05-17 10:09:03.000000000 -0700
|
||||||
|
+++ xorg-server-1.12.2-new/hw/xfree86/common/xf86pciBus.c 2012-05-29 18:55:16.000000000 -0700
|
||||||
|
@@ -1107,7 +1107,7 @@
|
||||||
|
driverList[0] = "ast";
|
||||||
|
break;
|
||||||
|
case 0x1002:
|
||||||
|
- driverList[0] = "ati";
|
||||||
|
+ driverList[0] = "radeon";
|
||||||
|
break;
|
||||||
|
case 0x102c:
|
||||||
|
driverList[0] = "chips";
|
@ -0,0 +1,11 @@
|
|||||||
|
diff -Naur xorg-server-1.12.2/dix/window.c xorg-server-1.12.2.patch/dix/window.c
|
||||||
|
--- xorg-server-1.12.2/dix/window.c 2012-05-17 19:09:02.000000000 +0200
|
||||||
|
+++ xorg-server-1.12.2.patch/dix/window.c 2012-06-04 07:31:56.958440047 +0200
|
||||||
|
@@ -107,6 +107,7 @@
|
||||||
|
#include "validate.h"
|
||||||
|
#include "windowstr.h"
|
||||||
|
#include "propertyst.h"
|
||||||
|
+#include "selection.h" /* DeleteWindowFromAnySelections */
|
||||||
|
#include "input.h"
|
||||||
|
#include "inputstr.h"
|
||||||
|
#include "resource.h"
|
@ -43,7 +43,7 @@ if [ "$RUNLEVEL" = openelec ]; then
|
|||||||
|
|
||||||
logger -t Xorg "### creating start options ###"
|
logger -t Xorg "### creating start options ###"
|
||||||
|
|
||||||
XORG_ARGS="-s 0 -noreset -allowMouseOpenFail -nolisten tcp"
|
XORG_ARGS="-s 0 -noreset -allowMouseOpenFail"
|
||||||
|
|
||||||
if [ "$DEBUG" = yes ]; then
|
if [ "$DEBUG" = yes ]; then
|
||||||
XORG_ARGS="$XORG_ARGS -logverbose 6 -verbose 6"
|
XORG_ARGS="$XORG_ARGS -logverbose 6 -verbose 6"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user