mirror of
https://git.yoctoproject.org/poky
synced 2026-04-17 18:32:12 +02:00
weston: upgrade to 1.3.0
Remove backported patches that are now integrated. No need to patch build to install examples with --enable-demo-clients, update FILES now that all examples are being installed. Remove cairo-gl option as our cairo doesn't support GL (yet), remove --disable-android-compositor as it was dropped upstream, and add PACKAGECONFIG for the VAAPI-based recorder as otherwise it's a floating dependency (libva is in meta-intel). Based on work by Ewan Le Bideau-Canevet <Ewan.LEBIDEAU-CANEVET@eurogiciel.fr>. (From OE-Core rev: 7508b61d1cb869233f3d841183edd6fd19d5102e) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
5177812b27
commit
f6484887ba
@@ -1,47 +0,0 @@
|
||||
Upstream-Status: Submitted (https://bugs.freedesktop.org/show_bug.cgi?id=65933)
|
||||
Signed-off-by: Ross Burton <ross.burton@intel.com>
|
||||
|
||||
From 42821739a228a85ce3432be1796858e5cc31688b Mon Sep 17 00:00:00 2001
|
||||
From: Quentin Glidic <sardemff7+git@sardemff7.net>
|
||||
Date: Wed, 19 Jun 2013 15:27:11 +0200
|
||||
Subject: [PATCH weston] weston-launch: Set all groups for user
|
||||
|
||||
Signed-off-by: Quentin Glidic <sardemff7+git@sardemff7.net>
|
||||
---
|
||||
configure.ac | 2 +-
|
||||
src/weston-launch.c | 4 ++++
|
||||
2 files changed, 5 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index b625221..db3feb0 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -52,7 +52,7 @@ AC_CHECK_DECL(CLOCK_MONOTONIC,[],
|
||||
[[#include <time.h>]])
|
||||
AC_CHECK_HEADERS([execinfo.h])
|
||||
|
||||
-AC_CHECK_FUNCS([mkostemp strchrnul])
|
||||
+AC_CHECK_FUNCS([mkostemp strchrnul initgroups])
|
||||
|
||||
COMPOSITOR_MODULES="wayland-server >= 1.1.90 xkbcommon pixman-1"
|
||||
|
||||
diff --git a/src/weston-launch.c b/src/weston-launch.c
|
||||
index 76dcede..7d7b556 100644
|
||||
--- a/src/weston-launch.c
|
||||
+++ b/src/weston-launch.c
|
||||
@@ -631,9 +631,13 @@ main(int argc, char *argv[])
|
||||
}
|
||||
|
||||
if (setgid(wl.pw->pw_gid) < 0 ||
|
||||
+#ifdef HAVE_INITGROUPS
|
||||
+ initgroups(wl.pw->pw_name, wl.pw->pw_gid) < 0 ||
|
||||
+#endif
|
||||
setuid(wl.pw->pw_uid) < 0)
|
||||
error(1, errno, "dropping privilidges failed");
|
||||
|
||||
+
|
||||
if (sleep_fork) {
|
||||
if (wl.verbose)
|
||||
printf("weston-launch: waiting %d seconds\n", sleep_fork);
|
||||
--
|
||||
1.8.3
|
||||
@@ -1,18 +0,0 @@
|
||||
Install the examples so we can package them.
|
||||
|
||||
Upstream-Status: Pending
|
||||
Signed-off-by: Ross Burton <ross.burton@intel.com>
|
||||
|
||||
diff --git a/clients/Makefile.am b/clients/Makefile.am
|
||||
index 621c7c3..749ef20 100644
|
||||
--- a/clients/Makefile.am
|
||||
+++ b/clients/Makefile.am
|
||||
@@ -2,7 +2,7 @@ bin_PROGRAMS = \
|
||||
weston-info \
|
||||
$(terminal)
|
||||
|
||||
-noinst_PROGRAMS = \
|
||||
+bin_PROGRAMS += \
|
||||
$(clients_programs) \
|
||||
$(poppler_programs) \
|
||||
$(simple_clients_programs) \
|
||||
@@ -1,74 +0,0 @@
|
||||
Upstream-Status: Backport
|
||||
Signed-off-by: Ross Burton <ross.burton@intel.com>
|
||||
|
||||
From ff3230952a68077669e0ea0ac3ceb234273556fc Mon Sep 17 00:00:00 2001
|
||||
From: Quentin Glidic <sardemff7+git@sardemff7.net>
|
||||
Date: Fri, 17 May 2013 16:20:37 +0200
|
||||
Subject: [PATCH] weston-launch: Run weston in the user login shell
|
||||
|
||||
This patch brings back the user environment from the shell.
|
||||
In the future, weston-launch could create the Wayland socket earlier, in
|
||||
which case the user's shell could be used to run Wayland-specific tools
|
||||
in the new Weston session.
|
||||
|
||||
Signed-off-by: Quentin Glidic <sardemff7+git@sardemff7.net>
|
||||
---
|
||||
src/weston-launch.c | 19 ++++++++++++++++---
|
||||
1 file changed, 16 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/src/weston-launch.c b/src/weston-launch.c
|
||||
index 64d4a8a..89c3c5a 100644
|
||||
--- a/src/weston-launch.c
|
||||
+++ b/src/weston-launch.c
|
||||
@@ -60,6 +60,8 @@
|
||||
|
||||
#include "weston-launch.h"
|
||||
|
||||
+#define MAX_ARGV_SIZE 256
|
||||
+
|
||||
struct weston_launch {
|
||||
struct pam_conv pc;
|
||||
pam_handle_t *ph;
|
||||
@@ -523,8 +525,9 @@ main(int argc, char *argv[])
|
||||
struct weston_launch wl;
|
||||
char **env;
|
||||
int i, c;
|
||||
- char **child_argv;
|
||||
+ char *child_argv[MAX_ARGV_SIZE];
|
||||
char *tty = NULL, *new_user = NULL;
|
||||
+ char *term;
|
||||
int sleep_fork = 0;
|
||||
struct option opts[] = {
|
||||
{ "user", required_argument, NULL, 'u' },
|
||||
@@ -562,8 +565,8 @@ main(int argc, char *argv[])
|
||||
}
|
||||
}
|
||||
|
||||
- child_argv = &argv[optind-1];
|
||||
- child_argv[0] = BINDIR "/weston";
|
||||
+ if ((argc - optind) > (MAX_ARGV_SIZE - 5))
|
||||
+ error(1, E2BIG, "Too many arguments to pass to weston");
|
||||
|
||||
if (new_user)
|
||||
wl.pw = getpwnam(new_user);
|
||||
@@ -572,7 +575,17 @@ main(int argc, char *argv[])
|
||||
if (wl.pw == NULL)
|
||||
error(1, errno, "failed to get username");
|
||||
|
||||
+ child_argv[0] = wl.pw->pw_shell;
|
||||
+ child_argv[1] = "-l";
|
||||
+ child_argv[2] = "-c";
|
||||
+ child_argv[3] = BINDIR "/weston \"$@\"";
|
||||
+ child_argv[4] = "weston";
|
||||
+ for (i = 0; i < (argc - optind); ++i)
|
||||
+ child_argv[5+i] = argv[optind+i];
|
||||
+
|
||||
+ term = getenv("TERM");
|
||||
clearenv();
|
||||
+ setenv("TERM", term, 1);
|
||||
setenv("USER", wl.pw->pw_name, 1);
|
||||
setenv("LOGNAME", wl.pw->pw_name, 1);
|
||||
setenv("HOME", wl.pw->pw_dir, 1);
|
||||
--
|
||||
1.7.10.4
|
||||
|
||||
@@ -6,13 +6,10 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=275efac2559a224527bd4fd593d38466 \
|
||||
file://src/compositor.c;endline=23;md5=aa98a8db03480fe7d500d0b1f4b8850c"
|
||||
|
||||
SRC_URI = "http://wayland.freedesktop.org/releases/${BPN}-${PV}.tar.xz \
|
||||
file://install-examples.patch \
|
||||
file://weston-launch-shell.patch \
|
||||
file://groups.patch \
|
||||
file://weston.png \
|
||||
file://weston.desktop"
|
||||
SRC_URI[md5sum] = "dd9f3043fc5228c6bc4e99873fae2254"
|
||||
SRC_URI[sha256sum] = "e7715d2c731f77a729c994a599ffdaebac1307b2dd9336136706869fa53618b4"
|
||||
SRC_URI[md5sum] = "29ad994dd5ea07f52d7bffb24c25d9f7"
|
||||
SRC_URI[sha256sum] = "8e4f5b4736358b63d83c3252567ba7aa49cc0da9e2e2c30f59ddf635159702a0"
|
||||
|
||||
|
||||
inherit autotools pkgconfig useradd
|
||||
@@ -20,12 +17,12 @@ inherit autotools pkgconfig useradd
|
||||
DEPENDS = "libxkbcommon gdk-pixbuf pixman cairo glib-2.0 jpeg"
|
||||
DEPENDS += "wayland virtual/mesa virtual/egl pango"
|
||||
|
||||
EXTRA_OECONF = "--disable-android-compositor \
|
||||
--enable-setuid-install \
|
||||
EXTRA_OECONF = "--enable-setuid-install \
|
||||
--disable-tablet-shell \
|
||||
--disable-xwayland \
|
||||
--enable-simple-clients \
|
||||
--enable-clients \
|
||||
--enable-demo-clients \
|
||||
--disable-simple-egl-clients \
|
||||
--disable-libunwind \
|
||||
--disable-rpi-compositor \
|
||||
@@ -52,8 +49,8 @@ PACKAGECONFIG[headless] = "--enable-headless-compositor,--disable-headless-compo
|
||||
PACKAGECONFIG[fbdev] = "--enable-fbdev-compositor,--disable-fbdev-compositor,udev mtdev"
|
||||
# weston-launch
|
||||
PACKAGECONFIG[launch] = "--enable-weston-launch,--disable-weston-launch,libpam"
|
||||
# Use cairo-gl or cairo-glesv2
|
||||
PACKAGECONFIG[gles] = "--with-cairo-glesv2,,virtual/libgles2"
|
||||
# VA-API desktop recorder
|
||||
PACKAGECONFIG[vaapi] = "--enable-vaapi-recorder,--disable-vaapi-recorder,libva"
|
||||
|
||||
do_install_append() {
|
||||
# Weston doesn't need the .la files to load modules, so wipe them
|
||||
@@ -73,7 +70,7 @@ do_install_append() {
|
||||
|
||||
PACKAGES += "${PN}-examples"
|
||||
|
||||
FILES_${PN} = "${bindir}/weston* ${bindir}/wcap-decode ${libexecdir} ${datadir}"
|
||||
FILES_${PN} = "${bindir}/weston ${bindir}/weston-terminal ${bindir}/weston-info ${bindir}/weston-launch ${bindir}/wcap-decode ${libexecdir} ${datadir}"
|
||||
FILES_${PN}-examples = "${bindir}/*"
|
||||
|
||||
RDEPENDS_${PN} += "xkeyboard-config"
|
||||
Reference in New Issue
Block a user