summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJussi Kukkonen <jussi.kukkonen@intel.com>2015-05-07 10:39:19 (GMT)
committerRichard Purdie <richard.purdie@linuxfoundation.org>2015-06-03 15:38:48 (GMT)
commitf63e9b30eaa8107b8f66e3c118bd4d24185bf662 (patch)
treea4242770122a182f599be706adc364ea1e119372
parent0420f7f47818d96964d48fd1309cea5f341432ed (diff)
downloadpoky-f63e9b30eaa8107b8f66e3c118bd4d24185bf662.tar.gz
xserver-xorg: Upgrade 1.16.3 -> 1.17.1 (OELAYOUT_ABI change)
* Increase OELAYOUT_ABI: this is required because the xf86-video-modesetting package moves from its own recipe to xserver-xorg and sanity check cannot handle that currently. The upgrade will delete old xf86-video-modesetting files from sysroots. * Remove upstreamed xserver-xorg patches * Remove xf86-video-modesetting recipe: the driver is now included in xserver-xorg recipe, which now produces the xf86-video-modesetting package. The package version changes from 0.9 to 1.17.1 * Update xserver-xorg license checksum: modesetting license info (another MIT one) has been added to the file (From OE-Core rev: 950846d019ffac21909a96d90af8cf7e5bdd5738) Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/classes/sanity.bbclass6
-rw-r--r--meta/conf/abi_version.conf2
-rw-r--r--meta/recipes-graphics/xorg-driver/xf86-video-modesetting_0.9.0.bb8
-rw-r--r--meta/recipes-graphics/xorg-xserver/xserver-xorg.inc9
-rw-r--r--meta/recipes-graphics/xorg-xserver/xserver-xorg/0001-xkb-Check-strings-length-against-request-size.patch145
-rw-r--r--meta/recipes-graphics/xorg-xserver/xserver-xorg/0001-xkb-Don-t-swap-XkbSetGeometry-data-in-the-input-buff.patch109
-rw-r--r--meta/recipes-graphics/xorg-xserver/xserver-xorg/Fix-subwindow-in-Xi-emulated-events.patch41
-rw-r--r--meta/recipes-graphics/xorg-xserver/xserver-xorg/xshmfence-option.patch57
-rw-r--r--meta/recipes-graphics/xorg-xserver/xserver-xorg_1.17.1.bb (renamed from meta/recipes-graphics/xorg-xserver/xserver-xorg_1.16.3.bb)8
9 files changed, 16 insertions, 369 deletions
diff --git a/meta/classes/sanity.bbclass b/meta/classes/sanity.bbclass
index 32e9b82..6983037 100644
--- a/meta/classes/sanity.bbclass
+++ b/meta/classes/sanity.bbclass
@@ -536,6 +536,12 @@ def sanity_handle_abichanges(status, d):
536 sstate_clean_manifest(f, d) 536 sstate_clean_manifest(f, d)
537 with open(abifile, "w") as f: 537 with open(abifile, "w") as f:
538 f.write(current_abi) 538 f.write(current_abi)
539 elif abi == "10" and current_abi == "11":
540 bb.note("Converting staging layout from version 10 to layout version 11")
541 # Files in xf86-video-modesetting moved to xserver-xorg and bitbake can't currently handle that:
542 subprocess.call(d.expand("rm ${TMPDIR}/sysroots/*/usr/lib/xorg/modules/drivers/modesetting_drv.so ${TMPDIR}/sysroots/*/pkgdata/runtime/xf86-video-modesetting* ${TMPDIR}/sysroots/*/pkgdata/runtime-reverse/xf86-video-modesetting* ${TMPDIR}/sysroots/*/pkgdata/shlibs2/xf86-video-modesetting*"), shell=True)
543 with open(abifile, "w") as f:
544 f.write(current_abi)
539 elif (abi != current_abi): 545 elif (abi != current_abi):
540 # Code to convert from one ABI to another could go here if possible. 546 # Code to convert from one ABI to another could go here if possible.
541 status.addresult("Error, TMPDIR has changed its layout version number (%s to %s) and you need to either rebuild, revert or adjust it at your own risk.\n" % (abi, current_abi)) 547 status.addresult("Error, TMPDIR has changed its layout version number (%s to %s) and you need to either rebuild, revert or adjust it at your own risk.\n" % (abi, current_abi))
diff --git a/meta/conf/abi_version.conf b/meta/conf/abi_version.conf
index 2867850..a829687 100644
--- a/meta/conf/abi_version.conf
+++ b/meta/conf/abi_version.conf
@@ -4,4 +4,4 @@
4# that breaks the format and have been previously discussed on the mailing list 4# that breaks the format and have been previously discussed on the mailing list
5# with general agreement from the core team. 5# with general agreement from the core team.
6# 6#
7OELAYOUT_ABI = "10" 7OELAYOUT_ABI = "11"
diff --git a/meta/recipes-graphics/xorg-driver/xf86-video-modesetting_0.9.0.bb b/meta/recipes-graphics/xorg-driver/xf86-video-modesetting_0.9.0.bb
deleted file mode 100644
index b220787..0000000
--- a/meta/recipes-graphics/xorg-driver/xf86-video-modesetting_0.9.0.bb
+++ /dev/null
@@ -1,8 +0,0 @@
1require xorg-driver-video.inc
2LIC_FILES_CHKSUM = "file://COPYING;md5=5e53d3fcadb1c23d122ad63cb099a918"
3
4SUMMARY = "X.Org X server -- modesetting display driver"
5DESCRIPTION = "Provides a generic kernel modesetting display driver for the X.Org X server."
6
7SRC_URI[md5sum] = "da588d4f54111c2deae035998058ce10"
8SRC_URI[sha256sum] = "90cf085573203dfadd48ea69bd694c4d04ccbe088b6855e9c85c34bb8a95d75c"
diff --git a/meta/recipes-graphics/xorg-xserver/xserver-xorg.inc b/meta/recipes-graphics/xorg-xserver/xserver-xorg.inc
index cc95da6..04289f8 100644
--- a/meta/recipes-graphics/xorg-xserver/xserver-xorg.inc
+++ b/meta/recipes-graphics/xorg-xserver/xserver-xorg.inc
@@ -2,7 +2,7 @@ SUMMARY = "The X.Org X server"
2HOMEPAGE = "http://www.x.org" 2HOMEPAGE = "http://www.x.org"
3SECTION = "x11/base" 3SECTION = "x11/base"
4LICENSE = "MIT-X" 4LICENSE = "MIT-X"
5LIC_FILES_CHKSUM = "file://COPYING;md5=15b5bf9327341c81089137aec4830bfd" 5LIC_FILES_CHKSUM = "file://COPYING;md5=5df87950af51ac2c5822094553ea1880"
6 6
7# xf86-*-* packages depend on an X server built with the xfree86 DDX 7# xf86-*-* packages depend on an X server built with the xfree86 DDX
8# so we have a virtual to represent that: 8# so we have a virtual to represent that:
@@ -63,7 +63,11 @@ PACKAGES =+ "${PN}-security-policy \
63 ${PN}-module-exa \ 63 ${PN}-module-exa \
64 ${PN}-module-xaa \ 64 ${PN}-module-xaa \
65 ${PN}-module-libxf1bpp \ 65 ${PN}-module-libxf1bpp \
66 ${PN}-module-libxf4bpp" 66 ${PN}-module-libxf4bpp \
67 xf86-video-modesetting"
68
69SUMMARY_xf86-video-modesetting = "X.Org X server -- modesetting display driver"
70INSANE_SKIP_xf86-video-modesetting = "xorg-driver-abi"
67 71
68RRECOMMENDS_${PN} += "${PN}-security-policy xkeyboard-config rgb xserver-xf86-config xkbcomp" 72RRECOMMENDS_${PN} += "${PN}-security-policy xkeyboard-config rgb xserver-xf86-config xkbcomp"
69RDEPENDS_${PN}-xvfb += "xkeyboard-config" 73RDEPENDS_${PN}-xvfb += "xkeyboard-config"
@@ -99,6 +103,7 @@ FILES_${PN}-module-exa = "${libdir}/xorg/modules/libexa.so"
99FILES_${PN}-module-xaa = "${libdir}/xorg/modules/libxaa.so" 103FILES_${PN}-module-xaa = "${libdir}/xorg/modules/libxaa.so"
100FILES_${PN}-module-libxf1bpp = "${libdir}/xorg/modules/libxf1bpp.so" 104FILES_${PN}-module-libxf1bpp = "${libdir}/xorg/modules/libxf1bpp.so"
101FILES_${PN}-module-libxf4bpp = "${libdir}/xorg/modules/libxf4bpp.so" 105FILES_${PN}-module-libxf4bpp = "${libdir}/xorg/modules/libxf4bpp.so"
106FILES_xf86-video-modesetting = "${libdir}/xorg/modules/drivers/modesetting_drv.so"
102 107
103EXTRA_OECONF += "--with-fop=no \ 108EXTRA_OECONF += "--with-fop=no \
104 --with-pic \ 109 --with-pic \
diff --git a/meta/recipes-graphics/xorg-xserver/xserver-xorg/0001-xkb-Check-strings-length-against-request-size.patch b/meta/recipes-graphics/xorg-xserver/xserver-xorg/0001-xkb-Check-strings-length-against-request-size.patch
deleted file mode 100644
index b0e2bca..0000000
--- a/meta/recipes-graphics/xorg-xserver/xserver-xorg/0001-xkb-Check-strings-length-against-request-size.patch
+++ /dev/null
@@ -1,145 +0,0 @@
1From 20079c36cf7d377938ca5478447d8b9045cb7d43 Mon Sep 17 00:00:00 2001
2From: Olivier Fourdan <ofourdan@redhat.com>
3Date: Fri, 16 Jan 2015 08:44:45 +0100
4Subject: [PATCH] xkb: Check strings length against request size
5
6Ensure that the given strings length in an XkbSetGeometry request remain
7within the limits of the size of the request.
8
9Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
10Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
11Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
12
13Upstream-Status: backport
14
15Signed-off-by: Li Zhou <li.zhou@windriver.com>
16---
17 xkb/xkb.c | 65 +++++++++++++++++++++++++++++++++++++------------------------
18 1 file changed, 40 insertions(+), 25 deletions(-)
19
20diff --git a/xkb/xkb.c b/xkb/xkb.c
21index b9a3ac4..f3988f9 100644
22--- a/xkb/xkb.c
23+++ b/xkb/xkb.c
24@@ -4957,25 +4957,29 @@ ProcXkbGetGeometry(ClientPtr client)
25
26 /***====================================================================***/
27
28-static char *
29-_GetCountedString(char **wire_inout, Bool swap)
30+static Status
31+_GetCountedString(char **wire_inout, ClientPtr client, char **str)
32 {
33- char *wire, *str;
34+ char *wire, *next;
35 CARD16 len;
36
37 wire = *wire_inout;
38 len = *(CARD16 *) wire;
39- if (swap) {
40+ if (client->swapped) {
41 swaps(&len);
42 }
43- str = malloc(len + 1);
44- if (str) {
45- memcpy(str, &wire[2], len);
46- str[len] = '\0';
47- }
48- wire += XkbPaddedSize(len + 2);
49- *wire_inout = wire;
50- return str;
51+ next = wire + XkbPaddedSize(len + 2);
52+ /* Check we're still within the size of the request */
53+ if (client->req_len <
54+ bytes_to_int32(next - (char *) client->requestBuffer))
55+ return BadValue;
56+ *str = malloc(len + 1);
57+ if (!*str)
58+ return BadAlloc;
59+ memcpy(*str, &wire[2], len);
60+ *(*str + len) = '\0';
61+ *wire_inout = next;
62+ return Success;
63 }
64
65 static Status
66@@ -4987,6 +4991,7 @@ _CheckSetDoodad(char **wire_inout,
67 xkbAnyDoodadWireDesc any;
68 xkbTextDoodadWireDesc text;
69 XkbDoodadPtr doodad;
70+ Status status;
71
72 dWire = (xkbDoodadWireDesc *) (*wire_inout);
73 any = dWire->any;
74@@ -5036,8 +5041,14 @@ _CheckSetDoodad(char **wire_inout,
75 doodad->text.width = text.width;
76 doodad->text.height = text.height;
77 doodad->text.color_ndx = dWire->text.colorNdx;
78- doodad->text.text = _GetCountedString(&wire, client->swapped);
79- doodad->text.font = _GetCountedString(&wire, client->swapped);
80+ status = _GetCountedString(&wire, client, &doodad->text.text);
81+ if (status != Success)
82+ return status;
83+ status = _GetCountedString(&wire, client, &doodad->text.font);
84+ if (status != Success) {
85+ free (doodad->text.text);
86+ return status;
87+ }
88 break;
89 case XkbIndicatorDoodad:
90 if (dWire->indicator.onColorNdx >= geom->num_colors) {
91@@ -5072,7 +5083,9 @@ _CheckSetDoodad(char **wire_inout,
92 }
93 doodad->logo.color_ndx = dWire->logo.colorNdx;
94 doodad->logo.shape_ndx = dWire->logo.shapeNdx;
95- doodad->logo.logo_name = _GetCountedString(&wire, client->swapped);
96+ status = _GetCountedString(&wire, client, &doodad->logo.logo_name);
97+ if (status != Success)
98+ return status;
99 break;
100 default:
101 client->errorValue = _XkbErrCode2(0x4F, dWire->any.type);
102@@ -5304,18 +5317,20 @@ _CheckSetGeom(XkbGeometryPtr geom, xkbSetGeometryReq * req, ClientPtr client)
103 char *wire;
104
105 wire = (char *) &req[1];
106- geom->label_font = _GetCountedString(&wire, client->swapped);
107+ status = _GetCountedString(&wire, client, &geom->label_font);
108+ if (status != Success)
109+ return status;
110
111 for (i = 0; i < req->nProperties; i++) {
112 char *name, *val;
113
114- name = _GetCountedString(&wire, client->swapped);
115- if (!name)
116- return BadAlloc;
117- val = _GetCountedString(&wire, client->swapped);
118- if (!val) {
119+ status = _GetCountedString(&wire, client, &name);
120+ if (status != Success)
121+ return status;
122+ status = _GetCountedString(&wire, client, &val);
123+ if (status != Success) {
124 free(name);
125- return BadAlloc;
126+ return status;
127 }
128 if (XkbAddGeomProperty(geom, name, val) == NULL) {
129 free(name);
130@@ -5349,9 +5364,9 @@ _CheckSetGeom(XkbGeometryPtr geom, xkbSetGeometryReq * req, ClientPtr client)
131 for (i = 0; i < req->nColors; i++) {
132 char *name;
133
134- name = _GetCountedString(&wire, client->swapped);
135- if (!name)
136- return BadAlloc;
137+ status = _GetCountedString(&wire, client, &name);
138+ if (status != Success)
139+ return status;
140 if (!XkbAddGeomColor(geom, name, geom->num_colors)) {
141 free(name);
142 return BadAlloc;
143--
1441.7.9.5
145
diff --git a/meta/recipes-graphics/xorg-xserver/xserver-xorg/0001-xkb-Don-t-swap-XkbSetGeometry-data-in-the-input-buff.patch b/meta/recipes-graphics/xorg-xserver/xserver-xorg/0001-xkb-Don-t-swap-XkbSetGeometry-data-in-the-input-buff.patch
deleted file mode 100644
index c841dbe..0000000
--- a/meta/recipes-graphics/xorg-xserver/xserver-xorg/0001-xkb-Don-t-swap-XkbSetGeometry-data-in-the-input-buff.patch
+++ /dev/null
@@ -1,109 +0,0 @@
1From 81c90dc8f0aae3b65730409b1b615b5fa7280ebd Mon Sep 17 00:00:00 2001
2From: Olivier Fourdan <ofourdan@redhat.com>
3Date: Fri, 16 Jan 2015 20:08:59 +0100
4Subject: [PATCH] xkb: Don't swap XkbSetGeometry data in the input buffer
5
6The XkbSetGeometry request embeds data which needs to be swapped when the
7server and the client have different endianess.
8
9_XkbSetGeometry() invokes functions that swap these data directly in the
10input buffer.
11
12However, ProcXkbSetGeometry() may call _XkbSetGeometry() more than once
13(if there is more than one keyboard), thus causing on swapped clients the
14same data to be swapped twice in memory, further causing a server crash
15because the strings lengths on the second time are way off bounds.
16
17To allow _XkbSetGeometry() to run reliably more than once with swapped
18clients, do not swap the data in the buffer, use variables instead.
19
20Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
21Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
22
23Upstream-Status: backport
24
25Signed-off-by: Li Zhou <li.zhou@windriver.com>
26---
27 xkb/xkb.c | 35 +++++++++++++++++++----------------
28 1 file changed, 19 insertions(+), 16 deletions(-)
29
30diff --git a/xkb/xkb.c b/xkb/xkb.c
31index 15c7f34..b9a3ac4 100644
32--- a/xkb/xkb.c
33+++ b/xkb/xkb.c
34@@ -4961,14 +4961,13 @@ static char *
35 _GetCountedString(char **wire_inout, Bool swap)
36 {
37 char *wire, *str;
38- CARD16 len, *plen;
39+ CARD16 len;
40
41 wire = *wire_inout;
42- plen = (CARD16 *) wire;
43+ len = *(CARD16 *) wire;
44 if (swap) {
45- swaps(plen);
46+ swaps(&len);
47 }
48- len = *plen;
49 str = malloc(len + 1);
50 if (str) {
51 memcpy(str, &wire[2], len);
52@@ -4985,25 +4984,28 @@ _CheckSetDoodad(char **wire_inout,
53 {
54 char *wire;
55 xkbDoodadWireDesc *dWire;
56+ xkbAnyDoodadWireDesc any;
57+ xkbTextDoodadWireDesc text;
58 XkbDoodadPtr doodad;
59
60 dWire = (xkbDoodadWireDesc *) (*wire_inout);
61+ any = dWire->any;
62 wire = (char *) &dWire[1];
63 if (client->swapped) {
64- swapl(&dWire->any.name);
65- swaps(&dWire->any.top);
66- swaps(&dWire->any.left);
67- swaps(&dWire->any.angle);
68+ swapl(&any.name);
69+ swaps(&any.top);
70+ swaps(&any.left);
71+ swaps(&any.angle);
72 }
73 CHK_ATOM_ONLY(dWire->any.name);
74- doodad = XkbAddGeomDoodad(geom, section, dWire->any.name);
75+ doodad = XkbAddGeomDoodad(geom, section, any.name);
76 if (!doodad)
77 return BadAlloc;
78 doodad->any.type = dWire->any.type;
79 doodad->any.priority = dWire->any.priority;
80- doodad->any.top = dWire->any.top;
81- doodad->any.left = dWire->any.left;
82- doodad->any.angle = dWire->any.angle;
83+ doodad->any.top = any.top;
84+ doodad->any.left = any.left;
85+ doodad->any.angle = any.angle;
86 switch (doodad->any.type) {
87 case XkbOutlineDoodad:
88 case XkbSolidDoodad:
89@@ -5026,12 +5028,13 @@ _CheckSetDoodad(char **wire_inout,
90 dWire->text.colorNdx);
91 return BadMatch;
92 }
93+ text = dWire->text;
94 if (client->swapped) {
95- swaps(&dWire->text.width);
96- swaps(&dWire->text.height);
97+ swaps(&text.width);
98+ swaps(&text.height);
99 }
100- doodad->text.width = dWire->text.width;
101- doodad->text.height = dWire->text.height;
102+ doodad->text.width = text.width;
103+ doodad->text.height = text.height;
104 doodad->text.color_ndx = dWire->text.colorNdx;
105 doodad->text.text = _GetCountedString(&wire, client->swapped);
106 doodad->text.font = _GetCountedString(&wire, client->swapped);
107--
1081.7.9.5
109
diff --git a/meta/recipes-graphics/xorg-xserver/xserver-xorg/Fix-subwindow-in-Xi-emulated-events.patch b/meta/recipes-graphics/xorg-xserver/xserver-xorg/Fix-subwindow-in-Xi-emulated-events.patch
deleted file mode 100644
index 604d23a..0000000
--- a/meta/recipes-graphics/xorg-xserver/xserver-xorg/Fix-subwindow-in-Xi-emulated-events.patch
+++ /dev/null
@@ -1,41 +0,0 @@
1From db424318d0bb29cbcdf3a07fcc2e023586f1219f Mon Sep 17 00:00:00 2001
2From: Olivier Fourdan <fourdan@xfce.org>
3Date: Fri, 2 Jan 2015 18:50:17 +0100
4Subject: [PATCH] Fix subwindow in Xi emulated events
5
6Bug: 70790
7Upstream status: Submitted
8 https://bugs.freedesktop.org/show_bug.cgi?id=70790
9
10Signed-off-by: Olivier Fourdan <fourdan@xfce.org>
11---
12 Xi/exevents.c | 5 +++--
13 1 file changed, 3 insertions(+), 2 deletions(-)
14
15diff --git a/Xi/exevents.c b/Xi/exevents.c
16index b0bc47e..0857bce 100644
17--- a/Xi/exevents.c
18+++ b/Xi/exevents.c
19@@ -1403,7 +1403,7 @@ DeliverTouchEmulatedEvent(DeviceIntPtr dev, TouchPointInfoPtr ti,
20
21 if (grab->ownerEvents) {
22 WindowPtr focus = NullWindow;
23- WindowPtr sprite_win = dev->spriteInfo->sprite->win;
24+ WindowPtr sprite_win = DeepestSpriteWin(dev->spriteInfo->sprite);
25
26 deliveries = DeliverDeviceEvents(sprite_win, ptrev, grab, focus, dev);
27 }
28@@ -1429,8 +1429,9 @@ DeliverTouchEmulatedEvent(DeviceIntPtr dev, TouchPointInfoPtr ti,
29 }
30 else {
31 GrabPtr devgrab = dev->deviceGrab.grab;
32+ WindowPtr sprite_win = DeepestSpriteWin(dev->spriteInfo->sprite);
33
34- DeliverDeviceEvents(win, ptrev, grab, win, dev);
35+ DeliverDeviceEvents(sprite_win, ptrev, grab, win, dev);
36 /* FIXME: bad hack
37 * Implicit passive grab activated in response to this event. Store
38 * the event.
39--
402.1.0
41
diff --git a/meta/recipes-graphics/xorg-xserver/xserver-xorg/xshmfence-option.patch b/meta/recipes-graphics/xorg-xserver/xserver-xorg/xshmfence-option.patch
deleted file mode 100644
index 682ddf7..0000000
--- a/meta/recipes-graphics/xorg-xserver/xserver-xorg/xshmfence-option.patch
+++ /dev/null
@@ -1,57 +0,0 @@
1Upstream-Status: Submitted
2Signed-off-by: Ross Burton <ross.burton@intel.com>
3
4commit ca29a9f3e689f3840426897f58aaa3974932ae78
5Author: Ross Burton <ross.burton@intel.com>
6Date: Mon Jul 7 12:53:35 2014 +0100
7
8 configure.ac: add option for xshmfence
9
10 xshmfence is usable outside of DRI3, and is currently autodetected which isn't
11 good for distributions where deterministic builds are aspired to.
12
13 Signed-off-by: Ross Burton <ross.burton@intel.com>
14
15diff --git a/configure.ac b/configure.ac
16index c214638..a1ca9ec 100644
17--- a/configure.ac
18+++ b/configure.ac
19@@ -648,6 +648,7 @@ AC_ARG_ENABLE(kdrive-kbd, AS_HELP_STRING([--enable-kdrive-kbd], [Build kbd d
20 AC_ARG_ENABLE(kdrive-mouse, AS_HELP_STRING([--enable-kdrive-mouse], [Build mouse driver for kdrive (default: auto)]), [KDRIVE_MOUSE=$enableval], [KDRIVE_MOUSE=auto])
21 AC_ARG_ENABLE(kdrive-evdev, AS_HELP_STRING([--enable-kdrive-evdev], [Build evdev driver for kdrive (default: auto)]), [KDRIVE_EVDEV=$enableval], [KDRIVE_EVDEV=auto])
22 AC_ARG_ENABLE(libunwind, AS_HELP_STRING([--enable-libunwind], [Use libunwind for backtracing (default: auto)]), [LIBUNWIND="$enableval"], [LIBUNWIND="auto"])
23+AC_ARG_ENABLE(xshmfence, AS_HELP_STRING([--disable-xshmfence], [Disable xshmfence (default: auto)]), [WANT_XSHMFENCE="$enableval"], [WANT_XSHMFENCE="auto"])
24
25
26 dnl chown/chmod to be setuid root as part of build
27@@ -1235,18 +1236,21 @@ esac
28
29 AM_CONDITIONAL(BUSFAULT, test x"$BUSFAULT" = xyes)
30
31-PKG_CHECK_MODULES([XSHMFENCE], $XSHMFENCE,
32- [HAVE_XSHMFENCE=yes], [HAVE_XSHMFENCE=no])
33
34-AM_CONDITIONAL(XSHMFENCE, test "x$HAVE_XSHMFENCE" = xyes)
35+PKG_CHECK_MODULES([XSHMFENCE], $XSHMFENCE, [HAVE_XSHMFENCE=yes], [HAVE_XSHMFENCE=no])
36+if test "x$WANT_XSHMFENCE" = "xauto"; then
37+ WANT_XSHMFENCE="$HAVE_XSHMFENCE"
38+fi
39
40-case x"$HAVE_XSHMFENCE" in
41- xyes)
42- AC_DEFINE(HAVE_XSHMFENCE, 1, [Have X Shared Memory Fence library])
43- REQUIRED_LIBS="$REQUIRED_LIBS xshmfence"
44- ;;
45-esac
46+if test "x$WANT_XSHMFENCE" = "xyes"; then
47+ if test "x$HAVE_XSHMFENCE" != "xyes"; then
48+ AC_MSG_ERROR([xshmfence requested but not installed.])
49+ fi
50+ AC_DEFINE(HAVE_XSHMFENCE, 1, [Have xshmfence support])
51+ REQUIRED_LIBS="$REQUIRED_LIBS xshmfence"
52+fi
53
54+AM_CONDITIONAL(XSHMFENCE, [test "x$WANT_XSHMFENCE" = xyes])
55
56 case "$DRI3,$HAVE_XSHMFENCE" in
57 yes,yes | auto,yes)
diff --git a/meta/recipes-graphics/xorg-xserver/xserver-xorg_1.16.3.bb b/meta/recipes-graphics/xorg-xserver/xserver-xorg_1.17.1.bb
index 780ece0..82051b3 100644
--- a/meta/recipes-graphics/xorg-xserver/xserver-xorg_1.16.3.bb
+++ b/meta/recipes-graphics/xorg-xserver/xserver-xorg_1.17.1.bb
@@ -3,17 +3,13 @@ require xserver-xorg.inc
3# Misc build failure for master HEAD 3# Misc build failure for master HEAD
4SRC_URI += "file://fix_open_max_preprocessor_error.patch \ 4SRC_URI += "file://fix_open_max_preprocessor_error.patch \
5 file://xorg-CVE-2013-6424.patch \ 5 file://xorg-CVE-2013-6424.patch \
6 file://xshmfence-option.patch \
7 file://Fix-subwindow-in-Xi-emulated-events.patch \
8 file://xtrans.patch \ 6 file://xtrans.patch \
9 file://0001-xkb-Don-t-swap-XkbSetGeometry-data-in-the-input-buff.patch \
10 file://0001-xkb-Check-strings-length-against-request-size.patch \
11 file://0001-use-__GLIBC__-guard-for-glibc-specific-code.patch \ 7 file://0001-use-__GLIBC__-guard-for-glibc-specific-code.patch \
12 file://0001-sdksyms.sh-Make-sdksyms.sh-work-with-gcc5.patch \ 8 file://0001-sdksyms.sh-Make-sdksyms.sh-work-with-gcc5.patch \
13 " 9 "
14 10
15SRC_URI[md5sum] = "afd93977235584a9caa7528a737c1b52" 11SRC_URI[md5sum] = "5986510d59e394a50126a8e2833e79d3"
16SRC_URI[sha256sum] = "5e0f443238af1078b48f6eea98a382861b59187da221c2cf714d31c1d560b0fb" 12SRC_URI[sha256sum] = "2bf8e9f6f0a710dec1d2472467bff1f4e247cb6dcd76eb469aafdc8a2d7db2ab"
17 13
18# These extensions are now integrated into the server, so declare the migration 14# These extensions are now integrated into the server, so declare the migration
19# path for in-place upgrades. 15# path for in-place upgrades.