summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorkyak2018-06-23 08:52:38 +0300
committerkyak2018-06-23 08:52:38 +0300
commit5d9c027edfbebaaf1eb3266f1ada5985f13b2a96 (patch)
tree73b307694b5cef7bc7ccd08a3c0ad9e5f4b3d81e
parent76baa8e6be1759b7ce9bbbb23f74dcba3342ea2d (diff)
downloadaur-5d9c027edfbebaaf1eb3266f1ada5985f13b2a96.tar.gz
upgpkg: xorg-server 1.20.0-9
-rw-r--r--.SRCINFO14
-rw-r--r--0001-Xext-shm-Refuse-to-work-for-remote-clients.patch60
-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.diff34
-rw-r--r--PKGBUILD28
-rw-r--r--meson-Add-configuration-of-listening-on-tcp-unix-and-local.patch36
-rw-r--r--xserver-modesetting-use-drmmode_bo_import-for-rotate_fb.patch18
7 files changed, 183 insertions, 7 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 8f7e9a1f1deb..b08c0a673619 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -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
+
+
diff --git a/PKGBUILD b/PKGBUILD
index f3335ec7fbf0..304ac796c3f1 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -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");