From 39576a37e5601382e47982dc3b99dc58812dc266 Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Mon, 28 Jul 2014 12:07:38 +0200 Subject: [PATCH] Update to 1.16.0 --- ...s-Fix-build-errors-with-latest-glibc.patch | 181 ------------------ ...rce-the-screensaver-off-on-DPMS-unbl.patch | 42 ---- ...p-coordinate-scaling-when-external-m.patch | 133 ------------- ...DRIVER-overlapping-with-ODEV_ATTRIB_.patch | 29 --- sources | 2 +- xorg-x11-server.spec | 20 +- 6 files changed, 6 insertions(+), 401 deletions(-) delete mode 100644 0001-headers-Fix-build-errors-with-latest-glibc.patch delete mode 100644 0001-xfree86-don-t-force-the-screensaver-off-on-DPMS-unbl.patch delete mode 100644 0002-Revert-dix-fix-up-coordinate-scaling-when-external-m.patch delete mode 100644 0003-Fix-ODEV_ATTRIB_DRIVER-overlapping-with-ODEV_ATTRIB_.patch diff --git a/0001-headers-Fix-build-errors-with-latest-glibc.patch b/0001-headers-Fix-build-errors-with-latest-glibc.patch deleted file mode 100644 index 53ffe5f..0000000 --- a/0001-headers-Fix-build-errors-with-latest-glibc.patch +++ /dev/null @@ -1,181 +0,0 @@ -From 4d672dd0f41e4bd8f5e67936d7e14409ba80d54e Mon Sep 17 00:00:00 2001 -From: Hans de Goede -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 ---- - 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 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 header file. */ - #undef HAVE_STRINGS_H - - /* Define to 1 if you have the 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 - #include - #include -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 - diff --git a/0001-xfree86-don-t-force-the-screensaver-off-on-DPMS-unbl.patch b/0001-xfree86-don-t-force-the-screensaver-off-on-DPMS-unbl.patch deleted file mode 100644 index 6666554..0000000 --- a/0001-xfree86-don-t-force-the-screensaver-off-on-DPMS-unbl.patch +++ /dev/null @@ -1,42 +0,0 @@ -From 142cebe39f216b3e39353e173b29f47b4fc295fd Mon Sep 17 00:00:00 2001 -From: Peter Hutterer -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 ---- - 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 - diff --git a/0002-Revert-dix-fix-up-coordinate-scaling-when-external-m.patch b/0002-Revert-dix-fix-up-coordinate-scaling-when-external-m.patch deleted file mode 100644 index f33d881..0000000 --- a/0002-Revert-dix-fix-up-coordinate-scaling-when-external-m.patch +++ /dev/null @@ -1,133 +0,0 @@ -From 5a16e22115ad88bf9abe91c43c203385e2ea41bb Mon Sep 17 00:00:00 2001 -From: Hans de Goede -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 - diff --git a/0003-Fix-ODEV_ATTRIB_DRIVER-overlapping-with-ODEV_ATTRIB_.patch b/0003-Fix-ODEV_ATTRIB_DRIVER-overlapping-with-ODEV_ATTRIB_.patch deleted file mode 100644 index 8bc280f..0000000 --- a/0003-Fix-ODEV_ATTRIB_DRIVER-overlapping-with-ODEV_ATTRIB_.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 3e4e029cca08e97ede67d19020476cd460eec00f Mon Sep 17 00:00:00 2001 -From: Hans de Goede -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 ---- - 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 - diff --git a/sources b/sources index b0533b3..12f325f 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -6840767d8306921b687d05437a952753 xorg-server-1.15.99.904.tar.bz2 +8a9ff6ee9907360f09b5bdabb8089502 xorg-server-1.16.0.tar.bz2 diff --git a/xorg-x11-server.spec b/xorg-x11-server.spec index 7f13f32..efc00c3 100644 --- a/xorg-x11-server.spec +++ b/xorg-x11-server.spec @@ -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 - 1.16.0-1 +- Update to 1.16.0 + * Thu Jul 17 2014 Adam Jackson 1.15.99.904-4 - Add Obsoletes for video drivers dropped in F21+