diff options
| -rw-r--r-- | meta/recipes-graphics/wayland/weston/groups.patch | 47 | ||||
| -rw-r--r-- | meta/recipes-graphics/wayland/weston/install-examples.patch | 18 | ||||
| -rw-r--r-- | meta/recipes-graphics/wayland/weston/weston-launch-shell.patch | 74 | ||||
| -rw-r--r-- | meta/recipes-graphics/wayland/weston_1.3.0.bb (renamed from meta/recipes-graphics/wayland/weston_1.1.0.bb) | 17 |
4 files changed, 7 insertions, 149 deletions
diff --git a/meta/recipes-graphics/wayland/weston/groups.patch b/meta/recipes-graphics/wayland/weston/groups.patch deleted file mode 100644 index 9dc043ac3b..0000000000 --- a/meta/recipes-graphics/wayland/weston/groups.patch +++ /dev/null | |||
| @@ -1,47 +0,0 @@ | |||
| 1 | Upstream-Status: Submitted (https://bugs.freedesktop.org/show_bug.cgi?id=65933) | ||
| 2 | Signed-off-by: Ross Burton <ross.burton@intel.com> | ||
| 3 | |||
| 4 | From 42821739a228a85ce3432be1796858e5cc31688b Mon Sep 17 00:00:00 2001 | ||
| 5 | From: Quentin Glidic <sardemff7+git@sardemff7.net> | ||
| 6 | Date: Wed, 19 Jun 2013 15:27:11 +0200 | ||
| 7 | Subject: [PATCH weston] weston-launch: Set all groups for user | ||
| 8 | |||
| 9 | Signed-off-by: Quentin Glidic <sardemff7+git@sardemff7.net> | ||
| 10 | --- | ||
| 11 | configure.ac | 2 +- | ||
| 12 | src/weston-launch.c | 4 ++++ | ||
| 13 | 2 files changed, 5 insertions(+), 1 deletion(-) | ||
| 14 | |||
| 15 | diff --git a/configure.ac b/configure.ac | ||
| 16 | index b625221..db3feb0 100644 | ||
| 17 | --- a/configure.ac | ||
| 18 | +++ b/configure.ac | ||
| 19 | @@ -52,7 +52,7 @@ AC_CHECK_DECL(CLOCK_MONOTONIC,[], | ||
| 20 | [[#include <time.h>]]) | ||
| 21 | AC_CHECK_HEADERS([execinfo.h]) | ||
| 22 | |||
| 23 | -AC_CHECK_FUNCS([mkostemp strchrnul]) | ||
| 24 | +AC_CHECK_FUNCS([mkostemp strchrnul initgroups]) | ||
| 25 | |||
| 26 | COMPOSITOR_MODULES="wayland-server >= 1.1.90 xkbcommon pixman-1" | ||
| 27 | |||
| 28 | diff --git a/src/weston-launch.c b/src/weston-launch.c | ||
| 29 | index 76dcede..7d7b556 100644 | ||
| 30 | --- a/src/weston-launch.c | ||
| 31 | +++ b/src/weston-launch.c | ||
| 32 | @@ -631,9 +631,13 @@ main(int argc, char *argv[]) | ||
| 33 | } | ||
| 34 | |||
| 35 | if (setgid(wl.pw->pw_gid) < 0 || | ||
| 36 | +#ifdef HAVE_INITGROUPS | ||
| 37 | + initgroups(wl.pw->pw_name, wl.pw->pw_gid) < 0 || | ||
| 38 | +#endif | ||
| 39 | setuid(wl.pw->pw_uid) < 0) | ||
| 40 | error(1, errno, "dropping privilidges failed"); | ||
| 41 | |||
| 42 | + | ||
| 43 | if (sleep_fork) { | ||
| 44 | if (wl.verbose) | ||
| 45 | printf("weston-launch: waiting %d seconds\n", sleep_fork); | ||
| 46 | -- | ||
| 47 | 1.8.3 | ||
diff --git a/meta/recipes-graphics/wayland/weston/install-examples.patch b/meta/recipes-graphics/wayland/weston/install-examples.patch deleted file mode 100644 index 3e2852ccfb..0000000000 --- a/meta/recipes-graphics/wayland/weston/install-examples.patch +++ /dev/null | |||
| @@ -1,18 +0,0 @@ | |||
| 1 | Install the examples so we can package them. | ||
| 2 | |||
| 3 | Upstream-Status: Pending | ||
| 4 | Signed-off-by: Ross Burton <ross.burton@intel.com> | ||
| 5 | |||
| 6 | diff --git a/clients/Makefile.am b/clients/Makefile.am | ||
| 7 | index 621c7c3..749ef20 100644 | ||
| 8 | --- a/clients/Makefile.am | ||
| 9 | +++ b/clients/Makefile.am | ||
| 10 | @@ -2,7 +2,7 @@ bin_PROGRAMS = \ | ||
| 11 | weston-info \ | ||
| 12 | $(terminal) | ||
| 13 | |||
| 14 | -noinst_PROGRAMS = \ | ||
| 15 | +bin_PROGRAMS += \ | ||
| 16 | $(clients_programs) \ | ||
| 17 | $(poppler_programs) \ | ||
| 18 | $(simple_clients_programs) \ | ||
diff --git a/meta/recipes-graphics/wayland/weston/weston-launch-shell.patch b/meta/recipes-graphics/wayland/weston/weston-launch-shell.patch deleted file mode 100644 index ffe0608ee2..0000000000 --- a/meta/recipes-graphics/wayland/weston/weston-launch-shell.patch +++ /dev/null | |||
| @@ -1,74 +0,0 @@ | |||
| 1 | Upstream-Status: Backport | ||
| 2 | Signed-off-by: Ross Burton <ross.burton@intel.com> | ||
| 3 | |||
| 4 | From ff3230952a68077669e0ea0ac3ceb234273556fc Mon Sep 17 00:00:00 2001 | ||
| 5 | From: Quentin Glidic <sardemff7+git@sardemff7.net> | ||
| 6 | Date: Fri, 17 May 2013 16:20:37 +0200 | ||
| 7 | Subject: [PATCH] weston-launch: Run weston in the user login shell | ||
| 8 | |||
| 9 | This patch brings back the user environment from the shell. | ||
| 10 | In the future, weston-launch could create the Wayland socket earlier, in | ||
| 11 | which case the user's shell could be used to run Wayland-specific tools | ||
| 12 | in the new Weston session. | ||
| 13 | |||
| 14 | Signed-off-by: Quentin Glidic <sardemff7+git@sardemff7.net> | ||
| 15 | --- | ||
| 16 | src/weston-launch.c | 19 ++++++++++++++++--- | ||
| 17 | 1 file changed, 16 insertions(+), 3 deletions(-) | ||
| 18 | |||
| 19 | diff --git a/src/weston-launch.c b/src/weston-launch.c | ||
| 20 | index 64d4a8a..89c3c5a 100644 | ||
| 21 | --- a/src/weston-launch.c | ||
| 22 | +++ b/src/weston-launch.c | ||
| 23 | @@ -60,6 +60,8 @@ | ||
| 24 | |||
| 25 | #include "weston-launch.h" | ||
| 26 | |||
| 27 | +#define MAX_ARGV_SIZE 256 | ||
| 28 | + | ||
| 29 | struct weston_launch { | ||
| 30 | struct pam_conv pc; | ||
| 31 | pam_handle_t *ph; | ||
| 32 | @@ -523,8 +525,9 @@ main(int argc, char *argv[]) | ||
| 33 | struct weston_launch wl; | ||
| 34 | char **env; | ||
| 35 | int i, c; | ||
| 36 | - char **child_argv; | ||
| 37 | + char *child_argv[MAX_ARGV_SIZE]; | ||
| 38 | char *tty = NULL, *new_user = NULL; | ||
| 39 | + char *term; | ||
| 40 | int sleep_fork = 0; | ||
| 41 | struct option opts[] = { | ||
| 42 | { "user", required_argument, NULL, 'u' }, | ||
| 43 | @@ -562,8 +565,8 @@ main(int argc, char *argv[]) | ||
| 44 | } | ||
| 45 | } | ||
| 46 | |||
| 47 | - child_argv = &argv[optind-1]; | ||
| 48 | - child_argv[0] = BINDIR "/weston"; | ||
| 49 | + if ((argc - optind) > (MAX_ARGV_SIZE - 5)) | ||
| 50 | + error(1, E2BIG, "Too many arguments to pass to weston"); | ||
| 51 | |||
| 52 | if (new_user) | ||
| 53 | wl.pw = getpwnam(new_user); | ||
| 54 | @@ -572,7 +575,17 @@ main(int argc, char *argv[]) | ||
| 55 | if (wl.pw == NULL) | ||
| 56 | error(1, errno, "failed to get username"); | ||
| 57 | |||
| 58 | + child_argv[0] = wl.pw->pw_shell; | ||
| 59 | + child_argv[1] = "-l"; | ||
| 60 | + child_argv[2] = "-c"; | ||
| 61 | + child_argv[3] = BINDIR "/weston \"$@\""; | ||
| 62 | + child_argv[4] = "weston"; | ||
| 63 | + for (i = 0; i < (argc - optind); ++i) | ||
| 64 | + child_argv[5+i] = argv[optind+i]; | ||
| 65 | + | ||
| 66 | + term = getenv("TERM"); | ||
| 67 | clearenv(); | ||
| 68 | + setenv("TERM", term, 1); | ||
| 69 | setenv("USER", wl.pw->pw_name, 1); | ||
| 70 | setenv("LOGNAME", wl.pw->pw_name, 1); | ||
| 71 | setenv("HOME", wl.pw->pw_dir, 1); | ||
| 72 | -- | ||
| 73 | 1.7.10.4 | ||
| 74 | |||
diff --git a/meta/recipes-graphics/wayland/weston_1.1.0.bb b/meta/recipes-graphics/wayland/weston_1.3.0.bb index 8280bf266f..eb38ce142f 100644 --- a/meta/recipes-graphics/wayland/weston_1.1.0.bb +++ b/meta/recipes-graphics/wayland/weston_1.3.0.bb | |||
| @@ -6,13 +6,10 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=275efac2559a224527bd4fd593d38466 \ | |||
| 6 | file://src/compositor.c;endline=23;md5=aa98a8db03480fe7d500d0b1f4b8850c" | 6 | file://src/compositor.c;endline=23;md5=aa98a8db03480fe7d500d0b1f4b8850c" |
| 7 | 7 | ||
| 8 | SRC_URI = "http://wayland.freedesktop.org/releases/${BPN}-${PV}.tar.xz \ | 8 | SRC_URI = "http://wayland.freedesktop.org/releases/${BPN}-${PV}.tar.xz \ |
| 9 | file://install-examples.patch \ | ||
| 10 | file://weston-launch-shell.patch \ | ||
| 11 | file://groups.patch \ | ||
| 12 | file://weston.png \ | 9 | file://weston.png \ |
| 13 | file://weston.desktop" | 10 | file://weston.desktop" |
| 14 | SRC_URI[md5sum] = "dd9f3043fc5228c6bc4e99873fae2254" | 11 | SRC_URI[md5sum] = "29ad994dd5ea07f52d7bffb24c25d9f7" |
| 15 | SRC_URI[sha256sum] = "e7715d2c731f77a729c994a599ffdaebac1307b2dd9336136706869fa53618b4" | 12 | SRC_URI[sha256sum] = "8e4f5b4736358b63d83c3252567ba7aa49cc0da9e2e2c30f59ddf635159702a0" |
| 16 | 13 | ||
| 17 | 14 | ||
| 18 | inherit autotools pkgconfig useradd | 15 | inherit autotools pkgconfig useradd |
| @@ -20,12 +17,12 @@ inherit autotools pkgconfig useradd | |||
| 20 | DEPENDS = "libxkbcommon gdk-pixbuf pixman cairo glib-2.0 jpeg" | 17 | DEPENDS = "libxkbcommon gdk-pixbuf pixman cairo glib-2.0 jpeg" |
| 21 | DEPENDS += "wayland virtual/mesa virtual/egl pango" | 18 | DEPENDS += "wayland virtual/mesa virtual/egl pango" |
| 22 | 19 | ||
| 23 | EXTRA_OECONF = "--disable-android-compositor \ | 20 | EXTRA_OECONF = "--enable-setuid-install \ |
| 24 | --enable-setuid-install \ | ||
| 25 | --disable-tablet-shell \ | 21 | --disable-tablet-shell \ |
| 26 | --disable-xwayland \ | 22 | --disable-xwayland \ |
| 27 | --enable-simple-clients \ | 23 | --enable-simple-clients \ |
| 28 | --enable-clients \ | 24 | --enable-clients \ |
| 25 | --enable-demo-clients \ | ||
| 29 | --disable-simple-egl-clients \ | 26 | --disable-simple-egl-clients \ |
| 30 | --disable-libunwind \ | 27 | --disable-libunwind \ |
| 31 | --disable-rpi-compositor \ | 28 | --disable-rpi-compositor \ |
| @@ -52,8 +49,8 @@ PACKAGECONFIG[headless] = "--enable-headless-compositor,--disable-headless-compo | |||
| 52 | PACKAGECONFIG[fbdev] = "--enable-fbdev-compositor,--disable-fbdev-compositor,udev mtdev" | 49 | PACKAGECONFIG[fbdev] = "--enable-fbdev-compositor,--disable-fbdev-compositor,udev mtdev" |
| 53 | # weston-launch | 50 | # weston-launch |
| 54 | PACKAGECONFIG[launch] = "--enable-weston-launch,--disable-weston-launch,libpam" | 51 | PACKAGECONFIG[launch] = "--enable-weston-launch,--disable-weston-launch,libpam" |
| 55 | # Use cairo-gl or cairo-glesv2 | 52 | # VA-API desktop recorder |
| 56 | PACKAGECONFIG[gles] = "--with-cairo-glesv2,,virtual/libgles2" | 53 | PACKAGECONFIG[vaapi] = "--enable-vaapi-recorder,--disable-vaapi-recorder,libva" |
| 57 | 54 | ||
| 58 | do_install_append() { | 55 | do_install_append() { |
| 59 | # Weston doesn't need the .la files to load modules, so wipe them | 56 | # Weston doesn't need the .la files to load modules, so wipe them |
| @@ -73,7 +70,7 @@ do_install_append() { | |||
| 73 | 70 | ||
| 74 | PACKAGES += "${PN}-examples" | 71 | PACKAGES += "${PN}-examples" |
| 75 | 72 | ||
| 76 | FILES_${PN} = "${bindir}/weston* ${bindir}/wcap-decode ${libexecdir} ${datadir}" | 73 | FILES_${PN} = "${bindir}/weston ${bindir}/weston-terminal ${bindir}/weston-info ${bindir}/weston-launch ${bindir}/wcap-decode ${libexecdir} ${datadir}" |
| 77 | FILES_${PN}-examples = "${bindir}/*" | 74 | FILES_${PN}-examples = "${bindir}/*" |
| 78 | 75 | ||
| 79 | RDEPENDS_${PN} += "xkeyboard-config" | 76 | RDEPENDS_${PN} += "xkeyboard-config" |
