diff --git a/0001-Fedora-hack-Make-the-suid-root-wrapper-always-start-.patch b/0001-Fedora-hack-Make-the-suid-root-wrapper-always-start-.patch index 1084342..9355ad2 100644 --- a/0001-Fedora-hack-Make-the-suid-root-wrapper-always-start-.patch +++ b/0001-Fedora-hack-Make-the-suid-root-wrapper-always-start-.patch @@ -1,8 +1,8 @@ -From 17830918f1bebf3696c6660f602de84d3efeb1ac Mon Sep 17 00:00:00 2001 +From 38ae53c94a88c7bd5877c72a12582b60865e07ff Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Thu, 17 Apr 2014 15:50:44 +0200 -Subject: [PATCH] Fedora hack: Make the suid-root wrapper start the server - with root rights +Subject: [PATCH] Fedora hack: Make the suid-root wrapper start the server with + root rights Do NOT upstream. @@ -19,16 +19,16 @@ needs_root_rights = -1 (auto) default in that case. Signed-off-by: Hans de Goede --- - hw/xfree86/xorg-wrapper.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) + hw/xfree86/xorg-wrapper.c | 3 +++ + 1 file changed, 3 insertions(+) diff --git a/hw/xfree86/xorg-wrapper.c b/hw/xfree86/xorg-wrapper.c -index 90c8c11..539bfe4 100644 +index 4c37cfc..ae5d27f 100644 --- a/hw/xfree86/xorg-wrapper.c +++ b/hw/xfree86/xorg-wrapper.c -@@ -191,6 +191,9 @@ int main(int argc, char *argv[]) - int allowed = CONSOLE_ONLY; +@@ -198,6 +198,9 @@ int main(int argc, char *argv[]) int needs_root_rights = -1; + char *const empty_envp[1] = { NULL, }; + if (getenv("XORG_RUN_AS_USER_OK") == NULL) + needs_root_rights = 1; @@ -37,5 +37,5 @@ index 90c8c11..539bfe4 100644 parse_config(&allowed, &needs_root_rights); -- -1.9.0 +2.4.3 diff --git a/0001-fix-Xdmx-link-harder.patch b/0001-fix-Xdmx-link-harder.patch deleted file mode 100644 index cbdde29..0000000 --- a/0001-fix-Xdmx-link-harder.patch +++ /dev/null @@ -1,25 +0,0 @@ -From cd0024646df28c208ef5d73b55564d6d184afdfd Mon Sep 17 00:00:00 2001 -From: Fedora X Ninjas -Date: Wed, 29 Jul 2015 10:34:08 +1000 -Subject: [PATCH] fix Xdmx link harder - ---- - configure.ac | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/configure.ac b/configure.ac -index 98d0821..20f31e6 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -2268,7 +2268,7 @@ if test "x$DMX" = xyes; then - fi - DMX_INCLUDES="$XEXT_INC $RENDER_INC $RECORD_INC" - XDMX_CFLAGS="$DMXMODULES_CFLAGS" -- XDMX_LIBS="$FB_LIB $MI_LIB $XEXT_LIB $RANDR_LIB $RENDER_LIB $RECORD_LIB $XI_LIB $XKB_LIB $XKB_STUB_LIB $DRI3_LIB $PRESENT_LIB $MIEXT_SYNC_LIB $MIEXT_SHADOW_LIB $MIEXT_DAMAGE_LIB $COMPOSITE_LIB $DAMAGE_LIB $MAIN_LIB $DIX_LIB $CONFIG_LIB $OS_LIB $FIXES_LIB" -+ XDMX_LIBS="$FB_LIB $MI_LIB $XEXT_LIB $RANDR_LIB $RENDER_LIB $RECORD_LIB $XI_LIB $XKB_LIB $XKB_STUB_LIB $DRI3_LIB $PRESENT_LIB $MIEXT_SYNC_LIB $MIEXT_SHADOW_LIB $MIEXT_DAMAGE_LIB $COMPOSITE_LIB $DAMAGE_LIB $MAIN_LIB $DIX_LIB $CONFIG_LIB $OS_LIB $FIXES_LIB $RANDR_LIB" - XDMX_SYS_LIBS="$DMXMODULES_LIBS" - AC_SUBST([XDMX_CFLAGS]) - AC_SUBST([XDMX_LIBS]) --- -2.4.3 - diff --git a/0001-glx-fix-regression-with-copy-sub-buffer-disappearing.patch b/0001-glx-fix-regression-with-copy-sub-buffer-disappearing.patch deleted file mode 100644 index d16a9b7..0000000 --- a/0001-glx-fix-regression-with-copy-sub-buffer-disappearing.patch +++ /dev/null @@ -1,42 +0,0 @@ -From cfe51b7b536cf9f46e26cae97d9560c8c4264009 Mon Sep 17 00:00:00 2001 -From: Fedora X Ninjas -Date: Tue, 22 Sep 2015 20:20:04 -0400 -Subject: [PATCH] glx: fix regression with copy sub buffer disappearing - -So copy sub buffer isn't a core extensions it's a driver extension -which means we are using totally the wrong interface to query for it -here, which means bad things happen when you roll out this code, -for instance MESA_copy_sub_buffer stops working. - -This is just the hack I'm sticking in Fedora to avoid the regression -for now, but hopefully will inspire us. ---- - glx/glxdriswrast.c | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) - -diff --git a/glx/glxdriswrast.c b/glx/glxdriswrast.c -index 9add2a1..e8e53bf 100644 ---- a/glx/glxdriswrast.c -+++ b/glx/glxdriswrast.c -@@ -396,6 +396,9 @@ initializeExtensions(__GLXDRIscreen * screen) - const __DRIextension **extensions; - int i; - -+ __glXEnableExtension(screen->glx_enable_bits, "GLX_MESA_copy_sub_buffer"); -+ LogMessage(X_INFO, "AIGLX: enabled GLX_MESA_copy_sub_buffer\n"); -+ - if (screen->swrast->base.version >= 3) { - __glXEnableExtension(screen->glx_enable_bits, - "GLX_ARB_create_context"); -@@ -416,8 +419,6 @@ initializeExtensions(__GLXDRIscreen * screen) - if (strcmp(extensions[i]->name, __DRI_COPY_SUB_BUFFER) == 0) { - screen->copySubBuffer = - (const __DRIcopySubBufferExtension *) extensions[i]; -- __glXEnableExtension(screen->glx_enable_bits, -- "GLX_MESA_copy_sub_buffer"); - } - - if (strcmp(extensions[i]->name, __DRI_TEX_BUFFER) == 0) { --- -2.5.0 - diff --git a/0001-linux-Do-not-call-FatalError-from-xf86CloseConsole.patch b/0001-linux-Do-not-call-FatalError-from-xf86CloseConsole.patch deleted file mode 100644 index a33840a..0000000 --- a/0001-linux-Do-not-call-FatalError-from-xf86CloseConsole.patch +++ /dev/null @@ -1,84 +0,0 @@ -From ca355e9d6acab994453cdbb65cb213d09ee4a50f Mon Sep 17 00:00:00 2001 -From: Hans de Goede -Date: Wed, 14 Oct 2015 15:10:35 +0200 -Subject: [PATCH] linux: Do not call FatalError from xf86CloseConsole - -FatalError ends up calling xf86CloseConsole itself, so calling FatalError -from within xf86CloseConsole is not a good idea. - -All the other error checking done in xf86CloseConsole uses -xf86Msg(X_WARNING, ...) except for the switch_to() helper function, -change things so that switch_to() also uses xf86Msg rather then FatalError -when called from xf86CloseConsole. - -BugLink: https://bugzilla.redhat.com/show_bug.cgi?id=1269210 -Signed-off-by: Hans de Goede ---- - hw/xfree86/os-support/linux/lnx_init.c | 24 ++++++++++++++++-------- - 1 file changed, 16 insertions(+), 8 deletions(-) - -diff --git a/hw/xfree86/os-support/linux/lnx_init.c b/hw/xfree86/os-support/linux/lnx_init.c -index ec06a05..9fec964 100644 ---- a/hw/xfree86/os-support/linux/lnx_init.c -+++ b/hw/xfree86/os-support/linux/lnx_init.c -@@ -64,17 +64,25 @@ drain_console(int fd, void *closure) - } - - static void --switch_to(int vt, const char *from) -+switch_to(int vt, Bool is_open) - { - int ret; - - SYSCALL(ret = ioctl(xf86Info.consoleFd, VT_ACTIVATE, vt)); -- if (ret < 0) -- FatalError("%s: VT_ACTIVATE failed: %s\n", from, strerror(errno)); -+ if (ret < 0) { -+ if (is_open) -+ FatalError("xf86OpenConsole: VT_ACTIVATE failed: %s\n", strerror(errno)); -+ else -+ xf86Msg(X_WARNING, "xf86CloseConsole: VT_ACTIVATE failed: %s\n", strerror(errno)); -+ } - - SYSCALL(ret = ioctl(xf86Info.consoleFd, VT_WAITACTIVE, vt)); -- if (ret < 0) -- FatalError("%s: VT_WAITACTIVE failed: %s\n", from, strerror(errno)); -+ if (ret < 0) { -+ if (is_open) -+ FatalError("xf86OpenConsole: VT_WAITACTIVE failed: %s\n", strerror(errno)); -+ else -+ xf86Msg(X_WARNING, "xf86CloseConsole: VT_WAITACTIVE failed: %s\n", strerror(errno)); -+ } - } - - #pragma GCC diagnostic push -@@ -233,7 +241,7 @@ xf86OpenConsole(void) - /* - * now get the VT. This _must_ succeed, or else fail completely. - */ -- switch_to(xf86Info.vtno, "xf86OpenConsole"); -+ switch_to(xf86Info.vtno, TRUE); - - SYSCALL(ret = ioctl(xf86Info.consoleFd, VT_GETMODE, &VT)); - if (ret < 0) -@@ -294,7 +302,7 @@ xf86OpenConsole(void) - else { /* serverGeneration != 1 */ - if (!xf86Info.ShareVTs && xf86Info.autoVTSwitch) { - /* now get the VT */ -- switch_to(xf86Info.vtno, "xf86OpenConsole"); -+ switch_to(xf86Info.vtno, TRUE); - } - } - } -@@ -346,7 +354,7 @@ xf86CloseConsole(void) - * Perform a switch back to the active VT when we were started - */ - if (activeVT >= 0) { -- switch_to(activeVT, "xf86CloseConsole"); -+ switch_to(activeVT, FALSE); - activeVT = -1; - } - } --- -2.5.0 - diff --git a/0001-present-Don-t-stash-the-MSC-value-when-present_get_u.patch b/0001-present-Don-t-stash-the-MSC-value-when-present_get_u.patch deleted file mode 100644 index 1e91c32..0000000 --- a/0001-present-Don-t-stash-the-MSC-value-when-present_get_u.patch +++ /dev/null @@ -1,60 +0,0 @@ -From e3cdf29473a15790d4dab818f42df429997d2dda Mon Sep 17 00:00:00 2001 -From: Fedora X Ninjas -Date: Wed, 16 Sep 2015 11:26:22 -0500 -Subject: [PATCH] present: Don't stash the MSC value when present_get_ust_msc - fails -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Otherwise we stash an uninitalized value, and later use it to compute -the msc_offset for the window. Also initialize ust and crtc_msc so we -never use uninitalized values when present_get_ust_msc fails. - -This fixes clients getting stuck waiting indefinitely for an idle -event when a CRTC is turned off. - -Signed-off-by: Fredrik Höglund ---- - present/present.c | 14 ++++++++------ - 1 file changed, 8 insertions(+), 6 deletions(-) - -diff --git a/present/present.c b/present/present.c -index a634601..7ddffbd 100644 ---- a/present/present.c -+++ b/present/present.c -@@ -710,9 +710,9 @@ present_pixmap(WindowPtr window, - present_notify_ptr notifies, - int num_notifies) - { -- uint64_t ust; -+ uint64_t ust = 0; - uint64_t target_msc; -- uint64_t crtc_msc; -+ uint64_t crtc_msc = 0; - int ret; - present_vblank_ptr vblank, tmp; - ScreenPtr screen = window->drawable.pScreen; -@@ -734,13 +734,15 @@ present_pixmap(WindowPtr window, - target_crtc = present_get_crtc(window); - } - -- present_get_ust_msc(screen, target_crtc, &ust, &crtc_msc); -+ ret = present_get_ust_msc(screen, target_crtc, &ust, &crtc_msc); - - target_msc = present_window_to_crtc_msc(window, target_crtc, window_msc, crtc_msc); - -- /* Stash the current MSC away in case we need it later -- */ -- window_priv->msc = crtc_msc; -+ if (ret == Success) { -+ /* Stash the current MSC away in case we need it later -+ */ -+ window_priv->msc = crtc_msc; -+ } - - /* Adjust target_msc to match modulus - */ --- -2.5.0 - diff --git a/commitid b/commitid index 6275203..3584473 100644 --- a/commitid +++ b/commitid @@ -1 +1 @@ -634e357be2ec400f63bd5c42f706b709b6ddabc3 +d8b7a900cf912cadb5915b3924dd6ce5a74505e7 diff --git a/sources b/sources index bd7f31a..ed625e8 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -1c03f8b6700e230253354931e9264b17 xorg-server-20150907.tar.xz +cdb17f1bd631d022980c7acfa46bf24b xorg-server-20151027.tar.xz diff --git a/xorg-x11-server.spec b/xorg-x11-server.spec index 8732df2..af345dc 100644 --- a/xorg-x11-server.spec +++ b/xorg-x11-server.spec @@ -11,7 +11,7 @@ # X.org requires lazy relocations to work. %undefine _hardened_build -%global gitdate 20150907 +%global gitdate 20151027 %global stable_abi 1 %if !0%{?gitdate} || %{stable_abi} @@ -45,7 +45,7 @@ Summary: X.Org X11 X server Name: xorg-x11-server Version: 1.18.0 -Release: 0.5%{?gitdate:.%{gitdate}}%{dist} +Release: 0.6%{?gitdate:.%{gitdate}}%{dist} URL: http://www.x.org License: MIT Group: User Interface/X @@ -77,10 +77,6 @@ Source31: xserver-sdk-abi-requires.git # maintainer convenience script Source40: driver-abi-rebuild.sh -# hack that isn't upstream - hopefully upstream fixes nicer -Patch3000: 0001-glx-fix-regression-with-copy-sub-buffer-disappearing.patch - -Patch4000: 0001-fix-Xdmx-link-harder.patch # Trivial things to never merge upstream ever: # This really could be done prettier. Patch5002: xserver-1.4.99-ssh-isnt-local.patch @@ -95,13 +91,6 @@ Patch7027: xserver-autobind-hotplug.patch # submitted: http://lists.x.org/archives/xorg-devel/2013-October/037996.html Patch9100: exa-only-draw-valid-trapezoids.patch -# http://lists.x.org/archives/xorg-devel/2015-September/047304.html -Patch9200: 0001-present-Don-t-stash-the-MSC-value-when-present_get_u.patch - -# https://bugzilla.redhat.com/show_bug.cgi?id=1269210 -# http://lists.x.org/archives/xorg-devel/2015-October/047558.html -Patch9300: 0001-linux-Do-not-call-FatalError-from-xf86CloseConsole.patch - # because the display-managers are not ready yet, do not upstream Patch10000: 0001-Fedora-hack-Make-the-suid-root-wrapper-always-start-.patch @@ -641,6 +630,9 @@ find %{inst_srcdir}/hw/xfree86 -name \*.c -delete %changelog +* Tue Oct 27 2015 Dave Airlie 1.18.0-0.6 +- update to git snapshot of 1.7.99.902 (1.18.0 rc2) + * Wed Oct 14 2015 Hans de Goede - 1.18.0-0.5 - Fix xorg sometimes crashing on machine poweroff/shutdown (#1269210)