Update to 1.16.0
This commit is contained in:
parent
c581e4ba0c
commit
39576a37e5
@ -1,181 +0,0 @@
|
||||
From 4d672dd0f41e4bd8f5e67936d7e14409ba80d54e Mon Sep 17 00:00:00 2001
|
||||
From: Hans de Goede <hdegoede@redhat.com>
|
||||
Date: Wed, 2 Jul 2014 20:55:53 +0200
|
||||
Subject: [PATCH] headers: Fix build errors with latest glibc
|
||||
|
||||
include/os.h defines protyptes for various non ansi-c str functions, such
|
||||
as str[n]casecmp and strndup. The definition of the prototypes is guarded
|
||||
by #ifndef HAVE_STRFOO, but HAVE_STRFOO is defined by xorg-server.h which
|
||||
is not included by all users of os.h. E.g. glamor.h does not and should not
|
||||
include xorg-server.h
|
||||
|
||||
This is a problem since the these prototype declarations clash with the libc
|
||||
declarations when using the latest glibc:
|
||||
|
||||
In file included from /usr/include/xorg/misc.h:115:0,
|
||||
from /usr/include/xorg/screenint.h:50,
|
||||
from /usr/include/xorg/scrnintstr.h:50,
|
||||
from /usr/include/xorg/glamor.h:32,
|
||||
from conftest.c:61:
|
||||
/usr/include/xorg/os.h:579:2: error: expected identifier or '(' before '__extension__'
|
||||
strndup(const char *str, size_t n);
|
||||
|
||||
To fix this, this commit moves the HAVE_STRFOO defines to their own
|
||||
(generated) header called os-strfeatures.h, and unconditionally includes this
|
||||
header from os.h .
|
||||
|
||||
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
||||
---
|
||||
configure.ac | 2 ++
|
||||
include/Makefile.am | 2 +-
|
||||
include/dix-config.h.in | 18 ------------------
|
||||
include/os-strfeatures.h.in | 33 +++++++++++++++++++++++++++++++++
|
||||
include/os.h | 1 +
|
||||
include/xorg-server.h.in | 18 ------------------
|
||||
6 files changed, 37 insertions(+), 37 deletions(-)
|
||||
create mode 100644 include/os-strfeatures.h.in
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index 2daa6be..05ae8e6 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -72,6 +72,8 @@ AC_CONFIG_HEADERS(include/kdrive-config.h)
|
||||
dnl version-config.h covers the version numbers so they can be bumped without
|
||||
dnl forcing an entire recompile.x
|
||||
AC_CONFIG_HEADERS(include/version-config.h)
|
||||
+dnl os-strfeatures.h covers HAVE_STRFOO for non ansi-c string functions
|
||||
+AC_CONFIG_HEADERS(include/os-strfeatures.h)
|
||||
|
||||
AM_PROG_AS
|
||||
AC_PROG_LN_S
|
||||
diff --git a/include/Makefile.am b/include/Makefile.am
|
||||
index 6578038..b2ee27b 100644
|
||||
--- a/include/Makefile.am
|
||||
+++ b/include/Makefile.am
|
||||
@@ -62,7 +62,7 @@ sdk_HEADERS = \
|
||||
xkbrules.h \
|
||||
xserver-properties.h
|
||||
|
||||
-nodist_sdk_HEADERS = xorg-server.h
|
||||
+nodist_sdk_HEADERS = xorg-server.h os-strfeatures.h
|
||||
endif
|
||||
|
||||
AM_CFLAGS = $(DIX_CFLAGS)
|
||||
diff --git a/include/dix-config.h.in b/include/dix-config.h.in
|
||||
index f980a3d..f055b2c 100644
|
||||
--- a/include/dix-config.h.in
|
||||
+++ b/include/dix-config.h.in
|
||||
@@ -175,30 +175,12 @@
|
||||
/* Define to 1 if you have the <stdlib.h> header file. */
|
||||
#undef HAVE_STDLIB_H
|
||||
|
||||
-/* Define to 1 if you have the `strcasecmp' function. */
|
||||
-#undef HAVE_STRCASECMP
|
||||
-
|
||||
-/* Define to 1 if you have the `strcasestr' function. */
|
||||
-#undef HAVE_STRCASESTR
|
||||
-
|
||||
-/* Define to 1 if you have the `strncasecmp' function. */
|
||||
-#undef HAVE_STRNCASECMP
|
||||
-
|
||||
-/* Define to 1 if you have the `strlcat' function. */
|
||||
-#undef HAVE_STRLCAT
|
||||
-
|
||||
-/* Define to 1 if you have the `strlcpy' function. */
|
||||
-#undef HAVE_STRLCPY
|
||||
-
|
||||
/* Define to 1 if you have the <strings.h> header file. */
|
||||
#undef HAVE_STRINGS_H
|
||||
|
||||
/* Define to 1 if you have the <string.h> header file. */
|
||||
#undef HAVE_STRING_H
|
||||
|
||||
-/* Define to 1 if you have the `strndup' function. */
|
||||
-#undef HAVE_STRNDUP
|
||||
-
|
||||
/* Define to 1 if libsystemd-daemon is available */
|
||||
#undef HAVE_SYSTEMD_DAEMON
|
||||
|
||||
diff --git a/include/os-strfeatures.h.in b/include/os-strfeatures.h.in
|
||||
new file mode 100644
|
||||
index 0000000..88c3b30
|
||||
--- /dev/null
|
||||
+++ b/include/os-strfeatures.h.in
|
||||
@@ -0,0 +1,33 @@
|
||||
+/* os-strfeatures.h.in -*- c -*-
|
||||
+ *
|
||||
+ * This file is the template file for the os-strfeatures.h file which gets
|
||||
+ * installed as part of the SDK. The #defines in this file are HAVE_STRFOO
|
||||
+ * defines which control whether os.h declares protype for non ansi-c
|
||||
+ * string functions suchs as str[n]casecmp and strndup,
|
||||
+ *
|
||||
+ * Note this file is not generated by autoheader, so it needs to by synced
|
||||
+ * manually with changes to configure.in where necessary.
|
||||
+ */
|
||||
+
|
||||
+#ifndef OS_STRFEATURES_H
|
||||
+#define OS_STRFEATURES_H
|
||||
+
|
||||
+/* Define to 1 if you have the `strcasecmp' function. */
|
||||
+#undef HAVE_STRCASECMP
|
||||
+
|
||||
+/* Define to 1 if you have the `strncasecmp' function. */
|
||||
+#undef HAVE_STRNCASECMP
|
||||
+
|
||||
+/* Define to 1 if you have the `strcasestr' function. */
|
||||
+#undef HAVE_STRCASESTR
|
||||
+
|
||||
+/* Define to 1 if you have the `strlcat' function. */
|
||||
+#undef HAVE_STRLCAT
|
||||
+
|
||||
+/* Define to 1 if you have the `strlcpy' function. */
|
||||
+#undef HAVE_STRLCPY
|
||||
+
|
||||
+/* Define to 1 if you have the `strndup' function. */
|
||||
+#undef HAVE_STRNDUP
|
||||
+
|
||||
+#endif /* OS_STRFEATURES_H */
|
||||
diff --git a/include/os.h b/include/os.h
|
||||
index d26e399..54819f9 100644
|
||||
--- a/include/os.h
|
||||
+++ b/include/os.h
|
||||
@@ -48,6 +48,7 @@ SOFTWARE.
|
||||
#define OS_H
|
||||
|
||||
#include "misc.h"
|
||||
+#include "os-strfeatures.h"
|
||||
#include <stdarg.h>
|
||||
#include <stdint.h>
|
||||
#include <string.h>
|
||||
diff --git a/include/xorg-server.h.in b/include/xorg-server.h.in
|
||||
index 8bf9d38..9daf0fa 100644
|
||||
--- a/include/xorg-server.h.in
|
||||
+++ b/include/xorg-server.h.in
|
||||
@@ -43,24 +43,6 @@
|
||||
/* Define to 1 if you have the `ffs' function. */
|
||||
#undef HAVE_FFS
|
||||
|
||||
-/* Define to 1 if you have the `strcasecmp' function. */
|
||||
-#undef HAVE_STRCASECMP
|
||||
-
|
||||
-/* Define to 1 if you have the `strcasestr' function. */
|
||||
-#undef HAVE_STRCASESTR
|
||||
-
|
||||
-/* Define to 1 if you have the `strlcat' function. */
|
||||
-#undef HAVE_STRLCAT
|
||||
-
|
||||
-/* Define to 1 if you have the `strlcpy' function. */
|
||||
-#undef HAVE_STRLCPY
|
||||
-
|
||||
-/* Define to 1 if you have the `strncasecmp' function. */
|
||||
-#undef HAVE_STRNCASECMP
|
||||
-
|
||||
-/* Define to 1 if you have the `strndup' function. */
|
||||
-#undef HAVE_STRNDUP
|
||||
-
|
||||
/* Support IPv6 for TCP connections */
|
||||
#undef IPv6
|
||||
|
||||
--
|
||||
2.0.0
|
||||
|
@ -1,42 +0,0 @@
|
||||
From 142cebe39f216b3e39353e173b29f47b4fc295fd Mon Sep 17 00:00:00 2001
|
||||
From: Peter Hutterer <peter.hutterer@who-t.net>
|
||||
Date: Thu, 10 Jul 2014 10:39:50 +1000
|
||||
Subject: [PATCH] xfree86: don't force the screensaver off on DPMS unblank,
|
||||
merely suggest it
|
||||
|
||||
Having dependencies between DPMS and the screensaver is subject to further
|
||||
arguments, but in this particular case using SCREENSAVER_FORCER is
|
||||
detrimental. SCREENSAVER_FORCER(ScreenSaverReset) resets the idle time for all
|
||||
devices on DPMS unblank.
|
||||
|
||||
It prevents at least one use-case that GNOME tries to implement:
|
||||
GNOME displays a notification before suspending. If the display is
|
||||
currently blanked, GNOME lights it up to display the message. With the
|
||||
original in place DPMS unblank also resets the screen saver, thus
|
||||
restarting the timeout.
|
||||
|
||||
Switch this to a more suggestive SCREENSAVER_OFF(ScreenSaverReset). This keeps
|
||||
the symmetry in blanking mode (DPMS and screensaver turn each other on/off as
|
||||
expected) but does not reset the idle time on the devices.
|
||||
|
||||
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
||||
---
|
||||
hw/xfree86/common/xf86DPMS.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/hw/xfree86/common/xf86DPMS.c b/hw/xfree86/common/xf86DPMS.c
|
||||
index 14d1f45..2b5a3ed 100644
|
||||
--- a/hw/xfree86/common/xf86DPMS.c
|
||||
+++ b/hw/xfree86/common/xf86DPMS.c
|
||||
@@ -166,7 +166,7 @@ DPMSSet(ClientPtr client, int level)
|
||||
return rc;
|
||||
}
|
||||
} else if (!xf86IsUnblank(screenIsSaved)) {
|
||||
- rc = dixSaveScreens(client, SCREEN_SAVER_FORCER, ScreenSaverReset);
|
||||
+ rc = dixSaveScreens(client, SCREEN_SAVER_OFF, ScreenSaverReset);
|
||||
if (rc != Success)
|
||||
return rc;
|
||||
}
|
||||
--
|
||||
1.9.3
|
||||
|
@ -1,133 +0,0 @@
|
||||
From 5a16e22115ad88bf9abe91c43c203385e2ea41bb Mon Sep 17 00:00:00 2001
|
||||
From: Hans de Goede <hdegoede@redhat.com>
|
||||
Date: Tue, 8 Jul 2014 11:10:39 +0200
|
||||
Subject: [PATCH 2/2] Revert "dix: fix up coordinate scaling when external
|
||||
monitors are present"
|
||||
|
||||
This reverts commit d90b5f83010248be65b2039b0b2d0b9e6a4e93cf.
|
||||
---
|
||||
dix/getevents.c | 80 +++++++++++++++------------------------------------------
|
||||
1 file changed, 20 insertions(+), 60 deletions(-)
|
||||
|
||||
diff --git a/dix/getevents.c b/dix/getevents.c
|
||||
index d68fa96..ffa89fa 100644
|
||||
--- a/dix/getevents.c
|
||||
+++ b/dix/getevents.c
|
||||
@@ -770,65 +770,27 @@ add_to_scroll_valuator(DeviceIntPtr dev, ValuatorMask *mask, int valuator, doubl
|
||||
}
|
||||
|
||||
|
||||
-/* FIXME: relative events from devices with absolute axis ranges is
|
||||
- fundamentally broken. We map the device coordinate range into the screen
|
||||
- range, but don't really account for device resolution in that.
|
||||
-
|
||||
- what we do here is a hack to make touchpads usable. for a given relative
|
||||
- motion vector in device coordinates:
|
||||
- 1. calculate physical movement on the device in metres
|
||||
- 2. calculate pixel vector that is the same physical movement on the
|
||||
- screen (times some magic number to provide sensible base speed)
|
||||
- 3. calculate what percentage this vector is of the current screen
|
||||
- width/height
|
||||
- 4. calculate equivalent vector in % on the device's min/max axis range
|
||||
- 5. Use that device vector as the actual motion vector
|
||||
-
|
||||
- e.g. 10/50mm on the device, 10/50mm on the screen are 30/100 pixels,
|
||||
- 30/100 pixels are 1/3% of the width, 1/3% of the device is a vector of
|
||||
- 20/80 -> use 20/80 as dx/dy.
|
||||
-
|
||||
- dx/dy is then applied to the current position in device coordinates,
|
||||
- mapped to screen coordinates and thus the movement on the screen reflects
|
||||
- the motion direction on the device.
|
||||
- */
|
||||
static void
|
||||
scale_for_device_resolution(DeviceIntPtr dev, ValuatorMask *mask)
|
||||
{
|
||||
- double x, y;
|
||||
+ double y;
|
||||
ValuatorClassPtr v = dev->valuator;
|
||||
int xrange = v->axes[0].max_value - v->axes[0].min_value + 1;
|
||||
int yrange = v->axes[1].max_value - v->axes[1].min_value + 1;
|
||||
|
||||
- /* Assume 100 units/m for devices without resolution */
|
||||
- int xres = 100000, yres = 100000;
|
||||
-
|
||||
- /* If we have multiple screens with different dpi, it gets complicated:
|
||||
- we have to map which screen we're on and then take the dpi of that
|
||||
- screen to be somewhat accurate. */
|
||||
- const ScreenPtr s = screenInfo.screens[0];
|
||||
- const double screen_res = 1000.0 * s->width/s->mmWidth; /* units/m */
|
||||
+ double screen_ratio = 1.0 * screenInfo.width/screenInfo.height;
|
||||
+ double device_ratio = 1.0 * xrange/yrange;
|
||||
+ double resolution_ratio = 1.0;
|
||||
+ double ratio;
|
||||
|
||||
- /* some magic multiplier, so unaccelerated movement of x mm on the
|
||||
- device reflects x * magic mm on the screen */
|
||||
- const double magic = 4;
|
||||
+ if (!valuator_mask_fetch_double(mask, 1, &y))
|
||||
+ return;
|
||||
|
||||
- if (v->axes[0].resolution != 0 && v->axes[1].resolution != 0) {
|
||||
- xres = v->axes[0].resolution;
|
||||
- yres = v->axes[1].resolution;
|
||||
- }
|
||||
+ if (v->axes[0].resolution != 0 && v->axes[1].resolution != 0)
|
||||
+ resolution_ratio = 1.0 * v->axes[0].resolution/v->axes[1].resolution;
|
||||
|
||||
- if (valuator_mask_isset(mask, 0)) {
|
||||
- x = valuator_mask_get_double(mask, 0);
|
||||
- x = magic * x/xres * screen_res/screenInfo.width * xrange;
|
||||
- valuator_mask_set_double(mask, 0, x);
|
||||
- }
|
||||
-
|
||||
- if (valuator_mask_isset(mask, 1)) {
|
||||
- y = valuator_mask_get_double(mask, 1);
|
||||
- y = magic * y/yres * screen_res/screenInfo.height * yrange;
|
||||
- valuator_mask_set_double(mask, 1, y);
|
||||
- }
|
||||
+ ratio = device_ratio/resolution_ratio/screen_ratio;
|
||||
+ valuator_mask_set_double(mask, 1, y / ratio);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -842,6 +804,15 @@ moveRelative(DeviceIntPtr dev, int flags, ValuatorMask *mask)
|
||||
{
|
||||
int i;
|
||||
Bool clip_xy = IsMaster(dev) || !IsFloating(dev);
|
||||
+ ValuatorClassPtr v = dev->valuator;
|
||||
+
|
||||
+ /* for abs devices in relative mode, we've just scaled wrong, since we
|
||||
+ mapped the device's shape into the screen shape. Undo this. */
|
||||
+ if ((flags & POINTER_ABSOLUTE) == 0 && v && v->numAxes > 1 &&
|
||||
+ v->axes[0].min_value < v->axes[0].max_value &&
|
||||
+ v->axes[1].min_value < v->axes[1].max_value) {
|
||||
+ scale_for_device_resolution(dev, mask);
|
||||
+ }
|
||||
|
||||
/* calc other axes, clip, drop back into valuators */
|
||||
for (i = 0; i < valuator_mask_size(mask); i++) {
|
||||
@@ -1470,21 +1441,10 @@ fill_pointer_events(InternalEvent *events, DeviceIntPtr pDev, int type,
|
||||
set_raw_valuators(raw, &mask, raw->valuators.data);
|
||||
}
|
||||
else {
|
||||
- ValuatorClassPtr v = pDev->valuator;
|
||||
-
|
||||
transformRelative(pDev, &mask);
|
||||
|
||||
- /* for abs devices in relative mode, we've just scaled wrong, since we
|
||||
- mapped the device's shape into the screen shape. Undo this. */
|
||||
- if (v && v->numAxes > 1 &&
|
||||
- v->axes[0].min_value < v->axes[0].max_value &&
|
||||
- v->axes[1].min_value < v->axes[1].max_value) {
|
||||
- scale_for_device_resolution(pDev, &mask);
|
||||
- }
|
||||
-
|
||||
if (flags & POINTER_ACCELERATE)
|
||||
accelPointer(pDev, &mask, ms);
|
||||
-
|
||||
if ((flags & POINTER_NORAW) == 0 && raw)
|
||||
set_raw_valuators(raw, &mask, raw->valuators.data);
|
||||
|
||||
--
|
||||
2.0.0
|
||||
|
@ -1,29 +0,0 @@
|
||||
From 3e4e029cca08e97ede67d19020476cd460eec00f Mon Sep 17 00:00:00 2001
|
||||
From: Hans de Goede <hdegoede@redhat.com>
|
||||
Date: Fri, 11 Jul 2014 09:49:13 +0200
|
||||
Subject: [PATCH 3/3] Fix ODEV_ATTRIB_DRIVER overlapping with ODEV_ATTRIB_FD
|
||||
|
||||
Looks like the value of ODEV_ATTRIB_DRIVER was not updated when the patch
|
||||
adding it got rebased on top of a newer server version.
|
||||
|
||||
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
||||
---
|
||||
include/hotplug.h | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/include/hotplug.h b/include/hotplug.h
|
||||
index c4268a0..b2c0d78 100644
|
||||
--- a/include/hotplug.h
|
||||
+++ b/include/hotplug.h
|
||||
@@ -88,7 +88,7 @@ config_odev_free_attributes(struct OdevAttributes *attribs);
|
||||
/* Minor number of the device node pointed to by ODEV_ATTRIB_PATH */
|
||||
#define ODEV_ATTRIB_MINOR 6
|
||||
/* kernel driver name */
|
||||
-#define ODEV_ATTRIB_DRIVER 4
|
||||
+#define ODEV_ATTRIB_DRIVER 7
|
||||
|
||||
typedef void (*config_odev_probe_proc_ptr)(struct OdevAttributes *attribs);
|
||||
void config_odev_probe(config_odev_probe_proc_ptr probe_callback);
|
||||
--
|
||||
2.0.0
|
||||
|
2
sources
2
sources
@ -1 +1 @@
|
||||
6840767d8306921b687d05437a952753 xorg-server-1.15.99.904.tar.bz2
|
||||
8a9ff6ee9907360f09b5bdabb8089502 xorg-server-1.16.0.tar.bz2
|
||||
|
@ -41,8 +41,8 @@
|
||||
|
||||
Summary: X.Org X11 X server
|
||||
Name: xorg-x11-server
|
||||
Version: 1.15.99.904
|
||||
Release: 4%{?gitdate:.%{gitdate}}%{dist}
|
||||
Version: 1.16.0
|
||||
Release: 1%{?gitdate:.%{gitdate}}%{dist}
|
||||
URL: http://www.x.org
|
||||
License: MIT
|
||||
Group: User Interface/X
|
||||
@ -74,15 +74,6 @@ Source31: xserver-sdk-abi-requires.git
|
||||
# maintainer convenience script
|
||||
Source40: driver-abi-rebuild.sh
|
||||
|
||||
# Submitted upstream
|
||||
Patch0001: 0001-headers-Fix-build-errors-with-latest-glibc.patch
|
||||
|
||||
# Revert of a touchpad motion scaling fix with known issues (rhbz#1104789)
|
||||
Patch0002: 0002-Revert-dix-fix-up-coordinate-scaling-when-external-m.patch
|
||||
|
||||
# Submitted upstream
|
||||
Patch0003: 0003-Fix-ODEV_ATTRIB_DRIVER-overlapping-with-ODEV_ATTRIB_.patch
|
||||
|
||||
# Trivial things to never merge upstream ever:
|
||||
# This really could be done prettier.
|
||||
Patch5002: xserver-1.4.99-ssh-isnt-local.patch
|
||||
@ -108,10 +99,6 @@ Patch10000: 0001-Fedora-hack-Make-the-suid-root-wrapper-always-start-.patch
|
||||
# submitted http://lists.x.org/archives/xorg-devel/2014-July/042936.html
|
||||
Patch10200: 0001-xwayland-Snap-damage-reports-to-the-bounding-box.patch
|
||||
|
||||
# https://bugzilla.gnome.org/show_bug.cgi?id=731241
|
||||
# submitted: http://patchwork.freedesktop.org/patch/29412/
|
||||
Patch10201: 0001-xfree86-don-t-force-the-screensaver-off-on-DPMS-unbl.patch
|
||||
|
||||
%global moduledir %{_libdir}/xorg/modules
|
||||
%global drimoduledir %{_libdir}/dri
|
||||
%global sdkdir %{_includedir}/xorg
|
||||
@ -646,6 +633,9 @@ find %{inst_srcdir}/hw/xfree86 -name \*.c -delete
|
||||
|
||||
|
||||
%changelog
|
||||
* Mon Jul 28 2014 Hans de Goede <hdegoede@redhat.com> - 1.16.0-1
|
||||
- Update to 1.16.0
|
||||
|
||||
* Thu Jul 17 2014 Adam Jackson <ajax@redhat.com> 1.15.99.904-4
|
||||
- Add Obsoletes for video drivers dropped in F21+
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user