summaryrefslogtreecommitdiffstats
path: root/meta/recipes-graphics/wayland/weston/0001-weston-launch-Provide-a-default-version-that-doesn-t.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-graphics/wayland/weston/0001-weston-launch-Provide-a-default-version-that-doesn-t.patch')
-rw-r--r--meta/recipes-graphics/wayland/weston/0001-weston-launch-Provide-a-default-version-that-doesn-t.patch47
1 files changed, 25 insertions, 22 deletions
diff --git a/meta/recipes-graphics/wayland/weston/0001-weston-launch-Provide-a-default-version-that-doesn-t.patch b/meta/recipes-graphics/wayland/weston/0001-weston-launch-Provide-a-default-version-that-doesn-t.patch
index 81cc025371..e50845b17a 100644
--- a/meta/recipes-graphics/wayland/weston/0001-weston-launch-Provide-a-default-version-that-doesn-t.patch
+++ b/meta/recipes-graphics/wayland/weston/0001-weston-launch-Provide-a-default-version-that-doesn-t.patch
@@ -1,4 +1,4 @@
-From 7d2fea61a95e9498b5a19c8cffcb2ab5631d5685 Mon Sep 17 00:00:00 2001
+From 682b7d79a7b81ec8e38760381104b24ad549e8c0 Mon Sep 17 00:00:00 2001
From: Tom Hochstein <tom.hochstein@nxp.com>
Date: Wed, 22 Feb 2017 15:53:30 +0200
Subject: [PATCH] weston-launch: Provide a default version that doesn't require
@@ -18,16 +18,16 @@ Signed-off-by: Denys Dmytriyenko <denys@ti.com>
Signed-off-by: Ming Liu <ming.liu@toradex.com>
---
libweston/meson.build | 16 ++++++++++++----
- libweston/weston-launch.c | 20 ++++++++++++++++++++
+ libweston/weston-launch.c | 21 +++++++++++++++++++++
meson_options.txt | 7 +++++++
- 3 files changed, 39 insertions(+), 4 deletions(-)
+ 3 files changed, 40 insertions(+), 4 deletions(-)
diff --git a/libweston/meson.build b/libweston/meson.build
-index 33ab970..32f495a 100644
+index d8d3fc0..326683f 100644
--- a/libweston/meson.build
+++ b/libweston/meson.build
-@@ -472,16 +472,24 @@ if get_option('renderer-gl')
- endif
+@@ -199,16 +199,24 @@ dep_vertex_clipping = declare_dependency(
+ )
if get_option('weston-launch')
- dep_pam = cc.find_library('pam')
@@ -56,7 +56,7 @@ index 33ab970..32f495a 100644
install: true
)
diff --git a/libweston/weston-launch.c b/libweston/weston-launch.c
-index 9064439..c6abe92 100644
+index 4962bd6..fc531c5 100644
--- a/libweston/weston-launch.c
+++ b/libweston/weston-launch.c
@@ -51,7 +51,9 @@
@@ -69,7 +69,7 @@ index 9064439..c6abe92 100644
#ifdef HAVE_SYSTEMD_LOGIN
#include <systemd/sd-login.h>
-@@ -101,8 +103,10 @@ drmSetMaster(int drm_fd)
+@@ -100,8 +102,10 @@ drmSetMaster(int drm_fd)
#endif
struct weston_launch {
@@ -80,7 +80,7 @@ index 9064439..c6abe92 100644
int tty;
int ttynr;
int sock[2];
-@@ -191,6 +195,7 @@ weston_launch_allowed(struct weston_launch *wl)
+@@ -192,6 +196,7 @@ weston_launch_allowed(struct weston_launch *wl)
return false;
}
@@ -88,7 +88,7 @@ index 9064439..c6abe92 100644
static int
pam_conversation_fn(int msg_count,
const struct pam_message **messages,
-@@ -231,6 +236,7 @@ setup_pam(struct weston_launch *wl)
+@@ -232,6 +237,7 @@ setup_pam(struct weston_launch *wl)
return 0;
}
@@ -96,7 +96,7 @@ index 9064439..c6abe92 100644
static int
setup_launcher_socket(struct weston_launch *wl)
-@@ -424,6 +430,7 @@ quit(struct weston_launch *wl, int status)
+@@ -431,6 +437,7 @@ quit(struct weston_launch *wl, int status)
close(wl->signalfd);
close(wl->sock[0]);
@@ -104,7 +104,7 @@ index 9064439..c6abe92 100644
if (wl->new_user) {
err = pam_close_session(wl->ph, 0);
if (err)
-@@ -431,6 +438,7 @@ quit(struct weston_launch *wl, int status)
+@@ -438,6 +445,7 @@ quit(struct weston_launch *wl, int status)
err, pam_strerror(wl->ph, err));
pam_end(wl->ph, err);
}
@@ -112,7 +112,7 @@ index 9064439..c6abe92 100644
if (ioctl(wl->tty, KDSKBMUTE, 0) &&
ioctl(wl->tty, KDSKBMODE, wl->kb_mode))
-@@ -610,6 +618,7 @@ setup_session(struct weston_launch *wl, char **child_argv)
+@@ -660,6 +668,7 @@ setup_session(struct weston_launch *wl, char **child_argv)
setenv("HOME", wl->pw->pw_dir, 1);
setenv("SHELL", wl->pw->pw_shell, 1);
@@ -120,7 +120,7 @@ index 9064439..c6abe92 100644
env = pam_getenvlist(wl->ph);
if (env) {
for (i = 0; env[i]; ++i) {
-@@ -618,6 +627,7 @@ setup_session(struct weston_launch *wl, char **child_argv)
+@@ -668,6 +677,7 @@ setup_session(struct weston_launch *wl, char **child_argv)
}
free(env);
}
@@ -128,7 +128,7 @@ index 9064439..c6abe92 100644
/*
* We open a new session, so it makes sense
-@@ -685,8 +695,10 @@ static void
+@@ -739,8 +749,10 @@ static void
help(const char *name)
{
fprintf(stderr, "Usage: %s [args...] [-- [weston args..]]\n", name);
@@ -139,7 +139,7 @@ index 9064439..c6abe92 100644
fprintf(stderr, " -t, --tty Start session on alternative tty,\n"
" e.g. -t /dev/tty4, requires -u option.\n");
fprintf(stderr, " -v, --verbose Be verbose\n");
-@@ -700,7 +712,9 @@ main(int argc, char *argv[])
+@@ -754,7 +766,9 @@ main(int argc, char *argv[])
int i, c;
char *tty = NULL;
struct option opts[] = {
@@ -149,21 +149,24 @@ index 9064439..c6abe92 100644
{ "tty", required_argument, NULL, 't' },
{ "verbose", no_argument, NULL, 'v' },
{ "help", no_argument, NULL, 'h' },
-@@ -712,9 +726,13 @@ main(int argc, char *argv[])
+@@ -766,11 +780,16 @@ 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");
+ if (getuid() != 0) {
+ fprintf(stderr, "weston: Permission denied. -u allowed for root only\n");
+ exit(EXIT_FAILURE);
+ }
+#else
-+ error(1, 0, "-u is unsupported in this weston-launch build");
++ fprintf(stderr, "weston: -u is unsupported in this weston-launch build\n");
++ exit(EXIT_FAILURE);
+#endif
break;
case 't':
tty = optarg;
-@@ -755,8 +773,10 @@ main(int argc, char *argv[])
+@@ -822,8 +841,10 @@ main(int argc, char *argv[])
if (setup_tty(&wl, tty) < 0)
exit(EXIT_FAILURE);
@@ -175,7 +178,7 @@ index 9064439..c6abe92 100644
if (setup_launcher_socket(&wl) < 0)
exit(EXIT_FAILURE);
diff --git a/meson_options.txt b/meson_options.txt
-index 0e1d183..9a5c3d5 100644
+index d5bf1d5..254eb2b 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -73,6 +73,13 @@ option(