Commit dda59a65 authored by Yann E. MORIN's avatar Yann E. MORIN Committed by Peter Korsgaard
Browse files

package/weston: bump to 1.3.0



Needs three patches from upstream, plus a custom patch to disable tests.
Drop old patches, all applied upstream or no longer needed.

Signed-off-by: default avatar"Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: default avatarPeter Korsgaard <peter@korsgaard.com>
parent 2e80b707
Loading
Loading
Loading
Loading
+77 −0
Original line number Diff line number Diff line
commit 4a74d5a4a45423752105f865a8310ce878b1790a
Author: Kristian Høgsberg <krh@bitplanet.net>
Date:   Wed Oct 9 11:19:11 2013 -0700

    launcher: Don't leak tty file descriptor on error

---
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>

diff --git a/src/launcher-util.c b/src/launcher-util.c
index d90271f..8ab61f1 100644
--- a/src/launcher-util.c
+++ b/src/launcher-util.c
@@ -275,7 +275,7 @@ setup_tty(struct weston_launcher *launcher, int tty)
 		weston_log("%s not a vt\n", tty_device);
 		weston_log("if running weston from ssh, "
 			   "use --tty to specify a tty\n");
-		return -1;
+		goto err_close;
 	}
 
 	ret = ioctl(launcher->tty, KDGETMODE, &kd_mode);
@@ -286,7 +286,7 @@ setup_tty(struct weston_launcher *launcher, int tty)
 	if (kd_mode != KD_TEXT) {
 		weston_log("%s is already in graphics mode, "
 			   "is another display server running?\n", tty_device);
-		return -1;
+		goto err_close;
 	}
 
 	ret = ioctl(launcher->tty, VT_ACTIVATE, minor(buf.st_rdev));
@@ -297,19 +297,19 @@ setup_tty(struct weston_launcher *launcher, int tty)
 
 	if (ioctl(launcher->tty, KDGKBMODE, &launcher->kb_mode)) {
 		weston_log("failed to read keyboard mode: %m\n");
-		return -1;
+		goto err_close;
 	}
 
 	if (ioctl(launcher->tty, KDSKBMUTE, 1) &&
 	    ioctl(launcher->tty, KDSKBMODE, K_OFF)) {
 		weston_log("failed to set K_OFF keyboard mode: %m\n");
-		return -1;
+		goto err_close;
 	}
 
 	ret = ioctl(launcher->tty, KDSETMODE, KD_GRAPHICS);
 	if (ret) {
 		weston_log("failed to set KD_GRAPHICS mode on tty: %m\n");
-		return -1;
+		goto err_close;
 	}
 
 	mode.mode = VT_PROCESS;
@@ -317,16 +317,20 @@ setup_tty(struct weston_launcher *launcher, int tty)
 	mode.acqsig = SIGUSR1;
 	if (ioctl(launcher->tty, VT_SETMODE, &mode) < 0) {
 		weston_log("failed to take control of vt handling\n");
-		return -1;
+		goto err_close;
 	}
 
 	loop = wl_display_get_event_loop(launcher->compositor->wl_display);
 	launcher->vt_source =
 		wl_event_loop_add_signal(loop, SIGUSR1, vt_handler, launcher);
 	if (!launcher->vt_source)
-		return -1;
+		goto err_close;
 
 	return 0;
+
+ err_close:
+	close(launcher->tty);
+	return -1;
 }
 
 int
+0 −47
Original line number Diff line number Diff line
From b8a831387a37f09ea5479eeb1d435a26680299c6 Mon Sep 17 00:00:00 2001
From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Date: Fri, 19 Apr 2013 06:19:05 +0200
Subject: [PATCH] Pull DRM dependent code only when the DRM compositor is
 enabled

The <xf86drm.h> header and the drm*() functions may not be available
at all when the DRM compositor is not enabled, so they should not be
used. Fixes build failures when building the fbdev compositor on
systems where DRM is not available.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 src/launcher-util.c |    5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/launcher-util.c b/src/launcher-util.c
index 9196e4f..d2fb160 100644
--- a/src/launcher-util.c
+++ b/src/launcher-util.c
@@ -31,7 +31,9 @@
 #include <sys/uio.h>
 #include <fcntl.h>
 
+#ifdef BUILD_DRM_COMPOSITOR
 #include <xf86drm.h>
+#endif
 
 #include "compositor.h"
 #include "launcher-util.h"
@@ -103,6 +105,7 @@ weston_launcher_open(struct weston_compositor *compositor,
 	return data->fd;
 }
 
