diff options
author | Changhyeok Bae <changhyeok.bae@gmail.com> | 2017-08-05 11:39:36 +0900 |
---|---|---|
committer | Jan-Simon Möller <jsmoeller@linuxfoundation.org> | 2017-08-09 23:37:57 +0200 |
commit | 476081511a2064eb3b261018c5149c128ab8415a (patch) | |
tree | 23b659cbfcde447b45e928eacb3ee934b0a63a19 /meta-rcar-gen3 | |
parent | 20e27838486bc2497249398d4342debc11654fff (diff) |
Upgrade to pyro
u-boot: Add LICENSE and S variable
- two variables are removed in upstream include files.
weston: Add 1.11.0 recipe
wayland-kms: Add wayland-native dependency
- To use wayland-scanner, wayland-native should be in DEPENDS.
gstreamer1.0-plugin-vspfilter: Add pkgconfig.bbclass
v2 (jsmoeller):
- fix weston dependencies on pyro (RecipeSpecificSysroot)
- downgrade wayland-ivi-extension alongside weston version
Bug-AGL: SPEC-646
Change-Id: I70fbdde2a67d7220e18efda7f6a5a9d5b59981df
Signed-off-by: Changhyeok Bae <changhyeok.bae@gmail.com>
Signed-off-by: Jan-Simon Möller <jsmoeller@linuxfoundation.org>
Diffstat (limited to 'meta-rcar-gen3')
21 files changed, 850 insertions, 2 deletions
diff --git a/meta-rcar-gen3/recipes-bsp/u-boot/u-boot_2015.04.bb b/meta-rcar-gen3/recipes-bsp/u-boot/u-boot_2015.04.bb index 6f7926b..e46f958 100644 --- a/meta-rcar-gen3/recipes-bsp/u-boot/u-boot_2015.04.bb +++ b/meta-rcar-gen3/recipes-bsp/u-boot/u-boot_2015.04.bb @@ -5,10 +5,12 @@ DEPENDS += "dtc-native" UBOOT_URL = "git://github.com/renesas-rcar/u-boot.git" BRANCH = "v2015.04/rcar-3.5.3" +LICENSE = "GPLv2+" LIC_FILES_CHKSUM = "file://Licenses/README;md5=c7383a594871c03da76b3707929d2919" SRC_URI = "${UBOOT_URL};branch=${BRANCH}" SRCREV = "058edfcb95d8d1b58403bbe81e0507924b4b2fb8" +S = "${WORKDIR}/git" PV = "v2015.04+git${SRCPV}" diff --git a/meta-rcar-gen3/recipes-graphics/wayland/wayland-ivi-extension/0001-Fix-ivi-application-lib-install.patch b/meta-rcar-gen3/recipes-graphics/wayland/wayland-ivi-extension/0001-Fix-ivi-application-lib-install.patch new file mode 100644 index 0000000..4140ce5 --- /dev/null +++ b/meta-rcar-gen3/recipes-graphics/wayland/wayland-ivi-extension/0001-Fix-ivi-application-lib-install.patch @@ -0,0 +1,30 @@ +From 1e13c6d494a8b542c2a7f8251afc7aec401e3ad8 Mon Sep 17 00:00:00 2001 +From: Ronan Le Martret <ronan.lemartret@iot.bzh> +Date: Tue, 7 Feb 2017 17:13:47 +0100 +Subject: [PATCH] Fix ivi-application lib install + + * libivi-application.so must be a link to + libivi-application.so.X.X.XX + * fix yocto package QA + +Signed-off-by: Ronan Le Martret <ronan.lemartret@iot.bzh> +--- + protocol/CMakeLists.txt | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/protocol/CMakeLists.txt b/protocol/CMakeLists.txt +index 613a1a6..09d5126 100644 +--- a/protocol/CMakeLists.txt ++++ b/protocol/CMakeLists.txt +@@ -170,6 +170,8 @@ install( + DESTINATION include/ilm + ) + ++SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES VERSION ${ILM_API_VERSION} SOVERSION ${ILM_API_VERSION}) ++ + #============================================================================================= + # generate documentation for ivi-application API + #============================================================================================= +-- +2.6.6 + diff --git a/meta-rcar-gen3/recipes-graphics/wayland/wayland-ivi-extension_1.11.0.bbappend b/meta-rcar-gen3/recipes-graphics/wayland/wayland-ivi-extension_1.11.0.bbappend new file mode 100644 index 0000000..e4276fc --- /dev/null +++ b/meta-rcar-gen3/recipes-graphics/wayland/wayland-ivi-extension_1.11.0.bbappend @@ -0,0 +1,8 @@ +FILESEXTRAPATHS_prepend := "${THISDIR}/wayland-ivi-extension:" +SRCREV := "c9001582b10ce209c37b42dd560947c5aa8928b3" + +SRC_URI_remove = "file://test-path.patch" +SRC_URI_append = " file://0001-Fix-ivi-application-lib-install.patch " + +# workaround paralellism issue: +PARALLEL_MAKE = ""
\ No newline at end of file diff --git a/meta-rcar-gen3/recipes-graphics/wayland/wayland-kms_1.6.0.bb b/meta-rcar-gen3/recipes-graphics/wayland/wayland-kms_1.6.0.bb index 428be52..434ff37 100644 --- a/meta-rcar-gen3/recipes-graphics/wayland/wayland-kms_1.6.0.bb +++ b/meta-rcar-gen3/recipes-graphics/wayland/wayland-kms_1.6.0.bb @@ -11,7 +11,7 @@ SRC_URI = "git://github.com/renesas-rcar/wayland-kms.git;branch=rcar-gen3" COMPATIBLE_MACHINE = "(r8a7795|r8a7796)" S = "${WORKDIR}/git" -DEPENDS = "libdrm wayland gles-module-egl-headers" +DEPENDS = "libdrm wayland gles-module-egl-headers wayland-native" inherit autotools pkgconfig diff --git a/meta-rcar-gen3/recipes-graphics/wayland/weston/0001-Allow-regular-users-to-launch-Weston.patch b/meta-rcar-gen3/recipes-graphics/wayland/weston/0001-Allow-regular-users-to-launch-Weston.patch new file mode 100644 index 0000000..7b84a67 --- /dev/null +++ b/meta-rcar-gen3/recipes-graphics/wayland/weston/0001-Allow-regular-users-to-launch-Weston.patch @@ -0,0 +1,46 @@ +From f5555b045a64231d4beaba51cbbf5f5485173900 Mon Sep 17 00:00:00 2001 +From: Ronan Le Martret <ronan.lemartret@iot.bzh> +Date: Fri, 14 Apr 2017 19:04:32 +0200 +Subject: [PATCH] Allow regular users to launch Weston + +Signed-off-by: Ronan Le Martret <ronan.lemartret@iot.bzh> +--- + configure.ac | 6 ++++++ + src/launcher-direct.c | 2 ++ + 2 files changed, 8 insertions(+) + +diff --git a/configure.ac b/configure.ac +index 1d11864..4e48d52 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -131,6 +131,12 @@ if test x$enable_xkbcommon = xyes; then + COMPOSITOR_MODULES="$COMPOSITOR_MODULES xkbcommon >= 0.3.0" + fi + ++AC_ARG_ENABLE(sys-uid, [ --enable-sys-uid],, ++ enable_sys_uid=no) ++if test x$enable_sys_uid = xyes; then ++ AC_DEFINE(ENABLE_SYS_UID, [1], [Allow regular users to launch Weston]) ++fi ++ + AC_ARG_ENABLE(setuid-install, [ --enable-setuid-install],, + enable_setuid_install=yes) + AM_CONDITIONAL(ENABLE_SETUID_INSTALL, test x$enable_setuid_install = xyes) +diff --git a/src/launcher-direct.c b/src/launcher-direct.c +index 29d9c28..1ac6651 100644 +--- a/src/launcher-direct.c ++++ b/src/launcher-direct.c +@@ -272,8 +272,10 @@ launcher_direct_connect(struct weston_launcher **out, struct weston_compositor * + { + struct launcher_direct *launcher; + ++#ifndef ENABLE_SYS_UID + if (geteuid() != 0) + return -EINVAL; ++#endif + + launcher = zalloc(sizeof(*launcher)); + if (launcher == NULL) +-- +2.6.6 + diff --git a/meta-rcar-gen3/recipes-graphics/wayland/weston/0001-compositor-drm.c-Launch-without-input-devices.patch b/meta-rcar-gen3/recipes-graphics/wayland/weston/0001-compositor-drm.c-Launch-without-input-devices.patch new file mode 100644 index 0000000..93b7739 --- /dev/null +++ b/meta-rcar-gen3/recipes-graphics/wayland/weston/0001-compositor-drm.c-Launch-without-input-devices.patch @@ -0,0 +1,28 @@ +From 43f66e20a6788388df4fc052d257f005c359080f Mon Sep 17 00:00:00 2001 +From: Leon Anavi <leon.anavi@konsulko.com> +Date: Wed, 14 Dec 2016 12:26:31 +0200 +Subject: [PATCH] compositor-drm.c: Launch without input devices + +Launch Weston 11 even if input devices (such as +a keyboard, a mouse or a touchscreen) are not +present. + +Signed-off-by: Leon Anavi <leon.anavi@konsulko.com> +--- + src/compositor-drm.c | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/src/compositor-drm.c b/src/compositor-drm.c +index fd89627..f66e0af 100644 +--- a/src/compositor-drm.c ++++ b/src/compositor-drm.c +@@ -3123,7 +3123,6 @@ drm_backend_create(struct weston_compositor *compositor, + if (udev_input_init(&b->input, + compositor, b->udev, seat_id) < 0) { + weston_log("failed to create input devices\n"); +- goto err_sprite; + } + + if (create_outputs(b, config->connector, drm_device) < 0) { +-- +2.7.4 diff --git a/meta-rcar-gen3/recipes-graphics/wayland/weston/0001-configure.ac-Fix-wayland-protocols-path.patch b/meta-rcar-gen3/recipes-graphics/wayland/weston/0001-configure.ac-Fix-wayland-protocols-path.patch new file mode 100644 index 0000000..00118d7 --- /dev/null +++ b/meta-rcar-gen3/recipes-graphics/wayland/weston/0001-configure.ac-Fix-wayland-protocols-path.patch @@ -0,0 +1,34 @@ +From 1cfc1434a5d385a74de593ec7601674dba39e2fe Mon Sep 17 00:00:00 2001 +From: Jussi Kukkonen <jussi.kukkonen@intel.com> +Date: Wed, 11 May 2016 16:16:30 +0300 +Subject: [PATCH] configure.ac: Fix wayland-protocols path + +The wayland-protocols directory is used during build: Fix the path +to point to sysroot specified in recipe. + +Normally PKG_CONFIG_SYSROOT_DIR could be used in configure.ac but that +breaks multilib weston as it would point to multilib sysroot when the +(allarch) wayland-protocols is actually in the machine sysroot. + +Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com> +Upstream-Status: Inappropriate [embedded specific] +--- + configure.ac | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index bc7c329..15a05d3 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -187,7 +187,7 @@ PKG_CHECK_MODULES(LIBINPUT_BACKEND, [libinput >= 0.8.0]) + PKG_CHECK_MODULES(COMPOSITOR, [$COMPOSITOR_MODULES]) + + PKG_CHECK_MODULES(WAYLAND_PROTOCOLS, [wayland-protocols >= 1.2], +- [ac_wayland_protocols_pkgdatadir=`$PKG_CONFIG --variable=pkgdatadir wayland-protocols`]) ++ [ac_wayland_protocols_pkgdatadir=${WAYLAND_PROTOCOLS_SYSROOT_DIR}`$PKG_CONFIG --variable=pkgdatadir wayland-protocols`]) + AC_SUBST(WAYLAND_PROTOCOLS_DATADIR, $ac_wayland_protocols_pkgdatadir) + + AC_ARG_ENABLE(wayland-compositor, [ --enable-wayland-compositor],, +-- +2.1.4 + diff --git a/meta-rcar-gen3/recipes-graphics/wayland/weston/0001-make-error-portable.patch b/meta-rcar-gen3/recipes-graphics/wayland/weston/0001-make-error-portable.patch new file mode 100644 index 0000000..148848d --- /dev/null +++ b/meta-rcar-gen3/recipes-graphics/wayland/weston/0001-make-error-portable.patch @@ -0,0 +1,80 @@ +From c22e90365d89346258394833cbcad03ff32b2e27 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Fri, 29 May 2015 20:56:00 -0700 +Subject: [PATCH weston] make error() portable + +error() is not posix but gnu extension so may not be available on all +kind of systemsi e.g. musl. + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- +Upstream-Status: Submitted + + configure.ac | 2 ++ + src/weston-error.h | 20 ++++++++++++++++++++ + src/weston-launch.c | 2 +- + 3 files changed, 23 insertions(+), 1 deletion(-) + create mode 100644 src/weston-error.h + +diff --git a/configure.ac b/configure.ac +index 263fc22..f52cd62 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -57,6 +57,8 @@ AC_CHECK_DECL(CLOCK_MONOTONIC,[], + [[#include <time.h>]]) + AC_CHECK_HEADERS([execinfo.h]) + ++AC_CHECK_HEADERS([error.h]) ++ + AC_CHECK_FUNCS([mkostemp strchrnul initgroups posix_fallocate]) + + COMPOSITOR_MODULES="wayland-server >= 1.7.93 pixman-1 >= 0.25.2" +diff --git a/src/weston-error.h b/src/weston-error.h +new file mode 100644 +index 0000000..2089d02 +--- /dev/null ++++ b/src/weston-error.h +@@ -0,0 +1,20 @@ ++#ifndef _WESTON_ERROR_H ++#define _WESTON_ERROR_H ++ ++#if defined(HAVE_ERROR_H) ++#include <error.h> ++#else ++#include <err.h> ++#include <string.h> ++#define _weston_error(S, E, F, ...) do { \ ++ if (E) \ ++ err(S, F ": %s", ##__VA_ARGS__, strerror(E)); \ ++ else \ ++ err(S, F, ##__VA_ARGS__); \ ++} while(0) ++ ++#define error _weston_error ++#endif ++ ++#endif ++ +diff --git a/src/weston-launch.c b/src/weston-launch.c +index 10c66de..3e6d30a 100644 +--- a/src/weston-launch.c ++++ b/src/weston-launch.c +@@ -30,7 +30,6 @@ + #include <poll.h> + #include <errno.h> + +-#include <error.h> + #include <getopt.h> + + #include <sys/types.h> +@@ -56,6 +55,7 @@ + #endif + + #include "weston-launch.h" ++#include "weston-error.h" + + #define DRM_MAJOR 226 + +-- +2.1.4 + diff --git a/meta-rcar-gen3/recipes-graphics/wayland/weston/0001-shared-include-stdint.h-for-int32_t.patch b/meta-rcar-gen3/recipes-graphics/wayland/weston/0001-shared-include-stdint.h-for-int32_t.patch new file mode 100644 index 0000000..91ef727 --- /dev/null +++ b/meta-rcar-gen3/recipes-graphics/wayland/weston/0001-shared-include-stdint.h-for-int32_t.patch @@ -0,0 +1,28 @@ +From ba02b8abe4e2afac2bfbf2559972d5059d75a041 Mon Sep 17 00:00:00 2001 +From: Jussi Kukkonen <jussi.kukkonen@intel.com> +Date: Sat, 16 Jul 2016 22:50:19 +0300 +Subject: [PATCH weston] shared: include stdint.h for int32_t + +This fixes build on musl. + +Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com> +Upstream-Status: Submitted +--- + shared/xalloc.h | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/shared/xalloc.h b/shared/xalloc.h +index 85fccb4..484de2d 100644 +--- a/shared/xalloc.h ++++ b/shared/xalloc.h +@@ -30,6 +30,7 @@ + extern "C" { + #endif + ++#include <stdint.h> + #include <stdlib.h> + #include <string.h> + +-- +2.1.4 + diff --git a/meta-rcar-gen3/recipes-graphics/wayland/weston/0001-weston-launch-Provide-a-default-version-that-doesn-t.patch b/meta-rcar-gen3/recipes-graphics/wayland/weston/0001-weston-launch-Provide-a-default-version-that-doesn-t.patch new file mode 100644 index 0000000..5542036 --- /dev/null +++ b/meta-rcar-gen3/recipes-graphics/wayland/weston/0001-weston-launch-Provide-a-default-version-that-doesn-t.patch @@ -0,0 +1,173 @@ +From d02226b3d5872b184c1d50c7f4706ac9467ffb81 Mon Sep 17 00:00:00 2001 +From: Tom Hochstein <tom.hochstein@nxp.com> +Date: Fri, 15 Jul 2016 11:00:15 +0300 +Subject: [PATCH] weston-launch: Provide a default version that doesn't require + PAM + +weston-launch requires PAM for starting weston as a non-root user. + +Since starting weston as root is a valid use case by itself, if +PAM is not available, provide a default version of weston-launch +without non-root-user support. + +Upstream-Status: Pending + +Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com> +--- + configure.ac | 9 +++++++-- + src/weston-launch.c | 20 ++++++++++++++++++++ + 2 files changed, 27 insertions(+), 2 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 32fdde7..240966f 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -416,13 +416,17 @@ AC_ARG_ENABLE(resize-optimization, + AS_IF([test "x$enable_resize_optimization" = "xyes"], + [AC_DEFINE([USE_RESIZE_POOL], [1], [Use resize memory pool as a performance optimization])]) + ++AC_ARG_WITH(pam, ++ AS_HELP_STRING([--with-pam], [Use PAM]), ++ [use_pam=$withval], [use_pam=yes]) + AC_ARG_ENABLE(weston-launch, [ --enable-weston-launch],, enable_weston_launch=yes) + AM_CONDITIONAL(BUILD_WESTON_LAUNCH, test x$enable_weston_launch == xyes) +-if test x$enable_weston_launch == xyes; then ++if test x$enable_weston_launch = xyes -a x$use_pam = xyes; then + WESTON_SEARCH_LIBS([PAM], [pam], [pam_open_session], [have_pam=yes], [have_pam=no]) + if test x$have_pam == xno; then +- AC_ERROR([weston-launch requires pam]) ++ AC_ERROR([PAM support is explicitly requested, but libpam couldn't be found]) + fi ++ AC_DEFINE([HAVE_PAM], [1], [Define if PAM is available]) + fi + + AM_CONDITIONAL(HAVE_PANGO, test "x$have_pango" = "xyes") +@@ -673,6 +677,7 @@ AC_MSG_RESULT([ + Enable developer documentation ${enable_devdocs} + + weston-launch utility ${enable_weston_launch} ++ PAM support ${use_pam} + systemd-login support ${have_systemd_login} + systemd notify support ${enable_systemd_notify} + +diff --git a/src/weston-launch.c b/src/weston-launch.c +index b8b2ba0..a865061 100644 +--- a/src/weston-launch.c ++++ b/src/weston-launch.c +@@ -51,7 +51,9 @@ + + #include <pwd.h> + #include <grp.h> ++#ifdef HAVE_PAM + #include <security/pam_appl.h> ++#endif + + #ifdef HAVE_SYSTEMD_LOGIN + #include <systemd/sd-login.h> +@@ -93,8 +95,10 @@ drmSetMaster(int drm_fd) + #endif + + struct weston_launch { ++#ifdef HAVE_PAM + struct pam_conv pc; + pam_handle_t *ph; ++#endif + int tty; + int ttynr; + int sock[2]; +@@ -181,6 +185,7 @@ weston_launch_allowed(struct weston_launch *wl) + return false; + } + ++#ifdef HAVE_PAM + static int + pam_conversation_fn(int msg_count, + const struct pam_message **messages, +@@ -221,6 +226,7 @@ setup_pam(struct weston_launch *wl) + + return 0; + } ++#endif + + static int + setup_launcher_socket(struct weston_launch *wl) +@@ -414,6 +420,7 @@ quit(struct weston_launch *wl, int status) + close(wl->signalfd); + close(wl->sock[0]); + ++#ifdef HAVE_PAM + if (wl->new_user) { + err = pam_close_session(wl->ph, 0); + if (err) +@@ -421,6 +428,7 @@ quit(struct weston_launch *wl, int status) + err, pam_strerror(wl->ph, err)); + pam_end(wl->ph, err); + } ++#endif + + if (ioctl(wl->tty, KDSKBMUTE, 0) && + ioctl(wl->tty, KDSKBMODE, wl->kb_mode)) +@@ -600,6 +608,7 @@ setup_session(struct weston_launch *wl) + setenv("HOME", wl->pw->pw_dir, 1); + setenv("SHELL", wl->pw->pw_shell, 1); + ++#ifdef HAVE_PAM + env = pam_getenvlist(wl->ph); + if (env) { + for (i = 0; env[i]; ++i) { +@@ -608,6 +617,7 @@ setup_session(struct weston_launch *wl) + } + free(env); + } ++#endif + } + + static void +@@ -665,7 +675,9 @@ static void + help(const char *name) + { + fprintf(stderr, "Usage: %s [args...] [-- [weston args..]]\n", name); ++#ifdef HAVE_PAM + fprintf(stderr, " -u, --user Start session as specified username\n"); ++#endif + fprintf(stderr, " -t, --tty Start session on alternative tty\n"); + fprintf(stderr, " -v, --verbose Be verbose\n"); + fprintf(stderr, " -h, --help Display this help message\n"); +@@ -678,7 +690,9 @@ main(int argc, char *argv[]) + int i, c; + char *tty = NULL; + struct option opts[] = { ++#ifdef HAVE_PAM + { "user", required_argument, NULL, 'u' }, ++#endif + { "tty", required_argument, NULL, 't' }, + { "verbose", no_argument, NULL, 'v' }, + { "help", no_argument, NULL, 'h' }, +@@ -690,9 +704,13 @@ main(int argc, char *argv[]) + while ((c = getopt_long(argc, argv, "u:t::vh", opts, &i)) != -1) { + switch (c) { + case 'u': ++#ifdef HAVE_PAM + wl.new_user = optarg; + if (getuid() != 0) + error(1, 0, "Permission denied. -u allowed for root only"); ++#else ++ error(1, 0, "-u is unsupported in this weston-launch build"); ++#endif + break; + case 't': + tty = optarg; +@@ -730,8 +748,10 @@ main(int argc, char *argv[]) + if (setup_tty(&wl, tty) < 0) + exit(EXIT_FAILURE); + ++#ifdef HAVE_PAM + if (wl.new_user && setup_pam(&wl) < 0) + exit(EXIT_FAILURE); ++#endif + + if (setup_launcher_socket(&wl) < 0) + exit(EXIT_FAILURE); +-- +2.1.4 + diff --git a/meta-rcar-gen3/recipes-graphics/wayland/weston/make-weston-launch-exit-for-unrecognized-option.patch b/meta-rcar-gen3/recipes-graphics/wayland/weston/make-weston-launch-exit-for-unrecognized-option.patch new file mode 100644 index 0000000..0c408a4 --- /dev/null +++ b/meta-rcar-gen3/recipes-graphics/wayland/weston/make-weston-launch-exit-for-unrecognized-option.patch @@ -0,0 +1,33 @@ +From e8b615250f700f7854b423aaaf0a0aeea92c05a9 Mon Sep 17 00:00:00 2001 +From: Tom Hochstein <tom.hochstein@nxp.com> +Date: Sat, 7 May 2016 08:51:58 -0300 +Subject: [PATCH] weston-launch: Handle invalid command line options +Organization: O.S. Systems Software LTDA. + +Exit the program if an unrecognized command line option is found. + +Upstream-Status: Submitted + +Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com> +Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> +--- + + src/weston-launch.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/src/weston-launch.c b/src/weston-launch.c +index b8dfb17..9987d8e 100644 +--- a/src/weston-launch.c ++++ b/src/weston-launch.c +@@ -703,6 +703,8 @@ main(int argc, char *argv[]) + case 'h': + help("weston-launch"); + exit(EXIT_FAILURE); ++ default: ++ exit(EXIT_FAILURE); + } + } + +-- +2.8.2 + diff --git a/meta-rcar-gen3/recipes-graphics/wayland/weston/weston-1.11-config-option-for-no-input-device.patch b/meta-rcar-gen3/recipes-graphics/wayland/weston/weston-1.11-config-option-for-no-input-device.patch new file mode 100644 index 0000000..6f5ad66 --- /dev/null +++ b/meta-rcar-gen3/recipes-graphics/wayland/weston/weston-1.11-config-option-for-no-input-device.patch @@ -0,0 +1,123 @@ +From bbf2e6ebbd9c051775f43e1e3c3a2f41322342e8 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Daniel=20D=C3=ADaz?= <daniel.diaz@linaro.org> +Date: Fri, 21 Oct 2016 14:03:13 -0500 +Subject: [PATCH] Add configuration option for no input device. +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +[Backported from master, 75b7197.] + +As it has been discussed in the past [1], running Weston +without any input device at launch might be beneficial for +some use cases. + +Certainly, it's best for the vast majority of users (and +the project) to require an input device to be present, as +to avoid frustration and hassle, but for those brave souls +that so prefer, this patch lets them run without any input +device at all. + +This introduces a simple configuration in weston.ini: + [core] + require-input=true + +True is the default, so no behavioral change is introduced. + +[1] https://lists.freedesktop.org/archives/wayland-devel/2015-November/025193.html + +Signed-off-by: Daniel Díaz <daniel.diaz@linaro.org> +--- + man/weston.ini.man | 5 +++++ + src/compositor.h | 4 ++++ + src/libinput-seat.c | 6 ++++++ + src/main.c | 5 +++++ + weston.ini.in | 1 + + 5 files changed, 21 insertions(+) + +diff --git a/man/weston.ini.man b/man/weston.ini.man +index d7c4a6f..c7d0f01 100644 +--- a/man/weston.ini.man ++++ b/man/weston.ini.man +@@ -169,6 +169,11 @@ time, the one specified in the command-line will be used. On the other + hand, if none of these sets the value, default idle timeout will be + set to 300 seconds. + .RS ++.PP ++.RE ++.TP 7 ++.BI "require-input=" true ++require an input device for launch + + .SH "LIBINPUT SECTION" + The +diff --git a/src/compositor.h b/src/compositor.h +index 0bbf458..476b650 100644 +--- a/src/compositor.h ++++ b/src/compositor.h +@@ -803,6 +803,10 @@ struct weston_compositor { + + void *user_data; + void (*exit)(struct weston_compositor *c); ++ ++ /* Whether to let the compositor run without any input device. */ ++ bool require_input; ++ + }; + + struct weston_buffer { +diff --git a/src/libinput-seat.c b/src/libinput-seat.c +index 8ce0ee0..e1fdcf0 100644 +--- a/src/libinput-seat.c ++++ b/src/libinput-seat.c +@@ -255,6 +255,12 @@ udev_input_enable(struct udev_input *input) + devices_found = 1; + } + ++ if (devices_found == 0 && !c->require_input) { ++ weston_log("warning: no input devices found, but none required " ++ "as per configuration.\n"); ++ return 0; ++ } ++ + if (devices_found == 0) { + weston_log( + "warning: no input devices on entering Weston. " +diff --git a/src/main.c b/src/main.c +index 3279ac6..09905ea 100644 +--- a/src/main.c ++++ b/src/main.c +@@ -1298,6 +1298,7 @@ int main(int argc, char *argv[]) + struct wl_client *primary_client; + struct wl_listener primary_client_destroyed; + struct weston_seat *seat; ++ int require_input; + + const struct weston_option core_options[] = { + { WESTON_OPTION_STRING, "backend", 'B', &backend }, +@@ -1373,6 +1374,10 @@ int main(int argc, char *argv[]) + if (weston_compositor_init_config(ec, config) < 0) + goto out; + ++ weston_config_section_get_bool(section, "require-input", ++ &require_input, true); ++ ec->require_input = require_input; ++ + if (load_backend(ec, backend, &argc, argv, config) < 0) { + weston_log("fatal: failed to create compositor backend\n"); + goto out; +diff --git a/weston.ini.in b/weston.ini.in +index 14a4c0c..d837fb5 100644 +--- a/weston.ini.in ++++ b/weston.ini.in +@@ -2,6 +2,7 @@ + #modules=xwayland.so,cms-colord.so + #shell=desktop-shell.so + #gbm-format=xrgb2101010 ++#require-input=true + + [shell] + background-image=/usr/share/backgrounds/gnome/Aqua.jpg +-- +1.9.1 + diff --git a/meta-rcar-gen3/recipes-graphics/wayland/weston/weston.desktop b/meta-rcar-gen3/recipes-graphics/wayland/weston/weston.desktop new file mode 100644 index 0000000..1086ae8 --- /dev/null +++ b/meta-rcar-gen3/recipes-graphics/wayland/weston/weston.desktop @@ -0,0 +1,9 @@ +[Desktop Entry] +Encoding=UTF-8 +Type=Application +Name=Weston +Comment=Wayland Compostitor +Exec=weston +Icon=weston +Terminal=false +Categories=Utility; diff --git a/meta-rcar-gen3/recipes-graphics/wayland/weston/weston.png b/meta-rcar-gen3/recipes-graphics/wayland/weston/weston.png Binary files differnew file mode 100644 index 0000000..ea8b7e0 --- /dev/null +++ b/meta-rcar-gen3/recipes-graphics/wayland/weston/weston.png diff --git a/meta-rcar-gen3/recipes-graphics/wayland/weston/weston/0001-Allow-regular-users-to-launch-Weston.patch b/meta-rcar-gen3/recipes-graphics/wayland/weston/weston/0001-Allow-regular-users-to-launch-Weston.patch new file mode 100644 index 0000000..7b84a67 --- /dev/null +++ b/meta-rcar-gen3/recipes-graphics/wayland/weston/weston/0001-Allow-regular-users-to-launch-Weston.patch @@ -0,0 +1,46 @@ +From f5555b045a64231d4beaba51cbbf5f5485173900 Mon Sep 17 00:00:00 2001 +From: Ronan Le Martret <ronan.lemartret@iot.bzh> +Date: Fri, 14 Apr 2017 19:04:32 +0200 +Subject: [PATCH] Allow regular users to launch Weston + +Signed-off-by: Ronan Le Martret <ronan.lemartret@iot.bzh> +--- + configure.ac | 6 ++++++ + src/launcher-direct.c | 2 ++ + 2 files changed, 8 insertions(+) + +diff --git a/configure.ac b/configure.ac +index 1d11864..4e48d52 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -131,6 +131,12 @@ if test x$enable_xkbcommon = xyes; then + COMPOSITOR_MODULES="$COMPOSITOR_MODULES xkbcommon >= 0.3.0" + fi + ++AC_ARG_ENABLE(sys-uid, [ --enable-sys-uid],, ++ enable_sys_uid=no) ++if test x$enable_sys_uid = xyes; then ++ AC_DEFINE(ENABLE_SYS_UID, [1], [Allow regular users to launch Weston]) ++fi ++ + AC_ARG_ENABLE(setuid-install, [ --enable-setuid-install],, + enable_setuid_install=yes) + AM_CONDITIONAL(ENABLE_SETUID_INSTALL, test x$enable_setuid_install = xyes) +diff --git a/src/launcher-direct.c b/src/launcher-direct.c +index 29d9c28..1ac6651 100644 +--- a/src/launcher-direct.c ++++ b/src/launcher-direct.c +@@ -272,8 +272,10 @@ launcher_direct_connect(struct weston_launcher **out, struct weston_compositor * + { + struct launcher_direct *launcher; + ++#ifndef ENABLE_SYS_UID + if (geteuid() != 0) + return -EINVAL; ++#endif + + launcher = zalloc(sizeof(*launcher)); + if (launcher == NULL) +-- +2.6.6 + diff --git a/meta-rcar-gen3/recipes-graphics/wayland/weston/weston/0001-Allow-regular-users-to-launch-Weston_2.0.0.patch b/meta-rcar-gen3/recipes-graphics/wayland/weston/weston/0001-Allow-regular-users-to-launch-Weston_2.0.0.patch new file mode 100644 index 0000000..bd1a72b --- /dev/null +++ b/meta-rcar-gen3/recipes-graphics/wayland/weston/weston/0001-Allow-regular-users-to-launch-Weston_2.0.0.patch @@ -0,0 +1,46 @@ +From 6c145cea35f0b77613d6e3f48679c976b9839d7c Mon Sep 17 00:00:00 2001 +From: Ronan Le Martret <ronan.lemartret@iot.bzh> +Date: Wed, 31 May 2017 22:48:18 +0000 +Subject: [PATCH] Allow regular users to launch Weston + +Signed-off-by: Ronan Le Martret <ronan.lemartret@iot.bzh> +--- + configure.ac | 6 ++++++ + libweston/launcher-direct.c | 2 ++ + 2 files changed, 8 insertions(+) + +diff --git a/configure.ac b/configure.ac +index 7e84c14..8b3e17e 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -155,6 +155,12 @@ if test x$enable_xkbcommon = xyes; then + true) + fi + ++AC_ARG_ENABLE(sys-uid, [ --enable-sys-uid],, ++ enable_sys_uid=no) ++if test x$enable_sys_uid = xyes; then ++ AC_DEFINE(ENABLE_SYS_UID, [1], [Allow regular users to launch Weston]) ++fi ++ + AC_ARG_ENABLE(setuid-install, [ --enable-setuid-install],, + enable_setuid_install=yes) + AM_CONDITIONAL(ENABLE_SETUID_INSTALL, test x$enable_setuid_install = xyes) +diff --git a/libweston/launcher-direct.c b/libweston/launcher-direct.c +index 4fc1c3c..8f16a69 100644 +--- a/libweston/launcher-direct.c ++++ b/libweston/launcher-direct.c +@@ -275,8 +275,10 @@ launcher_direct_connect(struct weston_launcher **out, struct weston_compositor * + { + struct launcher_direct *launcher; + ++#ifndef ENABLE_SYS_UID + if (geteuid() != 0) + return -EINVAL; ++#endif + + launcher = zalloc(sizeof(*launcher)); + if (launcher == NULL) +-- +2.7.4 + diff --git a/meta-rcar-gen3/recipes-graphics/wayland/weston/weston/0001-compositor-drm.c-Launch-without-input-devices.patch b/meta-rcar-gen3/recipes-graphics/wayland/weston/weston/0001-compositor-drm.c-Launch-without-input-devices.patch new file mode 100644 index 0000000..93b7739 --- /dev/null +++ b/meta-rcar-gen3/recipes-graphics/wayland/weston/weston/0001-compositor-drm.c-Launch-without-input-devices.patch @@ -0,0 +1,28 @@ +From 43f66e20a6788388df4fc052d257f005c359080f Mon Sep 17 00:00:00 2001 +From: Leon Anavi <leon.anavi@konsulko.com> +Date: Wed, 14 Dec 2016 12:26:31 +0200 +Subject: [PATCH] compositor-drm.c: Launch without input devices + +Launch Weston 11 even if input devices (such as +a keyboard, a mouse or a touchscreen) are not +present. + +Signed-off-by: Leon Anavi <leon.anavi@konsulko.com> +--- + src/compositor-drm.c | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/src/compositor-drm.c b/src/compositor-drm.c +index fd89627..f66e0af 100644 +--- a/src/compositor-drm.c ++++ b/src/compositor-drm.c +@@ -3123,7 +3123,6 @@ drm_backend_create(struct weston_compositor *compositor, + if (udev_input_init(&b->input, + compositor, b->udev, seat_id) < 0) { + weston_log("failed to create input devices\n"); +- goto err_sprite; + } + + if (create_outputs(b, config->connector, drm_device) < 0) { +-- +2.7.4 diff --git a/meta-rcar-gen3/recipes-graphics/wayland/weston/xwayland.weston-start b/meta-rcar-gen3/recipes-graphics/wayland/weston/xwayland.weston-start new file mode 100644 index 0000000..b483c97 --- /dev/null +++ b/meta-rcar-gen3/recipes-graphics/wayland/weston/xwayland.weston-start @@ -0,0 +1,7 @@ +#!/bin/sh + +if type Xwayland >/dev/null 2>/dev/null; then + mkdir -p /tmp/.X11-unix + + add_weston_argument "--modules=xwayland.so" +fi diff --git a/meta-rcar-gen3/recipes-graphics/wayland/weston_1.11.0.bb b/meta-rcar-gen3/recipes-graphics/wayland/weston_1.11.0.bb new file mode 100644 index 0000000..814c9a0 --- /dev/null +++ b/meta-rcar-gen3/recipes-graphics/wayland/weston_1.11.0.bb @@ -0,0 +1,121 @@ +SUMMARY = "Weston, a Wayland compositor" +DESCRIPTION = "Weston is the reference implementation of a Wayland compositor" +HOMEPAGE = "http://wayland.freedesktop.org" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://COPYING;md5=d79ee9e66bb0f95d3386a7acae780b70 \ + file://src/compositor.c;endline=23;md5=1d535fed266cf39f6d8c0647f52ac331" + +SRC_URI = "https://wayland.freedesktop.org/releases/${BPN}-${PV}.tar.xz \ + file://weston.png \ + file://weston.desktop \ + file://0001-make-error-portable.patch \ + file://0001-configure.ac-Fix-wayland-protocols-path.patch \ + file://0001-shared-include-stdint.h-for-int32_t.patch \ + file://xwayland.weston-start \ + file://make-weston-launch-exit-for-unrecognized-option.patch \ + file://0001-weston-launch-Provide-a-default-version-that-doesn-t.patch \ + file://weston-1.11-config-option-for-no-input-device.patch \ +" +SRC_URI[md5sum] = "bc6f90a2039163804aecfa663b69c4c2" +SRC_URI[sha256sum] = "05e086e9f186a06843b9f7a5e1abf19347b1a6e4be26d7e74927abc17b6b7125" + +inherit autotools pkgconfig useradd distro_features_check +# depends on virtual/egl +REQUIRED_DISTRO_FEATURES = "opengl" + +DEPENDS = "libxkbcommon gdk-pixbuf pixman cairo glib-2.0 jpeg" +DEPENDS += "wayland wayland-protocols libinput virtual/egl pango wayland-native" +# due to recipe specific sysroot, we need to be more complete on the dependencies +DEPENDS += "gstreamer1.0-plugins-base" + +EXTRA_OECONF = "--enable-setuid-install \ + --disable-rpi-compositor \ + --disable-rdp-compositor \ + WAYLAND_PROTOCOLS_SYSROOT_DIR=${RECIPE_SYSROOT} \ + " + +EXTRA_OECONF[vardepsexclude] = "MACHINE" + +EXTRA_OECONF_append_qemux86 = "\ + WESTON_NATIVE_BACKEND=fbdev-backend.so \ + " +EXTRA_OECONF_append_qemux86-64 = "\ + WESTON_NATIVE_BACKEND=fbdev-backend.so \ + " +PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'kms fbdev wayland egl', '', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', '', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'x11 wayland', 'xwayland', '', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'pam', '', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', '', d)} \ + clients launch" +# +# Compositor choices +# +# Weston on KMS +PACKAGECONFIG[kms] = "--enable-drm-compositor,--disable-drm-compositor,drm udev virtual/mesa mtdev" +# Weston on Wayland (nested Weston) +PACKAGECONFIG[wayland] = "--enable-wayland-compositor,--disable-wayland-compositor,virtual/mesa" +# Weston on X11 +PACKAGECONFIG[x11] = "--enable-x11-compositor,--disable-x11-compositor,virtual/libx11 libxcb libxcb libxcursor cairo" +# Headless Weston +PACKAGECONFIG[headless] = "--enable-headless-compositor,--disable-headless-compositor" +# Weston on framebuffer +PACKAGECONFIG[fbdev] = "--enable-fbdev-compositor,--disable-fbdev-compositor,udev mtdev" +# weston-launch +PACKAGECONFIG[launch] = "--enable-weston-launch,--disable-weston-launch,drm" +# VA-API desktop recorder +PACKAGECONFIG[vaapi] = "--enable-vaapi-recorder,--disable-vaapi-recorder,libva" +# Weston with EGL support +PACKAGECONFIG[egl] = "--enable-egl --enable-simple-egl-clients,--disable-egl --disable-simple-egl-clients,virtual/egl" +# Weston with cairo glesv2 support +PACKAGECONFIG[cairo-glesv2] = "--with-cairo-glesv2,--with-cairo=image,cairo" +# Weston with lcms support +PACKAGECONFIG[lcms] = "--enable-lcms,--disable-lcms,lcms" +# Weston with webp support +PACKAGECONFIG[webp] = "--with-webp,--without-webp,libwebp" +# Weston with unwinding support +PACKAGECONFIG[libunwind] = "--enable-libunwind,--disable-libunwind,libunwind" +# Weston with systemd-login support +PACKAGECONFIG[systemd] = "--enable-systemd-login,--disable-systemd-login,systemd dbus" +# Weston with Xwayland support (requires X11 and Wayland) +PACKAGECONFIG[xwayland] = "--enable-xwayland,--disable-xwayland" +# colord CMS support +PACKAGECONFIG[colord] = "--enable-colord,--disable-colord,colord" +# Clients support +PACKAGECONFIG[clients] = "--enable-clients --enable-simple-clients --enable-demo-clients-install,--disable-clients --disable-simple-clients" +# Weston with PAM support +PACKAGECONFIG[pam] = "--with-pam,--without-pam,libpam" + +do_install_append() { + # Weston doesn't need the .la files to load modules, so wipe them + rm -f ${D}/${libdir}/weston/*.la + + # If X11, ship a desktop file to launch it + if [ "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', '', d)}" = "x11" ]; then + install -d ${D}${datadir}/applications + install ${WORKDIR}/weston.desktop ${D}${datadir}/applications + + install -d ${D}${datadir}/icons/hicolor/48x48/apps + install ${WORKDIR}/weston.png ${D}${datadir}/icons/hicolor/48x48/apps + fi + + if [ "${@bb.utils.contains('PACKAGECONFIG', 'xwayland', 'yes', 'no', d)}" = "yes" ]; then + install -Dm 644 ${WORKDIR}/xwayland.weston-start ${D}${datadir}/weston-start/xwayland + fi +} + +PACKAGE_BEFORE_PN += "${@bb.utils.contains('PACKAGECONFIG', 'xwayland', '${PN}-xwayland', '', d)}" +PACKAGES += "${PN}-examples" + +FILES_${PN} = "${bindir}/weston ${bindir}/weston-terminal ${bindir}/weston-info ${bindir}/weston-launch ${bindir}/wcap-decode ${libexecdir} ${libdir}/${BPN}/*.so ${datadir}" +FILES_${PN}-examples = "${bindir}/*" + +FILES_${PN}-xwayland = "${libdir}/${BPN}/xwayland.so" +RDEPENDS_${PN}-xwayland += "xserver-xorg-xwayland" + +RDEPENDS_${PN} += "xkeyboard-config" +RRECOMMENDS_${PN} = "liberation-fonts" +RRECOMMENDS_${PN}-dev += "wayland-protocols" + +USERADD_PACKAGES = "${PN}" +GROUPADD_PARAM_${PN} = "--system weston-launch" diff --git a/meta-rcar-gen3/recipes-graphics/wayland/weston_1.11.0.bbappend b/meta-rcar-gen3/recipes-graphics/wayland/weston_1.11.0.bbappend index 7c3c74e..fb51fd0 100644 --- a/meta-rcar-gen3/recipes-graphics/wayland/weston_1.11.0.bbappend +++ b/meta-rcar-gen3/recipes-graphics/wayland/weston_1.11.0.bbappend @@ -1,15 +1,21 @@ require weston.inc +DEPENDS_append = " gstreamer1.0" + FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" BRANCH = "rcar-gen3/1.11.0/gl-fallback" +EXTRA_OECONF_append = " --enable-sys-uid" + SRCREV = "a9df84304f6fcf8025beae998adcc4b02d8b968e" SRC_URI_remove = "https://wayland.freedesktop.org/releases/${BPN}-${PV}.tar.xz" SRC_URI_append = " \ git://github.com/renesas-rcar/weston.git;branch=${BRANCH} \ + file://0001-compositor-drm.c-Launch-without-input-devices.patch \ + file://0001-Allow-regular-users-to-launch-Weston.patch \ " S = "${WORKDIR}/git" diff --git a/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-plugin-vspfilter_1.0.0.bb b/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-plugin-vspfilter_1.0.0.bb index f7b573e..a6bb74d 100644 --- a/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-plugin-vspfilter_1.0.0.bb +++ b/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-plugin-vspfilter_1.0.0.bb @@ -3,7 +3,7 @@ SECTION = "multimedia" LICENSE = "GPLv2+" DEPENDS = "gstreamer1.0 gstreamer1.0-plugins-base pkgconfig" LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c" -inherit autotools +inherit autotools pkgconfig PN = "gstreamer1.0-plugin-vspfilter" |