Bin Li has proposed merging ~binli/ubuntu/+source/gdm3:ubuntu/bionic into 
~ubuntu-desktop/ubuntu/+source/gdm3:ubuntu/bionic.

Commit message:
  * Add utils-add-new-gdm-disable-wayland-binary.patch, cherry-picked
    from cosmic. (LP: #1780076)


Requested reviews:
  Iain Lane (laney)
Related bugs:
  Bug #1780076 in gdm3 (Ubuntu): "18.04 login screen is skewed/distorted 
(incorrect stride) when using hibmc_drm graphics"
  https://bugs.launchpad.net/ubuntu/+source/gdm3/+bug/1780076

For more details, see:
https://code.launchpad.net/~binli/ubuntu/+source/gdm3/+git/gdm3/+merge/356297
-- 
Your team Ubuntu Desktop is subscribed to branch 
~ubuntu-desktop/ubuntu/+source/gdm3:ubuntu/bionic.
diff --git a/debian/changelog b/debian/changelog
index 4420ff4..a68a92b 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,11 @@
+gdm3 (3.28.3-0ubuntu18.04.3) UNRELEASED; urgency=medium
+
+  [Bin Li]
+  * Add utils-add-new-gdm-disable-wayland-binary.patch, cherry-picked
+    from cosmic. (LP: #1780076)
+
+ -- Bin Li <bin...@canonical.com>  Tue, 09 Oct 2018 15:26:26 +0800
+
 gdm3 (3.28.3-0ubuntu18.04.2) bionic; urgency=medium
 
   [ Bin Li ]
diff --git a/debian/patches/series b/debian/patches/series
index 60f3aeb..cc0a11d 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,6 +1,7 @@
 # Upstream backports
 data-Makefile.am.patch
 data-61-gdm.rules.in.patch
+utils-add-new-gdm-disable-wayland-binary.patch
 
 16_xserver_path.patch
 90_config_comments.patch
diff --git a/debian/patches/utils-add-new-gdm-disable-wayland-binary.patch b/debian/patches/utils-add-new-gdm-disable-wayland-binary.patch
new file mode 100644
index 0000000..5940e88
--- /dev/null
+++ b/debian/patches/utils-add-new-gdm-disable-wayland-binary.patch
@@ -0,0 +1,118 @@
+From: Ray Strode <rstr...@redhat.com>
+Date: Mon, 21 May 2018 11:03:29 -0400
+Subject: utils: add new gdm-disable-wayland binary
+
+We currently disable wayland for cirrus by calling printf
+from a udev rule.  This works, but it's a little too open
+coded to easily write SELinux policy for.
+
+This commit introduces a new program, gdm-disable-wayland,
+that does the same thing, but in a dedicated binary.
+
+A future commit will change the udev rule to use the binary.
+
+https://bugzilla.gnome.org/show_bug.cgi?id=796315
+---
+ utils/Makefile.am           | 14 ++++++++++++
+ utils/gdm-disable-wayland.c | 53 +++++++++++++++++++++++++++++++++++++++++++++
+ 2 files changed, 67 insertions(+)
+ create mode 100644 utils/gdm-disable-wayland.c
+
+diff --git a/utils/Makefile.am b/utils/Makefile.am
+index ae3cc01..babe890 100644
+--- a/utils/Makefile.am
++++ b/utils/Makefile.am
+@@ -10,6 +10,8 @@ AM_CPPFLAGS = \
+ 	-DDATADIR=\"$(datadir)\"			\
+ 	-DGDMCONFDIR=\"$(gdmconfdir)\"			\
+ 	-DLOCALSTATEDIR=\""$(localstatedir)"\" 		\
++	-DGDM_RUN_DIR=\"$(GDM_RUN_DIR)\"		\
++	-DGDM_RUNTIME_CONF=\"$(GDM_RUNTIME_CONF)\"	\
+ 	-DGDM_SCREENSHOT_DIR=\""$(GDM_SCREENSHOT_DIR)"\"\
+ 	-DGNOMELOCALEDIR=\""$(datadir)/locale"\" 	\
+ 	$(UTILS_CFLAGS)					\
+@@ -31,6 +33,10 @@ bin_PROGRAMS = \
+ 	gdm-screenshot		\
+ 	$(NULL)
+ 
++libexec_PROGRAMS = \
++	gdm-disable-wayland	\
++	$(NULL)
++
+ gdmflexiserver_LDADD =		\
+ 	$(top_builddir)/common/libgdmcommon.la	\
+ 	$(GTK_LIBS)		\
+@@ -49,6 +55,14 @@ gdm_screenshot_LDADD =		\
+ 	$(COMMON_LIBS)		\
+ 	$(NULL)
+ 
++gdm_disable_wayland_LDADD =	\
++	$(COMMON_LIBS)		\
++	$(NULL)
++
++gdm_disable_wayland_SOURCES =	\
++	gdm-disable-wayland.c	\
++	$(NULL)
++
+ CLEANFILES = 			\
+ 	$(NULL)
+ 
+diff --git a/utils/gdm-disable-wayland.c b/utils/gdm-disable-wayland.c
+new file mode 100644
+index 0000000..be61c4d
+--- /dev/null
++++ b/utils/gdm-disable-wayland.c
+@@ -0,0 +1,53 @@
++/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*-
++ *
++ * Copyright (C) 2018 Red Hat, Inc.
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License as published by
++ * the Free Software Foundation; either version 2 of the License, or
++ * (at your option) any later version.
++ *
++ * This program is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++ * GNU General Public License for more details.
++ *
++ * You should have received a copy of the GNU General Public License
++ * along with this program; if not, write to the Free Software
++ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
++ *
++ */
++
++#include "config.h"
++
++#include <locale.h>
++#include <stdlib.h>
++#include <sysexits.h>
++
++#include <glib.h>
++
++int
++main (int argc, char *argv[])
++{
++        g_autoptr(GKeyFile) key_file = NULL;
++        g_autoptr(GError) error = NULL;
++        gboolean saved_okay;
++
++        setlocale (LC_ALL, "");
++
++        key_file = g_key_file_new ();
++
++        g_key_file_set_boolean (key_file, "daemon", "WaylandEnable", FALSE);
++
++        g_mkdir_with_parents (GDM_RUN_DIR, 0711);
++
++        saved_okay = g_key_file_save_to_file (key_file, GDM_RUNTIME_CONF, &error);
++
++        if (!saved_okay) {
++                g_printerr ("gdm-disable-wayland: unable to disable wayland: %s",
++                            error->message);
++                return EX_CANTCREAT;
++        }
++
++        return EX_OK;
++}
-- 
ubuntu-desktop mailing list
ubuntu-desktop@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-desktop

Reply via email to