diff options
author | kyak | 2018-06-23 08:52:38 +0300 |
---|---|---|
committer | kyak | 2018-06-23 08:52:38 +0300 |
commit | 5d9c027edfbebaaf1eb3266f1ada5985f13b2a96 (patch) | |
tree | 73b307694b5cef7bc7ccd08a3c0ad9e5f4b3d81e | |
parent | 76baa8e6be1759b7ce9bbbb23f74dcba3342ea2d (diff) | |
download | aur-5d9c027edfbebaaf1eb3266f1ada5985f13b2a96.tar.gz |
upgpkg: xorg-server 1.20.0-9
-rw-r--r-- | .SRCINFO | 14 | ||||
-rw-r--r-- | 0001-Xext-shm-Refuse-to-work-for-remote-clients.patch | 60 | ||||
-rw-r--r-- | 0002-fix-libshadow-2.patch (renamed from 0001-fix-libshadow-2.patch) | 0 | ||||
-rw-r--r-- | 0003_Use_PictureMatchFormat_for_source-only_picture_format.diff | 34 | ||||
-rw-r--r-- | PKGBUILD | 28 | ||||
-rw-r--r-- | meson-Add-configuration-of-listening-on-tcp-unix-and-local.patch | 36 | ||||
-rw-r--r-- | xserver-modesetting-use-drmmode_bo_import-for-rotate_fb.patch | 18 |
7 files changed, 183 insertions, 7 deletions
@@ -1,6 +1,6 @@ pkgbase = xorg-server-bug865 pkgver = 1.20.0 - pkgrel = 6 + pkgrel = 9 url = http://xorg.freedesktop.org arch = x86_64 groups = xorg @@ -42,9 +42,13 @@ pkgbase = xorg-server-bug865 source = xwayland-config.h.meson.in::https://cgit.freedesktop.org/xorg/xserver/plain/include/xwayland-config.h.meson.in?id=xorg-server-1.20.0 source = xserver-autobind-hotplug.patch source = 0001-v2-FS-58644.patch - source = 0001-fix-libshadow-2.patch + source = 0002-fix-libshadow-2.patch + source = 0003_Use_PictureMatchFormat_for_source-only_picture_format.diff source = xserver-1-2-glamor-Always-return-0-from-glamor_fds_from_pixmap-on-error.patch source = xserver-2-2-glamor-Propagate-glamor_fds_from_pixmap-error-in-glamor_fd_from_pixmap.patch + source = meson-Add-configuration-of-listening-on-tcp-unix-and-local.patch + source = xserver-modesetting-use-drmmode_bo_import-for-rotate_fb.patch + source = 0001-Xext-shm-Refuse-to-work-for-remote-clients.patch source = xvfb-run source = xvfb-run.1 source = freedesktop-bug-865.patch @@ -58,8 +62,12 @@ pkgbase = xorg-server-bug865 sha512sums = d84f4d63a502b7af76ea49944d1b21e2030dfd250ac1e82878935cf631973310ac9ba1f0dfedf10980ec6c7431d61b7daa4b7bbaae9ee477b2c19812c1661a22 sha512sums = 74e1aa0c101e42f0f25349d305641873b3a79ab3b9bb2d4ed68ba8e392b4db2701fcbc35826531ee2667d3ee55673e4b4fecc2a9f088141af29ceb400f72f363 sha512sums = 0c7f7e43a2ba2372509f4a35e33a8a87a2e631c7e630c9c7c67ecaad00453b52c31d9dc26d1852ecd2fe1cb8c02cb716c1f39a4723473c38a0ef6e559bead271 + sha512sums = afe5c58d86089f02d4f3b7d0e6912cd3d75a17522b40e9cd7d4c69611740174884de3455940c6a565ffaad0f4e7e4f7ebeab72b79e8c6ef15da57418fbedcf0d sha512sums = a8f65ca23ae52865147bdc1bc059b1265ba4bc61527992cf054fe76a0396ef5dfd2386782be371e926184a63def3be7333bb37fc429627d4e6fa159d263f40f7 sha512sums = fc259a0a4acb7b70209fc599b0f4bc94942316bbc8c6995f783026b7cd455900bcb7527615d76c99bd2e0155e0035cbd619939a1f7ddf3af32ed854afe45b631 + sha512sums = 1990daa38f2eba161ecc2f310711af85e3d76c78ca45e002dff3697da2f8a2dc53d9371b1e7e55be80a002ef9cb095c6675e19021f270d06cf2b4ea728407aea + sha512sums = e6339cb1c41e26a43caae7f3e991e9f528000676c29f5bc5a29c99bab2a5f5529efba2b9226a63d138700e6228b234eccd2982d40052b4ee41cfdff96dcc1521 + sha512sums = 8192f5ace7cb3780afaf06211c8a294fc3a1de27884432670f96a1f1cb0354e01a61a9e599097c9ac660b171f97f75632a7ef799df9df817425466ba5fb3c4f0 sha512sums = 55bbf520333f6e818b0125b37179a7039b69a0d3d2242b80a08da003d94cbf6c1fb912d880abcce318a85d7947e3eff8fbc4cdf57d7118572e8ebc56c4569af6 sha512sums = de5e2cb3c6825e6cf1f07ca0d52423e17f34d70ec7935e9dd24be5fb9883bf1e03b50ff584931bd3b41095c510ab2aa44d2573fd5feaebdcb59363b65607ff22 sha512sums = 81be7b0ecd9de850f0c740762d37c7489f12b34eb6adb19b3d3077f66d66e48e1206eff4bd29e50f5640509390a08fa138a4664b60d90878d4d17cb1f6919baf @@ -83,7 +91,7 @@ pkgname = xorg-server-bug865 provides = X-ABI-XINPUT_VERSION=24.1 provides = X-ABI-EXTENSION_VERSION=10.0 provides = x-server - provides = xorg-server=1.20 + provides = xorg-server=1.20.0 conflicts = nvidia-utils<=331.20 conflicts = glamor-egl conflicts = xf86-video-modesetting diff --git a/0001-Xext-shm-Refuse-to-work-for-remote-clients.patch b/0001-Xext-shm-Refuse-to-work-for-remote-clients.patch new file mode 100644 index 000000000000..849d64e44ec6 --- /dev/null +++ b/0001-Xext-shm-Refuse-to-work-for-remote-clients.patch @@ -0,0 +1,60 @@ +From ec7e2b54c5b4a34b2a077082967bc3ead30e227e Mon Sep 17 00:00:00 2001 +From: Alexander Volkov <a.volkov@rusbitech.ru> +Date: Tue, 5 Jun 2018 13:05:39 +0300 +Subject: [PATCH] Xext/shm: Refuse to work for remote clients + +Avoid access to System V shared memory segment on the X server side +for clients forwarded via SSH. Also prevent them from hanging while +waiting for the reply from the ShmCreateSegment request. + +v2: Allow ShmQueryVersion request even for remote clients + +Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=11080 +Signed-off-by: Alexander Volkov <a.volkov@rusbitech.ru> +Reviewed-by: Adam Jackson <ajax@redhat.com> +Signed-off-by: Laurent Carlier <lordheavym@gmail.com> +--- + Xext/shm.c | 18 ++++++++++++++---- + 1 file changed, 14 insertions(+), 4 deletions(-) + +diff --git a/Xext/shm.c b/Xext/shm.c +index fc8441c..896a966 100644 +--- a/Xext/shm.c ++++ b/Xext/shm.c +@@ -1302,9 +1302,14 @@ static int + ProcShmDispatch(ClientPtr client) + { + REQUEST(xReq); +- switch (stuff->data) { +- case X_ShmQueryVersion: ++ ++ if (stuff->data == X_ShmQueryVersion) + return ProcShmQueryVersion(client); ++ ++ if (!client->local) ++ return BadRequest; ++ ++ switch (stuff->data) { + case X_ShmAttach: + return ProcShmAttach(client); + case X_ShmDetach: +@@ -1461,9 +1466,14 @@ static int _X_COLD + SProcShmDispatch(ClientPtr client) + { + REQUEST(xReq); +- switch (stuff->data) { +- case X_ShmQueryVersion: ++ ++ if (stuff->data == X_ShmQueryVersion) + return SProcShmQueryVersion(client); ++ ++ if (!client->local) ++ return BadRequest; ++ ++ switch (stuff->data) { + case X_ShmAttach: + return SProcShmAttach(client); + case X_ShmDetach: +-- +2.17.1 + diff --git a/0001-fix-libshadow-2.patch b/0002-fix-libshadow-2.patch index 8f6834d62792..8f6834d62792 100644 --- a/0001-fix-libshadow-2.patch +++ b/0002-fix-libshadow-2.patch diff --git a/0003_Use_PictureMatchFormat_for_source-only_picture_format.diff b/0003_Use_PictureMatchFormat_for_source-only_picture_format.diff new file mode 100644 index 000000000000..c75252e42149 --- /dev/null +++ b/0003_Use_PictureMatchFormat_for_source-only_picture_format.diff @@ -0,0 +1,34 @@ +From 3ebef6ab850675e1091df2125ebdfbb147436e6c Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Michel=20D=C3=A4nzer?= <michel.daenzer@amd.com> +Date: Fri, 1 Jun 2018 11:57:15 +0200 +Subject: exa: Use PictureMatchFormat for source-only picture format + description + +Their pFormat member is NULL, which resulted in a crash in +miRenderColorToPixel. + +Fixes: 8171d4c2d67b "render: Store and use all 16bpc of precision for + solid pixels (v2.1)" +Reviewed-by: Adam Jackson <ajax@redhat.com> +--- + exa/exa_render.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/exa/exa_render.c b/exa/exa_render.c +index 50a9a65..9fbfdfc 100644 +--- a/exa/exa_render.c ++++ b/exa/exa_render.c +@@ -291,7 +291,8 @@ exaTryDriverSolidFill(PicturePtr pSrc, + pixel = exaGetPixmapFirstPixel(pSrcPix); + } + else +- miRenderColorToPixel(pSrc->pFormat, ++ miRenderColorToPixel(PictureMatchFormat(pDst->pDrawable->pScreen, 32, ++ pSrc->format), + &pSrc->pSourcePict->solidFill.fullcolor, + &pixel); + +-- +cgit v1.1 + + @@ -5,7 +5,7 @@ pkgbase=xorg-server-bug865 pkgname=xorg-server-bug865 pkgver=1.20.0 -pkgrel=6 +pkgrel=9 arch=('x86_64') license=('custom') groups=('xorg') @@ -20,9 +20,13 @@ source=(https://xorg.freedesktop.org/releases/individual/xserver/xorg-server-${p 'xwayland-config.h.meson.in::https://cgit.freedesktop.org/xorg/xserver/plain/include/xwayland-config.h.meson.in?id=xorg-server-1.20.0' xserver-autobind-hotplug.patch 0001-v2-FS-58644.patch - 0001-fix-libshadow-2.patch + 0002-fix-libshadow-2.patch + 0003_Use_PictureMatchFormat_for_source-only_picture_format.diff xserver-1-2-glamor-Always-return-0-from-glamor_fds_from_pixmap-on-error.patch xserver-2-2-glamor-Propagate-glamor_fds_from_pixmap-error-in-glamor_fd_from_pixmap.patch + meson-Add-configuration-of-listening-on-tcp-unix-and-local.patch + xserver-modesetting-use-drmmode_bo_import-for-rotate_fb.patch + 0001-Xext-shm-Refuse-to-work-for-remote-clients.patch xvfb-run # with updates from FC master xvfb-run.1 freedesktop-bug-865.patch) @@ -36,8 +40,12 @@ sha512sums=('1489e8511c9da682ef0460182dfeeddd241c72d4ef4d206d9706f1e39572c09953d 'd84f4d63a502b7af76ea49944d1b21e2030dfd250ac1e82878935cf631973310ac9ba1f0dfedf10980ec6c7431d61b7daa4b7bbaae9ee477b2c19812c1661a22' '74e1aa0c101e42f0f25349d305641873b3a79ab3b9bb2d4ed68ba8e392b4db2701fcbc35826531ee2667d3ee55673e4b4fecc2a9f088141af29ceb400f72f363' '0c7f7e43a2ba2372509f4a35e33a8a87a2e631c7e630c9c7c67ecaad00453b52c31d9dc26d1852ecd2fe1cb8c02cb716c1f39a4723473c38a0ef6e559bead271' + 'afe5c58d86089f02d4f3b7d0e6912cd3d75a17522b40e9cd7d4c69611740174884de3455940c6a565ffaad0f4e7e4f7ebeab72b79e8c6ef15da57418fbedcf0d' 'a8f65ca23ae52865147bdc1bc059b1265ba4bc61527992cf054fe76a0396ef5dfd2386782be371e926184a63def3be7333bb37fc429627d4e6fa159d263f40f7' 'fc259a0a4acb7b70209fc599b0f4bc94942316bbc8c6995f783026b7cd455900bcb7527615d76c99bd2e0155e0035cbd619939a1f7ddf3af32ed854afe45b631' + '1990daa38f2eba161ecc2f310711af85e3d76c78ca45e002dff3697da2f8a2dc53d9371b1e7e55be80a002ef9cb095c6675e19021f270d06cf2b4ea728407aea' + 'e6339cb1c41e26a43caae7f3e991e9f528000676c29f5bc5a29c99bab2a5f5529efba2b9226a63d138700e6228b234eccd2982d40052b4ee41cfdff96dcc1521' + '8192f5ace7cb3780afaf06211c8a294fc3a1de27884432670f96a1f1cb0354e01a61a9e599097c9ac660b171f97f75632a7ef799df9df817425466ba5fb3c4f0' '55bbf520333f6e818b0125b37179a7039b69a0d3d2242b80a08da003d94cbf6c1fb912d880abcce318a85d7947e3eff8fbc4cdf57d7118572e8ebc56c4569af6' 'de5e2cb3c6825e6cf1f07ca0d52423e17f34d70ec7935e9dd24be5fb9883bf1e03b50ff584931bd3b41095c510ab2aa44d2573fd5feaebdcb59363b65607ff22' '81be7b0ecd9de850f0c740762d37c7489f12b34eb6adb19b3d3077f66d66e48e1206eff4bd29e50f5640509390a08fa138a4664b60d90878d4d17cb1f6919baf') @@ -62,7 +70,19 @@ prepare() { # Fix libshadow.so: libfb.so => not found - FS#58731 # https://bugs.freedesktop.org/show_bug.cgi?id=106656 - patch -Np1 -i ../0001-fix-libshadow-2.patch + patch -Np1 -i ../0002-fix-libshadow-2.patch + + # FS#58662 + patch -Np1 -i ../0003_Use_PictureMatchFormat_for_source-only_picture_format.diff + + # Display incorrect when rotated 90 degree - FS#58637 + patch -Np1 -i ../xserver-modesetting-use-drmmode_bo_import-for-rotate_fb.patch + + # xserver by default listens on tcp sockets - FS#59025 + patch -Np1 -i ../meson-Add-configuration-of-listening-on-tcp-unix-and-local.patch + + # SSH X11 forwarding no longer works for Qt apps - FS#58962 + patch -Np1 -i ../0001-Xext-shm-Refuse-to-work-for-remote-clients.patch # The patch for freedesktop bug 865 patch -Np1 -i "${srcdir}/freedesktop-bug-865.patch" @@ -118,7 +138,7 @@ package_xorg-server-bug865() { libpciaccess libdrm libxshmfence) # FS#52949 # see xorg-server-*/hw/xfree86/common/xf86Module.h for ABI versions - we provide major numbers that drivers can depend on # and /usr/lib/pkgconfig/xorg-server.pc in xorg-server-devel pkg - provides=('X-ABI-VIDEODRV_VERSION=24.0' 'X-ABI-XINPUT_VERSION=24.1' 'X-ABI-EXTENSION_VERSION=10.0' 'x-server' 'xorg-server=1.20') + provides=('X-ABI-VIDEODRV_VERSION=24.0' 'X-ABI-XINPUT_VERSION=24.1' 'X-ABI-EXTENSION_VERSION=10.0' 'x-server' 'xorg-server=1.20.0') conflicts=('nvidia-utils<=331.20' 'glamor-egl' 'xf86-video-modesetting' 'xorg-server') replaces=('glamor-egl' 'xf86-video-modesetting') install=xorg-server.install diff --git a/meson-Add-configuration-of-listening-on-tcp-unix-and-local.patch b/meson-Add-configuration-of-listening-on-tcp-unix-and-local.patch new file mode 100644 index 000000000000..f6999e9780db --- /dev/null +++ b/meson-Add-configuration-of-listening-on-tcp-unix-and-local.patch @@ -0,0 +1,36 @@ +diff --git a/include/meson.build b/include/meson.build +index f76f557..dfca3c3 100644 +--- a/include/meson.build ++++ b/include/meson.build +@@ -153,10 +153,10 @@ conf_data.set('BUSFAULT', conf_data.get('HAVE_SIGACTION')) + conf_data.set('_XTYPEDEF_POINTER', '1') + conf_data.set('_XITYPEDEF_POINTER', '1') + ++conf_data.set('LISTEN_TCP', get_option('listen_tcp')) ++conf_data.set('LISTEN_UNIX', get_option('listen_unix')) ++conf_data.set('LISTEN_LOCAL', get_option('listen_local')) + # XXX: Configurable? +-conf_data.set('LISTEN_TCP', '1') +-conf_data.set('LISTEN_UNIX', '1') +-conf_data.set('LISTEN_LOCAL', '1') + conf_data.set('XTRANS_SEND_FDS', '1') + + conf_data.set('TCPCONN', '1') +diff --git a/meson_options.txt b/meson_options.txt +index 86fca46..3453b8d 100644 +--- a/meson_options.txt ++++ b/meson_options.txt +@@ -45,6 +45,13 @@ option('vendor_name_short', type: 'string', value: 'X.Org') + option('vendor_web', type: 'string', value: 'http://wiki.x.org') + option('os_vendor', type: 'string', value: '') + ++option('listen_tcp', type: 'boolean', value: false, ++ description: 'Listen on TCP by default') ++option('listen_unix', type: 'boolean', value: true, ++ description: 'Listen on Unix by default') ++option('listen_local', type: 'boolean', value: true, ++ description: 'Listen on local by default') ++ + option('int10', type: 'combo', choices: ['stub', 'x86emu', 'vm86', 'auto', 'false'], + value: 'auto', + description: 'Xorg int10 backend (default: usually x86emu)') diff --git a/xserver-modesetting-use-drmmode_bo_import-for-rotate_fb.patch b/xserver-modesetting-use-drmmode_bo_import-for-rotate_fb.patch new file mode 100644 index 000000000000..5913e449643b --- /dev/null +++ b/xserver-modesetting-use-drmmode_bo_import-for-rotate_fb.patch @@ -0,0 +1,18 @@ +diff --git a/hw/xfree86/drivers/modesetting/drmmode_display.c b/hw/xfree86/drivers/modesetting/drmmode_display.c +index 859a21a9d..ec11b3f56 100644 +--- a/hw/xfree86/drivers/modesetting/drmmode_display.c ++++ b/hw/xfree86/drivers/modesetting/drmmode_display.c +@@ -1794,11 +1794,8 @@ drmmode_shadow_allocate(xf86CrtcPtr crtc, int width, int height) + return NULL; + } + +- ret = drmModeAddFB(drmmode->fd, width, height, crtc->scrn->depth, +- drmmode->kbpp, +- drmmode_bo_get_pitch(&drmmode_crtc->rotate_bo), +- drmmode_bo_get_handle(&drmmode_crtc->rotate_bo), +- &drmmode_crtc->rotate_fb_id); ++ ret = drmmode_bo_import(drmmode, &drmmode_crtc->rotate_bo, ++ &drmmode_crtc->rotate_fb_id); + + if (ret) { + ErrorF("failed to add rotate fb\n"); |