summaryrefslogtreecommitdiff
path: root/meta/recipes-graphics/xorg-xserver
diff options
context:
space:
mode:
authorJussi Kukkonen <jussi.kukkonen@intel.com>2015-05-07 13:39:19 +0300
committerRichard Purdie <richard.purdie@linuxfoundation.org>2015-06-03 16:36:19 +0100
commit950846d019ffac21909a96d90af8cf7e5bdd5738 (patch)
treefc4e7a193ec9c1717671e19ebc5743eae2d2ecc3 /meta/recipes-graphics/xorg-xserver
parent898b286b92b031db64c2143e81a79fbb20da481a (diff)
downloadopenembedded-core-950846d019ffac21909a96d90af8cf7e5bdd5738.tar.gz
openembedded-core-950846d019ffac21909a96d90af8cf7e5bdd5738.tar.bz2
openembedded-core-950846d019ffac21909a96d90af8cf7e5bdd5738.zip
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 Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
Diffstat (limited to 'meta/recipes-graphics/xorg-xserver')
-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
6 files changed, 9 insertions, 360 deletions
diff --git a/meta/recipes-graphics/xorg-xserver/xserver-xorg.inc b/meta/recipes-graphics/xorg-xserver/xserver-xorg.inc
index cc95da6394..04289f833e 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"
HOMEPAGE = "http://www.x.org"
SECTION = "x11/base"
LICENSE = "MIT-X"
-LIC_FILES_CHKSUM = "file://COPYING;md5=15b5bf9327341c81089137aec4830bfd"
+LIC_FILES_CHKSUM = "file://COPYING;md5=5df87950af51ac2c5822094553ea1880"
# xf86-*-* packages depend on an X server built with the xfree86 DDX
# so we have a virtual to represent that:
@@ -63,7 +63,11 @@ PACKAGES =+ "${PN}-security-policy \
${PN}-module-exa \
${PN}-module-xaa \
${PN}-module-libxf1bpp \
- ${PN}-module-libxf4bpp"
+ ${PN}-module-libxf4bpp \
+ xf86-video-modesetting"
+
+SUMMARY_xf86-video-modesetting = "X.Org X server -- modesetting display driver"
+INSANE_SKIP_xf86-video-modesetting = "xorg-driver-abi"
RRECOMMENDS_${PN} += "${PN}-security-policy xkeyboard-config rgb xserver-xf86-config xkbcomp"
RDEPENDS_${PN}-xvfb += "xkeyboard-config"
@@ -99,6 +103,7 @@ FILES_${PN}-module-exa = "${libdir}/xorg/modules/libexa.so"
FILES_${PN}-module-xaa = "${libdir}/xorg/modules/libxaa.so"
FILES_${PN}-module-libxf1bpp = "${libdir}/xorg/modules/libxf1bpp.so"
FILES_${PN}-module-libxf4bpp = "${libdir}/xorg/modules/libxf4bpp.so"
+FILES_xf86-video-modesetting = "${libdir}/xorg/modules/drivers/modesetting_drv.so"
EXTRA_OECONF += "--with-fop=no \
--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 b0e2bcad43..0000000000
--- a/meta/recipes-graphics/xorg-xserver/xserver-xorg/0001-xkb-Check-strings-length-against-request-size.patch
+++ /dev/null
@@ -1,145 +0,0 @@
-From 20079c36cf7d377938ca5478447d8b9045cb7d43 Mon Sep 17 00:00:00 2001
-From: Olivier Fourdan <ofourdan@redhat.com>
-Date: Fri, 16 Jan 2015 08:44:45 +0100
-Subject: [PATCH] xkb: Check strings length against request size
-
-Ensure that the given strings length in an XkbSetGeometry request remain
-within the limits of the size of the request.
-
-Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
-Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
-Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
-Upstream-Status: backport
-
-Signed-off-by: Li Zhou <li.zhou@windriver.com>
----
- xkb/xkb.c | 65 +++++++++++++++++++++++++++++++++++++------------------------
- 1 file changed, 40 insertions(+), 25 deletions(-)
-
-diff --git a/xkb/xkb.c b/xkb/xkb.c
-index b9a3ac4..f3988f9 100644
---- a/xkb/xkb.c
-+++ b/xkb/xkb.c
-@@ -4957,25 +4957,29 @@ ProcXkbGetGeometry(ClientPtr client)
-
- /***====================================================================***/
-
--static char *
--_GetCountedString(char **wire_inout, Bool swap)
-+static Status
-+_GetCountedString(char **wire_inout, ClientPtr client, char **str)
- {
-- char *wire, *str;
-+ char *wire, *next;
- CARD16 len;
-
- wire = *wire_inout;
- len = *(CARD16 *) wire;
-- if (swap) {
-+ if (client->swapped) {
- swaps(&len);
- }
-- str = malloc(len + 1);
-- if (str) {
-- memcpy(str, &wire[2], len);
-- str[len] = '\0';
-- }
-- wire += XkbPaddedSize(len + 2);
-- *wire_inout = wire;
-- return str;
-+ next = wire + XkbPaddedSize(len + 2);
-+ /* Check we're still within the size of the request */
-+ if (client->req_len <
-+ bytes_to_int32(next - (char *) client->requestBuffer))
-+ return BadValue;
-+ *str = malloc(len + 1);
-+ if (!*str)
-+ return BadAlloc;
-+ memcpy(*str, &wire[2], len);
-+ *(*str + len) = '\0';
-+ *wire_inout = next;
-+ return Success;
- }
-
- static Status
-@@ -4987,6 +4991,7 @@ _CheckSetDoodad(char **wire_inout,
- xkbAnyDoodadWireDesc any;
- xkbTextDoodadWireDesc text;
- XkbDoodadPtr doodad;
-+ Status status;
-
- dWire = (xkbDoodadWireDesc *) (*wire_inout);
- any = dWire->any;
-@@ -5036,8 +5041,14 @@ _CheckSetDoodad(char **wire_inout,
- doodad->text.width = text.width;
- doodad->text.height = text.height;
- doodad->text.color_ndx = dWire->text.colorNdx;
-- doodad->text.text = _GetCountedString(&wire, client->swapped);
-- doodad->text.font = _GetCountedString(&wire, client->swapped);
-+ status = _GetCountedString(&wire, client, &doodad->text.text);
-+ if (status != Success)
-+ return status;
-+ status = _GetCountedString(&wire, client, &doodad->text.font);
-+ if (status != Success) {
-+ free (doodad->text.text);
-+ return status;
-+ }
- break;
- case XkbIndicatorDoodad:
- if (dWire->indicator.onColorNdx >= geom->num_colors) {
-@@ -5072,7 +5083,9 @@ _CheckSetDoodad(char **wire_inout,
- }
- doodad->logo.color_ndx = dWire->logo.colorNdx;
- doodad->logo.shape_ndx = dWire->logo.shapeNdx;
-- doodad->logo.logo_name = _GetCountedString(&wire, client->swapped);
-+ status = _GetCountedString(&wire, client, &doodad->logo.logo_name);
-+ if (status != Success)
-+ return status;
- break;
- default:
- client->errorValue = _XkbErrCode2(0x4F, dWire->any.type);
-@@ -5304,18 +5317,20 @@ _CheckSetGeom(XkbGeometryPtr geom, xkbSetGeometryReq * req, ClientPtr client)
- char *wire;
-
- wire = (char *) &req[1];
-- geom->label_font = _GetCountedString(&wire, client->swapped);
-+ status = _GetCountedString(&wire, client, &geom->label_font);
-+ if (status != Success)
-+ return status;
-
- for (i = 0; i < req->nProperties; i++) {
- char *name, *val;
-
-- name = _GetCountedString(&wire, client->swapped);
-- if (!name)
-- return BadAlloc;
-- val = _GetCountedString(&wire, client->swapped);
-- if (!val) {
-+ status = _GetCountedString(&wire, client, &name);
-+ if (status != Success)
-+ return status;
-+ status = _GetCountedString(&wire, client, &val);
-+ if (status != Success) {
- free(name);
-- return BadAlloc;
-+ return status;
- }
- if (XkbAddGeomProperty(geom, name, val) == NULL) {
- free(name);
-@@ -5349,9 +5364,9 @@ _CheckSetGeom(XkbGeometryPtr geom, xkbSetGeometryReq * req, ClientPtr client)
- for (i = 0; i < req->nColors; i++) {
- char *name;
-
-- name = _GetCountedString(&wire, client->swapped);
-- if (!name)
-- return BadAlloc;
-+ status = _GetCountedString(&wire, client, &name);
-+ if (status != Success)
-+ return status;
- if (!XkbAddGeomColor(geom, name, geom->num_colors)) {
- free(name);
- return BadAlloc;
---
-1.7.9.5
-
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 c841dbe87e..0000000000
--- 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 @@
-From 81c90dc8f0aae3b65730409b1b615b5fa7280ebd Mon Sep 17 00:00:00 2001
-From: Olivier Fourdan <ofourdan@redhat.com>
-Date: Fri, 16 Jan 2015 20:08:59 +0100
-Subject: [PATCH] xkb: Don't swap XkbSetGeometry data in the input buffer
-
-The XkbSetGeometry request embeds data which needs to be swapped when the
-server and the client have different endianess.
-
-_XkbSetGeometry() invokes functions that swap these data directly in the
-input buffer.
-
-However, ProcXkbSetGeometry() may call _XkbSetGeometry() more than once
-(if there is more than one keyboard), thus causing on swapped clients the
-same data to be swapped twice in memory, further causing a server crash
-because the strings lengths on the second time are way off bounds.
-
-To allow _XkbSetGeometry() to run reliably more than once with swapped
-clients, do not swap the data in the buffer, use variables instead.
-
-Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
-Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
-Upstream-Status: backport
-
-Signed-off-by: Li Zhou <li.zhou@windriver.com>
----
- xkb/xkb.c | 35 +++++++++++++++++++----------------
- 1 file changed, 19 insertions(+), 16 deletions(-)
-
-diff --git a/xkb/xkb.c b/xkb/xkb.c
-index 15c7f34..b9a3ac4 100644
---- a/xkb/xkb.c
-+++ b/xkb/xkb.c
-@@ -4961,14 +4961,13 @@ static char *
- _GetCountedString(char **wire_inout, Bool swap)
- {
- char *wire, *str;
-- CARD16 len, *plen;
-+ CARD16 len;
-
- wire = *wire_inout;
-- plen = (CARD16 *) wire;
-+ len = *(CARD16 *) wire;
- if (swap) {
-- swaps(plen);
-+ swaps(&len);
- }
-- len = *plen;
- str = malloc(len + 1);
- if (str) {
- memcpy(str, &wire[2], len);
-@@ -4985,25 +4984,28 @@ _CheckSetDoodad(char **wire_inout,
- {
- char *wire;
- xkbDoodadWireDesc *dWire;
-+ xkbAnyDoodadWireDesc any;
-+ xkbTextDoodadWireDesc text;
- XkbDoodadPtr doodad;
-
- dWire = (xkbDoodadWireDesc *) (*wire_inout);
-+ any = dWire->any;
- wire = (char *) &dWire[1];
- if (client->swapped) {
-- swapl(&dWire->any.name);
-- swaps(&dWire->any.top);
-- swaps(&dWire->any.left);
-- swaps(&dWire->any.angle);
-+ swapl(&any.name);
-+ swaps(&any.top);
-+ swaps(&any.left);
-+ swaps(&any.angle);
- }
- CHK_ATOM_ONLY(dWire->any.name);
-- doodad = XkbAddGeomDoodad(geom, section, dWire->any.name);
-+ doodad = XkbAddGeomDoodad(geom, section, any.name);
- if (!doodad)
- return BadAlloc;
- doodad->any.type = dWire->any.type;
- doodad->any.priority = dWire->any.priority;
-- doodad->any.top = dWire->any.top;
-- doodad->any.left = dWire->any.left;
-- doodad->any.angle = dWire->any.angle;
-+ doodad->any.top = any.top;
-+ doodad->any.left = any.left;
-+ doodad->any.angle = any.angle;
- switch (doodad->any.type) {
- case XkbOutlineDoodad:
- case XkbSolidDoodad:
-@@ -5026,12 +5028,13 @@ _CheckSetDoodad(char **wire_inout,
- dWire->text.colorNdx);
- return BadMatch;
- }
-+ text = dWire->text;
- if (client->swapped) {
-- swaps(&dWire->text.width);
-- swaps(&dWire->text.height);
-+ swaps(&text.width);
-+ swaps(&text.height);
- }
-- doodad->text.width = dWire->text.width;
-- doodad->text.height = dWire->text.height;
-+ doodad->text.width = text.width;
-+ doodad->text.height = text.height;
- doodad->text.color_ndx = dWire->text.colorNdx;
- doodad->text.text = _GetCountedString(&wire, client->swapped);
- doodad->text.font = _GetCountedString(&wire, client->swapped);
---
-1.7.9.5
-
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 604d23a376..0000000000
--- a/meta/recipes-graphics/xorg-xserver/xserver-xorg/Fix-subwindow-in-Xi-emulated-events.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-From db424318d0bb29cbcdf3a07fcc2e023586f1219f Mon Sep 17 00:00:00 2001
-From: Olivier Fourdan <fourdan@xfce.org>
-Date: Fri, 2 Jan 2015 18:50:17 +0100
-Subject: [PATCH] Fix subwindow in Xi emulated events
-
-Bug: 70790
-Upstream status: Submitted
- https://bugs.freedesktop.org/show_bug.cgi?id=70790
-
-Signed-off-by: Olivier Fourdan <fourdan@xfce.org>
----
- Xi/exevents.c | 5 +++--
- 1 file changed, 3 insertions(+), 2 deletions(-)
-
-diff --git a/Xi/exevents.c b/Xi/exevents.c
-index b0bc47e..0857bce 100644
---- a/Xi/exevents.c
-+++ b/Xi/exevents.c
-@@ -1403,7 +1403,7 @@ DeliverTouchEmulatedEvent(DeviceIntPtr dev, TouchPointInfoPtr ti,
-
- if (grab->ownerEvents) {
- WindowPtr focus = NullWindow;
-- WindowPtr sprite_win = dev->spriteInfo->sprite->win;
-+ WindowPtr sprite_win = DeepestSpriteWin(dev->spriteInfo->sprite);
-
- deliveries = DeliverDeviceEvents(sprite_win, ptrev, grab, focus, dev);
- }
-@@ -1429,8 +1429,9 @@ DeliverTouchEmulatedEvent(DeviceIntPtr dev, TouchPointInfoPtr ti,
- }
- else {
- GrabPtr devgrab = dev->deviceGrab.grab;
-+ WindowPtr sprite_win = DeepestSpriteWin(dev->spriteInfo->sprite);
-
-- DeliverDeviceEvents(win, ptrev, grab, win, dev);
-+ DeliverDeviceEvents(sprite_win, ptrev, grab, win, dev);
- /* FIXME: bad hack
- * Implicit passive grab activated in response to this event. Store
- * the event.
---
-2.1.0
-
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 682ddf7006..0000000000
--- a/meta/recipes-graphics/xorg-xserver/xserver-xorg/xshmfence-option.patch
+++ /dev/null
@@ -1,57 +0,0 @@
-Upstream-Status: Submitted
-Signed-off-by: Ross Burton <ross.burton@intel.com>
-
-commit ca29a9f3e689f3840426897f58aaa3974932ae78
-Author: Ross Burton <ross.burton@intel.com>
-Date: Mon Jul 7 12:53:35 2014 +0100
-
- configure.ac: add option for xshmfence
-
- xshmfence is usable outside of DRI3, and is currently autodetected which isn't
- good for distributions where deterministic builds are aspired to.
-
- Signed-off-by: Ross Burton <ross.burton@intel.com>
-
-diff --git a/configure.ac b/configure.ac
-index c214638..a1ca9ec 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -648,6 +648,7 @@ AC_ARG_ENABLE(kdrive-kbd, AS_HELP_STRING([--enable-kdrive-kbd], [Build kbd d
- AC_ARG_ENABLE(kdrive-mouse, AS_HELP_STRING([--enable-kdrive-mouse], [Build mouse driver for kdrive (default: auto)]), [KDRIVE_MOUSE=$enableval], [KDRIVE_MOUSE=auto])
- AC_ARG_ENABLE(kdrive-evdev, AS_HELP_STRING([--enable-kdrive-evdev], [Build evdev driver for kdrive (default: auto)]), [KDRIVE_EVDEV=$enableval], [KDRIVE_EVDEV=auto])
- AC_ARG_ENABLE(libunwind, AS_HELP_STRING([--enable-libunwind], [Use libunwind for backtracing (default: auto)]), [LIBUNWIND="$enableval"], [LIBUNWIND="auto"])
-+AC_ARG_ENABLE(xshmfence, AS_HELP_STRING([--disable-xshmfence], [Disable xshmfence (default: auto)]), [WANT_XSHMFENCE="$enableval"], [WANT_XSHMFENCE="auto"])
-
-
- dnl chown/chmod to be setuid root as part of build
-@@ -1235,18 +1236,21 @@ esac
-
- AM_CONDITIONAL(BUSFAULT, test x"$BUSFAULT" = xyes)
-
--PKG_CHECK_MODULES([XSHMFENCE], $XSHMFENCE,
-- [HAVE_XSHMFENCE=yes], [HAVE_XSHMFENCE=no])
-
--AM_CONDITIONAL(XSHMFENCE, test "x$HAVE_XSHMFENCE" = xyes)
-+PKG_CHECK_MODULES([XSHMFENCE], $XSHMFENCE, [HAVE_XSHMFENCE=yes], [HAVE_XSHMFENCE=no])
-+if test "x$WANT_XSHMFENCE" = "xauto"; then
-+ WANT_XSHMFENCE="$HAVE_XSHMFENCE"
-+fi
-
--case x"$HAVE_XSHMFENCE" in
-- xyes)
-- AC_DEFINE(HAVE_XSHMFENCE, 1, [Have X Shared Memory Fence library])
-- REQUIRED_LIBS="$REQUIRED_LIBS xshmfence"
-- ;;
--esac
-+if test "x$WANT_XSHMFENCE" = "xyes"; then
-+ if test "x$HAVE_XSHMFENCE" != "xyes"; then
-+ AC_MSG_ERROR([xshmfence requested but not installed.])
-+ fi
-+ AC_DEFINE(HAVE_XSHMFENCE, 1, [Have xshmfence support])
-+ REQUIRED_LIBS="$REQUIRED_LIBS xshmfence"
-+fi
-
-+AM_CONDITIONAL(XSHMFENCE, [test "x$WANT_XSHMFENCE" = xyes])
-
- case "$DRI3,$HAVE_XSHMFENCE" in
- 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 780ece0a33..82051b36aa 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
# Misc build failure for master HEAD
SRC_URI += "file://fix_open_max_preprocessor_error.patch \
file://xorg-CVE-2013-6424.patch \
- file://xshmfence-option.patch \
- file://Fix-subwindow-in-Xi-emulated-events.patch \
file://xtrans.patch \
- file://0001-xkb-Don-t-swap-XkbSetGeometry-data-in-the-input-buff.patch \
- file://0001-xkb-Check-strings-length-against-request-size.patch \
file://0001-use-__GLIBC__-guard-for-glibc-specific-code.patch \
file://0001-sdksyms.sh-Make-sdksyms.sh-work-with-gcc5.patch \
"
-SRC_URI[md5sum] = "afd93977235584a9caa7528a737c1b52"
-SRC_URI[sha256sum] = "5e0f443238af1078b48f6eea98a382861b59187da221c2cf714d31c1d560b0fb"
+SRC_URI[md5sum] = "5986510d59e394a50126a8e2833e79d3"
+SRC_URI[sha256sum] = "2bf8e9f6f0a710dec1d2472467bff1f4e247cb6dcd76eb469aafdc8a2d7db2ab"
# These extensions are now integrated into the server, so declare the migration
# path for in-place upgrades.