+#ifdef BUILD_DRM_COMPOSITOR
 int
 weston_launcher_drm_set_master(struct weston_compositor *compositor,
 			       int drm_fd, char master)
@@ -157,4 +160,4 @@ weston_launcher_drm_set_master(struct weston_compositor *compositor,
 
 	return ret;
 }
-
+#endif
-- 
1.7.9.5
+45 −0
Original line number Diff line number Diff line
commit 0b12db5f519a347ce0e1d5262e0cb2e9e2cc6990
Author: Tomeu Vizoso <tomeu@tomeuvizoso.net>
Date:   Wed Oct 9 11:30:57 2013 +0200

    launcher: Wrap drmGetMagic and drmAuthMagic so we can build without libdrm

---
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>

diff --git a/src/launcher-util.c b/src/launcher-util.c
index 6b6a5f3..35a5698 100644
--- a/src/launcher-util.c
+++ b/src/launcher-util.c
@@ -80,9 +80,19 @@ drm_set_master(int drm_fd)
 		return drmSetMaster(drm_fd);
 	return -EBADF;
 }
+static int
+drm_check_master(int drm_fd)
+{
+	drm_magic_t magic;
+	if (drm_fd != -1)
+		return drmGetMagic(drm_fd, &magic) != 0 ||
+		       drmAuthMagic(drm_fd, magic) != 0;
+	return 0;
+}
 #else
 static int drm_drop_master(int drm_fd) {return 0;}
 static int drm_set_master(int drm_fd) {return 0;}
+static int drm_check_master(int drm_fd) {return 1;}
 #endif
 
 int
@@ -110,10 +120,8 @@ weston_launcher_open(struct weston_launcher *launcher,
 		}
 
 		if (major(s.st_rdev) == DRM_MAJOR) {
-			drm_magic_t magic;
 			launcher->drm_fd = fd;
-			if (drmGetMagic(fd, &magic) != 0 ||
-			    drmAuthMagic(fd, magic) != 0) {
+			if (!drm_check_master(fd)) {
 				weston_log("drm fd not master\n");
 				close(fd);
 				return -1;
+29 −0
Original line number Diff line number Diff line
commit 9acd374822022793b09427d67ea4033915343dd8
Author: Kristian Høgsberg <krh@bitplanet.net>
Date:   Fri Oct 11 15:25:42 2013 -0700

    fbdev: Fix compilation without EGL
    
    We have to duplicate #defines and typedefs for the EGL types and constants
    we use in gl-renderer.h so we can compile the fbdev backend without EGL.
    
    https://bugs.freedesktop.org/show_bug.cgi?id=70392

---
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>

To be noted: the bug referenced above was opened by me,
and quickly fixed during an IRC session. Nice! :-)

diff --git a/src/gl-renderer.h b/src/gl-renderer.h
index 4919a1e..d16ade2 100644
--- a/src/gl-renderer.h
+++ b/src/gl-renderer.h
@@ -56,6 +56,7 @@ typedef void *EGLDisplay;
 typedef void *EGLSurface;
 typedef intptr_t EGLNativeDisplayType;
 typedef intptr_t EGLNativeWindowType;
+#define EGL_DEFAULT_DISPLAY NULL
 
 static const EGLint gl_renderer_opaque_attribs[];
 static const EGLint gl_renderer_alpha_attribs[];
+0 −26
Original line number Diff line number Diff line
commit 9f43cb48aac9d27aa49fe955104f5cfd204703ed
Author: Quentin Glidic <sardemff7+git@sardemff7.net>
Date:   Sat Aug 24 20:36:10 2013 +0200

    autotools: Fix AC_PATH_PROG call
    
    Signed-off-by: Quentin Glidic <sardemff7+git@sardemff7.net>
    Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>

diff --git a/configure.ac b/configure.ac
index 0129157..43e5e5c 100644
--- a/configure.ac
+++ b/configure.ac
@@ -424,8 +424,10 @@ if test "x$have_lcms" = xyes; then
 fi
 AM_CONDITIONAL(HAVE_LCMS, [test "x$have_lcms" = xyes])
 
-AC_PATH_PROG([wayland_scanner], [wayland-scanner],
-	     [AC_MSG_ERROR("wayland-scanner is needed to compile weston")])
+AC_PATH_PROG([wayland_scanner], [wayland-scanner])
+if test x$wayland_scanner = x; then
+	AC_MSG_ERROR([wayland-scanner is needed to compile weston])
+fi
 
 AC_CONFIG_FILES([Makefile
 		 shared/Makefile
Loading