From: Ronan Le Martret Date: Wed, 11 Sep 2013 13:20:12 +0000 (+0200) Subject: - add weston 1.2.0. X-Git-Tag: rev_0.4~182 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=499ec1b83be0db52669a67ac79649e869242f59f;p=scm%2Fbb%2Ftizen.git - add weston 1.2.0. --- diff --git a/meta-wrt-tizen/recipes-graphics/wayland/weston/groups.patch b/meta-wrt-tizen/recipes-graphics/wayland/weston/groups.patch new file mode 100644 index 0000000..9dc043a --- /dev/null +++ b/meta-wrt-tizen/recipes-graphics/wayland/weston/groups.patch @@ -0,0 +1,47 @@ +Upstream-Status: Submitted (https://bugs.freedesktop.org/show_bug.cgi?id=65933) +Signed-off-by: Ross Burton + +From 42821739a228a85ce3432be1796858e5cc31688b Mon Sep 17 00:00:00 2001 +From: Quentin Glidic +Date: Wed, 19 Jun 2013 15:27:11 +0200 +Subject: [PATCH weston] weston-launch: Set all groups for user + +Signed-off-by: Quentin Glidic +--- + 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 ]]) + 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 diff --git a/meta-wrt-tizen/recipes-graphics/wayland/weston/install-examples.patch b/meta-wrt-tizen/recipes-graphics/wayland/weston/install-examples.patch new file mode 100644 index 0000000..3e2852c --- /dev/null +++ b/meta-wrt-tizen/recipes-graphics/wayland/weston/install-examples.patch @@ -0,0 +1,18 @@ +Install the examples so we can package them. + +Upstream-Status: Pending +Signed-off-by: Ross Burton + +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) \ diff --git a/meta-wrt-tizen/recipes-graphics/wayland/weston/weston-launch-shell.patch b/meta-wrt-tizen/recipes-graphics/wayland/weston/weston-launch-shell.patch new file mode 100644 index 0000000..ffe0608 --- /dev/null +++ b/meta-wrt-tizen/recipes-graphics/wayland/weston/weston-launch-shell.patch @@ -0,0 +1,74 @@ +Upstream-Status: Backport +Signed-off-by: Ross Burton + +From ff3230952a68077669e0ea0ac3ceb234273556fc Mon Sep 17 00:00:00 2001 +From: Quentin Glidic +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 +--- + 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 + diff --git a/meta-wrt-tizen/recipes-graphics/wayland/weston/weston.desktop b/meta-wrt-tizen/recipes-graphics/wayland/weston/weston.desktop new file mode 100644 index 0000000..1086ae8 --- /dev/null +++ b/meta-wrt-tizen/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-wrt-tizen/recipes-graphics/wayland/weston/weston.png b/meta-wrt-tizen/recipes-graphics/wayland/weston/weston.png new file mode 100644 index 0000000..ea8b7e0 Binary files /dev/null and b/meta-wrt-tizen/recipes-graphics/wayland/weston/weston.png differ diff --git a/meta-wrt-tizen/recipes-graphics/wayland/weston_1.2.0.bb b/meta-wrt-tizen/recipes-graphics/wayland/weston_1.2.0.bb new file mode 100644 index 0000000..204f0a6 --- /dev/null +++ b/meta-wrt-tizen/recipes-graphics/wayland/weston_1.2.0.bb @@ -0,0 +1,79 @@ +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=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.png \ + file://weston.desktop" +SRC_URI[md5sum] = "86f8c9e865923e138ce44ee41d951500" +SRC_URI[sha256sum] = "122e12ae8e4ec4618780465c0cc31d70d67054900a2aac458f82ed6eb5d397b7" + + +inherit autotools pkgconfig useradd + +DEPENDS = "libxkbcommon gdk-pixbuf pixman cairo glib-2.0 jpeg" +DEPENDS += "wayland mesa virtual/egl pango" + +EXTRA_OECONF = "--disable-android-compositor \ + --enable-setuid-install \ + --disable-tablet-shell \ + --disable-xwayland \ + --enable-simple-clients \ + --enable-clients \ + --disable-simple-egl-clients \ + --disable-libunwind \ + --disable-rpi-compositor \ + --disable-rdp-compositor" + + +PACKAGECONFIG ??= "${@base_contains('DISTRO_FEATURES', 'wayland', 'kms wayland', '', d)} \ + ${@base_contains('DISTRO_FEATURES', 'x11', 'x11', '', d)} \ + ${@base_contains('DISTRO_FEATURES', 'opengles2', 'gles', '', d)} \ + " +# +# Compositor choices +# +# Weston on KMS +PACKAGECONFIG[kms] = "--enable-drm-compositor --enable-weston-launch,--disable-drm-compositor --disable-weston-launch,drm udev mesa mtdev libpam" +# Weston on Wayland (nested Weston) +PACKAGECONFIG[wayland] = "--enable-wayland-compositor,--disable-wayland-compositor,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" + +# Use cairo-gl or cairo-glesv2 +PACKAGECONFIG[gles] = "--with-cairo-glesv2,,virtual/libgles2" + +do_install_append() { + # Weston doesn't need the .la files to load modules, so wipe them + rm -f ${D}/${libdir}/weston/*.la + + for feature in ${DISTRO_FEATURES}; do + # If X11, ship a desktop file to launch it + if [ "$feature" = "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 + done +} + +PACKAGES += "${PN}-examples" + +FILES_${PN} = "${bindir}/weston* ${bindir}/wcap-decode ${libexecdir} ${datadir}" +FILES_${PN}-examples = "${bindir}/*" + +RDEPENDS_${PN} += "xkeyboard-config" +RRECOMMENDS_${PN} = "liberation-fonts" + +USERADD_PACKAGES = "${PN}" +GROUPADD_PARAM_${PN} = "--system weston-launch" diff --git a/meta-wrt-tizen/recipes-wrt/image/wrt-image-minimal.bb b/meta-wrt-tizen/recipes-wrt/image/wrt-image-minimal.bb index aa4abec..c646956 100644 --- a/meta-wrt-tizen/recipes-wrt/image/wrt-image-minimal.bb +++ b/meta-wrt-tizen/recipes-wrt/image/wrt-image-minimal.bb @@ -1,4 +1,4 @@ -#require core-image-weston +#require git DESCRIPTION = "Image with Sato, a mobile environment and visual style for \ mobile devices. The image supports X11 with a Sato theme, Pimlico \ @@ -10,5 +10,4 @@ LICENSE = "MIT" inherit core-image - IMAGE_INSTALL += "packagegroup-wrt" diff --git a/proto-meta-Tizen_ivi_3.0/specfile-patch/libmedia-thumbnail-yocto.spec.patch b/proto-meta-Tizen_ivi_3.0/specfile-patch/libmedia-thumbnail-yocto.spec.patch new file mode 100644 index 0000000..e69de29