diff options
author | V3n3RiX <venerix@redcorelinux.org> | 2019-04-05 21:17:31 +0100 |
---|---|---|
committer | V3n3RiX <venerix@redcorelinux.org> | 2019-04-05 21:17:31 +0100 |
commit | dc7cbdfa65fd814b3b9aa3c56257da201109e807 (patch) | |
tree | c85d72f6f31f21f178069c9d41d41a7c1ff4b362 /gnome-base/gdm | |
parent | 0706fc6986773f4e4d391deff4ad5143c464ea4e (diff) |
gentoo resync : 05.04.2019
Diffstat (limited to 'gnome-base/gdm')
-rw-r--r-- | gnome-base/gdm/Manifest | 9 | ||||
-rw-r--r-- | gnome-base/gdm/files/3.30.3-pam-drop-legacy-arg.patch | 29 | ||||
-rw-r--r-- | gnome-base/gdm/files/gdm-CanGraphical-wait.patch | 189 | ||||
-rw-r--r-- | gnome-base/gdm/files/pam-elogind.patch | 24 | ||||
-rw-r--r-- | gnome-base/gdm/gdm-3.26.2.1-r1.ebuild | 205 | ||||
-rw-r--r-- | gnome-base/gdm/gdm-3.30.3-r2.ebuild (renamed from gnome-base/gdm/gdm-3.30.3.ebuild) | 81 | ||||
-rw-r--r-- | gnome-base/gdm/metadata.xml | 1 |
7 files changed, 302 insertions, 236 deletions
diff --git a/gnome-base/gdm/Manifest b/gnome-base/gdm/Manifest index ef66e9770ff3..c59e531cefe3 100644 --- a/gnome-base/gdm/Manifest +++ b/gnome-base/gdm/Manifest @@ -1,16 +1,17 @@ AUX 3.24.3-CVE-2018-14424.patch 6513 BLAKE2B ac51cbf4412f53f8460037ca7a811c0f3b883afbd6fabbd248719594e8ec730aab4a9a9e8adece0c53d0dda99f900b0ad450b5d5cf7a74999abd6756983ee4e8 SHA512 7ab8875f15828d8601482953e7b7be96326ff23c0ec945ccbaa401370c622734388daeb6be1043fff8694498dbfe2d7fc74f90bf8c59170df67c78bdb731cd13 AUX 3.24.3-display-object-lifetime-fix.patch 3235 BLAKE2B d92c20c97f4007121029c1c719c7598af8dbcd181098ec52f0b61f281796d1a9e3981f644cd2bd0ae80025f63faf169db44b91b3075c42566ca0a5dfbd7f9ae3 SHA512 57a585a93754adc2448a2a85a55c90f7f27c5da0689debc93236ac3c26c79cf295abea73bcec5fce3d7651b3998715d11e2b232a35f590e53b52a859bc666523 +AUX 3.30.3-pam-drop-legacy-arg.patch 1123 BLAKE2B ada164a258734709da57dd7b3c098a7475100edb0fd56ebb815c7dffbddb314d208646bdf6bca6e4465fdf0dc4dd995384f28b88dabf538cd9945d7490cdfae9 SHA512 f71e94e5a20183bb246b42ce090c958595c18cef264418af82fd564afc98de1d8b0a051a236ed1a6d5719027ddcf67b3a0dd1800f26dcb257403575961ed32d9 AUX 49-keychain-r1 193 BLAKE2B e4653256b9a0a23be84286d25278d2addf464cc541d43f57a33ed0390b562d03acf7f9d8510ad1b09d4a3736d2bb2a323f5fcc473014b6f351abb5bee71a419b SHA512 32a6d72de9b6b7bfbac0a563fc8710576419e6d989fe48da294b92b197722059ee0e46672d5df2833cd1a7dacf5ae4ebc31b12b605416fd25a0924c35e505d21 AUX 50-ssh-agent-r1 255 BLAKE2B d197daa7db7da3fc667e5bd561d2edf46b484365130a2d72259c4a2f316ec3af957599cd2c755f7e517ff32ed59e068d1dbcd47da6961534668786403590ff20 SHA512 85c8eca948646508ecc52a30a15b94c626196037ab65b4d797df472df34c714aacf800261902febda5b7bc051bff29efc9fff474a0c029838881b7f8704b13ba AUX gdm-2.32.0-xinitrc-ssh-agent.patch 842 BLAKE2B 98233eaf06fbe0950aa36bbc8bee2ac7ffa3cdebe75e32b8ef9a5035c383135bfc77e201d2ee07e7ec6b53770bef20484a3fba93b1cd7f434253704b70563e38 SHA512 40630ec2e7bee66102e141a0ba4d02e4202d052bb829606f684b6c23c9f3dbc2d43cea71d7eba163398251af2d7c7b34d0abafee76ccd6400521551de1c385bd AUX gdm-3.30.3-logo.patch 846 BLAKE2B e99b6621191c509545bc36fe838bc467c3762f2726e247aea1b3cad2a86c0b0e95c5f9953b680a072d244140615c38becbc605998a2be0ed3332d7b5ef802f55 SHA512 63428d4605d9f4f35445f364657c1d92818125a737add7bc5e5acab424beaf8ae5895368111cd2d1c03c75f5fd8b9538d8750ea732a0990b5b82507735850e4c AUX gdm-3.8.4-fingerprint-auth.patch 923 BLAKE2B e681da8518ed1d002c1205658bb35e472e9d130df5d70dfd9eef55f5361cffeee716ebe0eea23f4c19f9f6ec2f4118729616f7f4e2c758990cf7cde3271cc8b2 SHA512 3cf5f9c0eabdae3f767d9b9db6052d760e879c14b9304753cdda56a4f643a9ed97f3ea83f642bfe96d220c8e9e4f99fbbd47c6e99ddfebeb6322a3a033c296d5 AUX gdm-3.8.4-logo.patch 805 BLAKE2B 80c323529acfe9287009494060f3e4d588dcf415845d3502840674ac0108cdd721e9af71e2df7cf94bb69fb3526d76e96bd21f31ed002fce460b30fd2afa3a20 SHA512 98dc0b01f4a4cbb87b32ec52450eb21f07bf96dc4d919cf662314c50fe0f2b1a19c90e3d8d2a0de905e8ada41642c0f89aa89dd640ead7e3d732468c9e363fb2 +AUX gdm-CanGraphical-wait.patch 5534 BLAKE2B 3be217b156ab6d486d7df98885934c5d1bedd6219a25a83cba687aa1ed59f6d0f2a16694a47050313e601355696095ccc738ac639f5958d9619db81d34efe068 SHA512 2152e800051473b8fd230c4b325d72229cfe91dce3e90ad6d8ace8e3278483ab05ce683e61c183f7c83e293873f69715740b1eccfdb34d6775140c635c73b5dd +AUX pam-elogind.patch 835 BLAKE2B 1db26b690d631c152ae7fd84149c7ff3222e8bd258bff78e09cd6f00fe34a8bfdb2499b252a1f15e17d9e4ed315e02260357b57cd31cf8ada5a2705ba1ef4ee0 SHA512 4d2d65741a5bfd1dc686dc986708526161d15ace2d5396bef281a2192d95458a072764483e1422ed1f6eb594fc0caa6baa381371618f907a97f75566209fab7b DIST gdm-3.24.3.tar.xz 1113992 BLAKE2B 79ae5ccf0477779bdb05cea4f0e8b2766caee0552efe8fe044da655037bfd603f1e4ab89a4eb0687f786bf44e9fd1c27e07bc498a769c8f88f0cc22b2dd1c9b1 SHA512 d8edffb582545f452ec071990fd7d07d6cb755458bc77a9e1b807816f8202f70fc8177e4bb345125075347942c6760c5a5460e3570dc32ee2570ecc15e5f3345 -DIST gdm-3.26.2.1.tar.xz 1119568 BLAKE2B 42ccd3d30a5b22124777792ea3e0bb003771df1d3c5a729d29ff14efe5c6365a82126e6b204301b22dd51e4aaffcef4e018b8fdda45eb52e3b76bd921aca9312 SHA512 4a0009935f2f86803a4dd6cdc01c80c9ee89fb8a71f82ffa6fadb16322e4c7f51d82e0e887c30aa09d1b242c3cc82a1ec0d83463e5d8942719a747f6945cbec9 DIST gdm-3.30.3.tar.xz 1261224 BLAKE2B 338f946a24d2a7e4b3cf34ac6accff01f8e7ce5032ee4ce79a96b1a755693e09788c6225e45de9a91ae4afea595a0562511104a467e561ec179c3ad61810468f SHA512 17aed5bf7d27b07553703873cda28a711d6135497d36e4c241bcf1ab3552b31007cc241dab394dccf8a4f1daccf7d55ba39edf91f4b22bdea5c2aa1ea17404b8 DIST tango-gentoo-v1.1.tar.gz 29322 BLAKE2B 83fa2bf37727e60851dd679054fe1b153ebfea58c9a9a40f891f7d68d3b047b02e8effa1d1b4e08d64500a2072ce7200f159c92a352da7124de27e1b05bb6027 SHA512 87d47ddab68361db6d99866c51705dcb3e198f8345a1096859acf2c6cca5099dd23c7fb30d124f52c4933ea38fd45fadffbbe6ecbdfa84f5b60938a4824f9045 EBUILD gdm-3.24.3-r1.ebuild 5913 BLAKE2B b3e84ae6eb46748fa125bb494134e3c0cf8e90d6583c0a270c96e513b0f0f5af5f5cb113a86047038a6a10a0c25add778d7307a886e51d67a156b0dd50decd37 SHA512 24875f6229628dd2f7e8810c473491df1a03a8577782ffd6b538828ee7b92a16de2f54f39abc319e066ede4e5ac46c6082bd3112afc9a51fc199d2dc20df22cc -EBUILD gdm-3.26.2.1-r1.ebuild 5938 BLAKE2B 4a666f06ee67a8b1ce137ff3a493f376d2561e037295277a9992784766971b5a567cba67ec9f21fee0853423f5b9cac87b110c96170f1b3a5654f5544e92cf44 SHA512 35913f4e965cc212774daf5f6e3de1ac3c769a59d04e1e012ee3651a2d00bbf2b78994c6e0451a1ecb3814f8edfe2c8d92e56f38d3444d3eac605756b79ebfa0 -EBUILD gdm-3.30.3.ebuild 6017 BLAKE2B 9d67099f2fc1c4aac168b0588b255fb7b56351da611d58c86e8c86a9f02f6e7c2ff1d08e6995e9a99899e9081a65f0828eb6bde829a581f06fd599fc7184436a SHA512 b8454b9a4c0c14b1ceebe10ebb9852c978f700f7d3be2642c0d4a446b323a0ca585b7555e899e1627cd3cf2f6ac9a0b61366da87c47ac0340170f56080e32786 -MISC metadata.xml 477 BLAKE2B 29eb8d343cd5195f35dc73d07c695dd3090f8f8ea436b88c8a8fb7f15beac82aaeb2b83215443851866e7fcec51aa14ff19c30597a74cd9a73b384ee801b16f0 SHA512 4da6d5a4f518596834d4138db716bf58d2b2f28f07fed6379a6f0d8bdecb6b803fb3b24880dfcb93ff5aac03f512bf08af7f9742d01a497dd4fc6d7a74d1a844 +EBUILD gdm-3.30.3-r2.ebuild 7175 BLAKE2B d3947d6167dc78bd29d2d4554b6debadd31b6cdc97169b66cf39ce0a83d9aefa58a3c1b76a38cec14887ebe7ad1399a3aebb413e2559783d931ff2218136c883 SHA512 2a699b93d8d0819e787050a901e76abe2b1cdabbccff7ba38731e3db01d5f0100e6cb66f643d586f85634445770a27d77c3e3575a1e9c6db9402e88fbb057cb0 +MISC metadata.xml 561 BLAKE2B c2f402e5b3695ebfd886f93f3974b82c0e287e971f81b3ffdd9d956edac9b80fa90829900da238c47421c64b87394d5c9bdd1c4675c0cf37a0e3681c746ba3cc SHA512 203bc4a106b2ce4270dbfbc91f45d6c488b41449b317370dfe1e3c26d2a28bd457d13bfa67e6b7c65f1520fca0cd0ca36197f2063dc4fdd296f76e156dbf4895 diff --git a/gnome-base/gdm/files/3.30.3-pam-drop-legacy-arg.patch b/gnome-base/gdm/files/3.30.3-pam-drop-legacy-arg.patch new file mode 100644 index 000000000000..8d82a284bf50 --- /dev/null +++ b/gnome-base/gdm/files/3.30.3-pam-drop-legacy-arg.patch @@ -0,0 +1,29 @@ +From a26ed5502622c22daa175861fa9d651a32131cf5 Mon Sep 17 00:00:00 2001 +From: Marc-Antoine Perennou <Marc-Antoine@Perennou.com> +Date: Sat, 16 Feb 2019 08:47:45 +0100 +Subject: [PATCH 1/2] pam-exherbo: drop legacy pam_systemd argument + +kill-session-processes=1 is long gone + +Signed-off-by: Marc-Antoine Perennou <Marc-Antoine@Perennou.com> +(cherry picked from commit 13e6666b1e1000d757ac5621a83105110f55e3e3) +--- + data/pam-exherbo/gdm-launch-environment.pam | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/data/pam-exherbo/gdm-launch-environment.pam b/data/pam-exherbo/gdm-launch-environment.pam +index 8c13b3bc..51a8e003 100644 +--- a/data/pam-exherbo/gdm-launch-environment.pam ++++ b/data/pam-exherbo/gdm-launch-environment.pam +@@ -8,7 +8,7 @@ auth required pam_permit.so + + password required pam_deny.so + +--session optional pam_systemd.so kill-session-processes=1 ++-session optional pam_systemd.so + session optional pam_keyinit.so force revoke + session required pam_succeed_if.so audit quiet_success user = gdm + session required pam_permit.so +-- +2.17.0 + diff --git a/gnome-base/gdm/files/gdm-CanGraphical-wait.patch b/gnome-base/gdm/files/gdm-CanGraphical-wait.patch new file mode 100644 index 000000000000..206219d8e059 --- /dev/null +++ b/gnome-base/gdm/files/gdm-CanGraphical-wait.patch @@ -0,0 +1,189 @@ +From 198d6392ff595f330430d92d5c380cd993be73d7 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Marco=20Trevisan=20=28Trevi=C3=B1o=29?= <mail@3v1n0.net> +Date: Tue, 16 Oct 2018 20:59:23 +0200 +Subject: [PATCH] gdm3.service: wait for drm device before trying to start it + +Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/gdm3/+bug/1794280 +Forwarded: not-needed +--- + configure.ac | 1 + + data/Makefile.am | 1 + + data/gdm.service.in | 1 + + utils/Makefile.am | 9 ++++ + utils/gdm-wait-for-drm.c | 101 +++++++++++++++++++++++++++++++++++++++ + 5 files changed, 113 insertions(+) + create mode 100644 utils/gdm-wait-for-drm.c + +diff --git a/configure.ac b/configure.ac +index a8dcfbef..2755c100 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -76,6 +76,7 @@ PKG_CHECK_MODULES(COMMON, + gobject-2.0 >= $GLIB_REQUIRED_VERSION + gio-2.0 >= $GLIB_REQUIRED_VERSION + gio-unix-2.0 >= $GLIB_REQUIRED_VERSION ++ gudev-1.0 + ) + AC_SUBST(COMMON_CFLAGS) + AC_SUBST(COMMON_LIBS) +diff --git a/data/Makefile.am b/data/Makefile.am +index 162074f1..5f426fea 100644 +--- a/data/Makefile.am ++++ b/data/Makefile.am +@@ -204,6 +204,7 @@ systemdsystemunit = + gdm.service: $(srcdir)/gdm.service.in + $(AM_V_GEN)sed \ + -e 's,[@]sbindir[@],$(sbindir),g' \ ++ -e 's,[@]libexecdir[@],$(libexecdir),g' \ + -e 's,[@]GDM_INITIAL_VT[@],$(GDM_INITIAL_VT),g' \ + -e 's,[@]LANG_CONFIG_FILE[@],$(LANG_CONFIG_FILE),g' \ + -e 's,[@]PLYMOUTH_QUIT_SERVICE[@],$(PLYMOUTH_QUIT_SERVICE),g' \ +diff --git a/data/gdm.service.in b/data/gdm.service.in +index 57d60ada..f7630ec4 100644 +--- a/data/gdm.service.in ++++ b/data/gdm.service.in +@@ -30,6 +30,7 @@ StandardError=inherit + EnvironmentFile=-@LANG_CONFIG_FILE@ + ExecReload=/bin/kill -SIGHUP $MAINPID + KeyringMode=shared ++ExecStartPre=@libexecdir@/gdm-wait-for-drm + + [Install] + Alias=display-manager.service +diff --git a/utils/Makefile.am b/utils/Makefile.am +index babe890b..3eb43c30 100644 +--- a/utils/Makefile.am ++++ b/utils/Makefile.am +@@ -35,6 +35,7 @@ bin_PROGRAMS = \ + + libexec_PROGRAMS = \ + gdm-disable-wayland \ ++ gdm-wait-for-drm \ + $(NULL) + + gdmflexiserver_LDADD = \ +@@ -63,6 +64,14 @@ gdm_disable_wayland_SOURCES = \ + gdm-disable-wayland.c \ + $(NULL) + ++gdm_wait_for_drm_LDADD = \ ++ $(COMMON_LIBS) \ ++ $(NULL) ++ ++gdm_wait_for_drm_SOURCES = \ ++ gdm-wait-for-drm.c \ ++ $(NULL) ++ + CLEANFILES = \ + $(NULL) + +diff --git a/utils/gdm-wait-for-drm.c b/utils/gdm-wait-for-drm.c +new file mode 100644 +index 00000000..aeffb3c0 +--- /dev/null ++++ b/utils/gdm-wait-for-drm.c +@@ -0,0 +1,101 @@ ++#include <glib.h> ++#include <gudev/gudev.h> ++ ++/* ++ * Workaround for LP: #1794280. ++ * ++ * That bug is because the DRM device isn't ready by the time GDM tries to ++ * start wayland/X. ++ * This is a script to add to ExecStartPre of gdm.service. It does the ++ * following: ++ * ++ * 1. Enumerate drm devices from udev, looking for a DRM master. If found, ++ * exit. ++ * 2. Connect to the 'uevent' signal of gudev, watching for the same to be ++ * added. Again exit if any are found. ++ * 3. If, after 10 seconds, we haven't seen anything, try to proceed anyway as ++ * a failsafe. ++ */ ++ ++static gboolean ++handle_device (GUdevDevice *device) ++{ ++ const gchar * const * tags; ++ tags = g_udev_device_get_tags (device); ++ g_debug ("%s\n", g_udev_device_get_name (device)); ++ if (g_strv_contains (tags, "master-of-seat")) ++ { ++ g_debug (" is seat master\n"); ++ return TRUE; ++ } ++ ++ return FALSE; ++} ++ ++static void ++uevent_cb (GUdevClient *client G_GNUC_UNUSED, ++ gchar *action, ++ GUdevDevice *device, ++ gpointer user_data) ++{ ++ GMainLoop *loop; ++ ++ g_debug ("uevent action: %s\n", action); ++ ++ loop = (GMainLoop *) user_data; ++ ++ if (g_strcmp0 (action, "add") == 0) ++ { ++ if (handle_device (device)) ++ { ++ g_debug (" this is good\n"); ++ g_main_loop_quit (loop); ++ } ++ else ++ { ++ g_debug (" this is bad\n"); ++ } ++ } ++} ++ ++int ++main() ++{ ++ const gchar * const subsystems[] = { "drm", NULL }; ++ ++ g_autoptr(GList) devices = NULL; ++ g_autoptr(GMainLoop) loop = NULL; ++ g_autoptr(GUdevClient) udev_client = NULL; ++ g_autoptr(GUdevEnumerator) enumerator = NULL; ++ ++ loop = g_main_loop_new (NULL, FALSE); ++ ++ udev_client = g_udev_client_new (subsystems); ++ enumerator = g_udev_enumerator_new (udev_client); ++ g_udev_enumerator_add_match_is_initialized (enumerator); ++ g_udev_enumerator_add_match_subsystem (enumerator, "drm"); ++ ++ devices = g_udev_enumerator_execute (enumerator); ++ ++ g_debug ("enumerating devices...\n"); ++ ++ for (GList *l = devices; l != NULL; l = l->next) ++ { ++ g_autoptr(GUdevDevice) device = G_UDEV_DEVICE (l->data); ++ ++ if (handle_device (device)) ++ { ++ g_debug (" good enough for gdm\n"); ++ return EXIT_SUCCESS; ++ } ++ } ++ ++ g_signal_connect (udev_client, "uevent", G_CALLBACK (uevent_cb), loop); ++ ++ /* after 10 seconds we try anyway */ ++ g_timeout_add_seconds (10, (GSourceFunc) g_main_loop_quit, loop); ++ ++ g_main_loop_run (loop); ++ ++ return EXIT_SUCCESS; ++} +-- +2.17.0 + diff --git a/gnome-base/gdm/files/pam-elogind.patch b/gnome-base/gdm/files/pam-elogind.patch new file mode 100644 index 000000000000..e17bed395b54 --- /dev/null +++ b/gnome-base/gdm/files/pam-elogind.patch @@ -0,0 +1,24 @@ +From 96e605d6bd832a89f022872492a9c9cb1eb62f66 Mon Sep 17 00:00:00 2001 +From: Mart Raudsepp <leio@gentoo.org> +Date: Tue, 19 Mar 2019 23:13:29 +0200 +Subject: [PATCH 2/2] pam-exherbo: Support elogind + +--- + data/pam-exherbo/gdm-launch-environment.pam | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/data/pam-exherbo/gdm-launch-environment.pam b/data/pam-exherbo/gdm-launch-environment.pam +index 51a8e003..c697a528 100644 +--- a/data/pam-exherbo/gdm-launch-environment.pam ++++ b/data/pam-exherbo/gdm-launch-environment.pam +@@ -8,6 +8,7 @@ auth required pam_permit.so + + password required pam_deny.so + ++-session optional pam_elogind.so + -session optional pam_systemd.so + session optional pam_keyinit.so force revoke + session required pam_succeed_if.so audit quiet_success user = gdm +-- +2.17.0 + diff --git a/gnome-base/gdm/gdm-3.26.2.1-r1.ebuild b/gnome-base/gdm/gdm-3.26.2.1-r1.ebuild deleted file mode 100644 index 5d46e8815208..000000000000 --- a/gnome-base/gdm/gdm-3.26.2.1-r1.ebuild +++ /dev/null @@ -1,205 +0,0 @@ -# Copyright 1999-2019 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 -GNOME2_LA_PUNT="yes" - -inherit eutils gnome2 pam readme.gentoo-r1 systemd user - -DESCRIPTION="GNOME Display Manager for managing graphical display servers and user logins" -HOMEPAGE="https://wiki.gnome.org/Projects/GDM" - -SRC_URI="${SRC_URI} - branding? ( https://www.mail-archive.com/tango-artists@lists.freedesktop.org/msg00043/tango-gentoo-v1.1.tar.gz ) -" - -LICENSE=" - GPL-2+ - branding? ( CC-BY-SA-4.0 ) -" - -SLOT="0" - -IUSE="accessibility audit branding fprint +introspection ipv6 plymouth selinux smartcard tcpd test wayland xinerama" - -KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~sh ~x86" - -# NOTE: x11-base/xorg-server dep is for X_SERVER_PATH etc, bug #295686 -# nspr used by smartcard extension -# dconf, dbus and g-s-d are needed at install time for dconf update -# We need either systemd or >=openrc-0.12 to restart gdm properly, bug #463784 -# Requires org.gnome.SettingsDaemon.A11yKeyboard component which doesn't exist in 3.28 -COMMON_DEPEND=" - app-text/iso-codes - >=dev-libs/glib-2.36:2[dbus] - >=x11-libs/gtk+-2.91.1:3 - >=gnome-base/dconf-0.20 - >=gnome-base/gnome-settings-daemon-3.1.4 - <gnome-base/gnome-settings-daemon-3.27 - gnome-base/gsettings-desktop-schemas - >=media-libs/fontconfig-2.5.0:1.0 - >=media-libs/libcanberra-0.4[gtk3] - sys-apps/dbus - >=sys-apps/accountsservice-0.6.35 - - x11-apps/sessreg - x11-base/xorg-server - x11-libs/libXi - x11-libs/libXau - x11-libs/libX11 - x11-libs/libXdmcp - x11-libs/libXext - x11-libs/libXft - x11-libs/libxcb - >=x11-misc/xdg-utils-1.0.2-r3 - - virtual/pam - >=sys-apps/systemd-186:0=[pam] - - sys-auth/pambase[systemd] - - audit? ( sys-process/audit ) - introspection? ( >=dev-libs/gobject-introspection-0.9.12:= ) - plymouth? ( sys-boot/plymouth ) - selinux? ( sys-libs/libselinux ) - tcpd? ( >=sys-apps/tcp-wrappers-7.6 ) - xinerama? ( x11-libs/libXinerama ) -" -# XXX: These deps are from session and desktop files in data/ directory -# fprintd is used via dbus by gdm-fingerprint-extension -# gnome-session-3.6 needed to avoid freezing with orca -RDEPEND="${COMMON_DEPEND} - >=gnome-base/gnome-session-3.6 - >=gnome-base/gnome-shell-3.1.90 - x11-apps/xhost - - accessibility? ( - >=app-accessibility/orca-3.10 - gnome-extra/mousetweaks ) - fprint? ( - sys-auth/fprintd - sys-auth/pam_fprint ) - - !gnome-extra/fast-user-switch-applet -" -DEPEND="${COMMON_DEPEND} - app-text/docbook-xml-dtd:4.1.2 - dev-util/gdbus-codegen - dev-util/glib-utils - >=dev-util/intltool-0.40.0 - dev-util/itstool - virtual/pkgconfig - x11-base/xorg-proto - test? ( >=dev-libs/check-0.9.4 ) -" - -DOC_CONTENTS=" - To make GDM start at boot, run:\n - # systemctl enable gdm.service\n - \n - For passwordless login to unlock your keyring, you need to install - sys-auth/pambase with USE=gnome-keyring and set an empty password - on your keyring. Use app-crypt/seahorse for that.\n - \n - You may need to install app-crypt/coolkey and sys-auth/pam_pkcs11 - for smartcard support -" - -pkg_setup() { - enewgroup gdm - enewgroup video # Just in case it hasn't been created yet - enewuser gdm -1 -1 /var/lib/gdm gdm,video - - # For compatibility with certain versions of nvidia-drivers, etc., need to - # ensure that gdm user is in the video group - if ! egetent group video | grep -q gdm; then - # FIXME XXX: is this at all portable, ldap-safe, etc.? - # XXX: egetent does not have a 1-argument form, so we can't use it to - # get the list of gdm's groups - local g=$(groups gdm) - elog "Adding user gdm to video group" - usermod -G video,${g// /,} gdm || die "Adding user gdm to video group failed" - fi -} - -src_prepare() { - # ssh-agent handling must be done at xinitrc.d, bug #220603 - eapply "${FILESDIR}/${PN}-2.32.0-xinitrc-ssh-agent.patch" - - # Gentoo does not have a fingerprint-auth pam stack - eapply "${FILESDIR}/${PN}-3.8.4-fingerprint-auth.patch" - - # CVE-2018-14424, bug #662782 - eapply "${FILESDIR}/3.24.3-CVE-2018-14424.patch" - eapply "${FILESDIR}/3.24.3-display-object-lifetime-fix.patch" - - # Show logo when branding is enabled - use branding && eapply "${FILESDIR}/${PN}-3.8.4-logo.patch" - - gnome2_src_prepare -} - -src_configure() { - local myconf - # PAM is the only auth scheme supported - # even though configure lists shadow and crypt - # they don't have any corresponding code. - # --with-at-spi-registryd-directory= needs to be passed explicitly because - # of https://bugzilla.gnome.org/show_bug.cgi?id=607643#c4 - # Xevie is obsolete, bug #482304 - # --with-initial-vt=7 conflicts with plymouth, bug #453392 - ! use plymouth && myconf="${myconf} --with-initial-vt=7" - - gnome2_src_configure \ - --enable-gdm-xsession \ - --enable-user-display-server \ - --with-run-dir=/run/gdm \ - --localstatedir="${EPREFIX}"/var \ - --disable-static \ - --with-xdmcp=yes \ - --enable-authentication-scheme=pam \ - --with-default-pam-config=exherbo \ - --with-pam-mod-dir=$(getpam_mod_dir) \ - --with-at-spi-registryd-directory="${EPREFIX}"/usr/libexec \ - --without-xevie \ - --enable-systemd-journal \ - --with-systemdsystemunitdir="$(systemd_get_systemunitdir)" \ - $(use_with audit libaudit) \ - $(use_enable ipv6) \ - $(use_with plymouth) \ - $(use_with selinux) \ - $(use_with tcpd tcp-wrappers) \ - $(use_enable wayland wayland-support) \ - $(use_with xinerama) \ - ${myconf} -} - -src_install() { - gnome2_src_install - - if ! use accessibility ; then - rm "${ED}"/usr/share/gdm/greeter/autostart/orca-autostart.desktop || die - fi - - exeinto /etc/X11/xinit/xinitrc.d - newexe "${FILESDIR}/49-keychain-r1" 49-keychain - newexe "${FILESDIR}/50-ssh-agent-r1" 50-ssh-agent - - # gdm user's home directory - keepdir /var/lib/gdm - fowners gdm:gdm /var/lib/gdm - - # install XDG_DATA_DIRS gdm changes - echo 'XDG_DATA_DIRS="/usr/share/gdm"' > 99xdg-gdm - doenvd 99xdg-gdm - - use branding && newicon "${WORKDIR}/tango-gentoo-v1.1/scalable/gentoo.svg" gentoo-gdm.svg - - readme.gentoo_create_doc -} - -pkg_postinst() { - gnome2_pkg_postinst - systemd_reenable gdm.service - readme.gentoo_print_elog -} diff --git a/gnome-base/gdm/gdm-3.30.3.ebuild b/gnome-base/gdm/gdm-3.30.3-r2.ebuild index 1b23de4ad557..7acebf2d3d85 100644 --- a/gnome-base/gdm/gdm-3.30.3.ebuild +++ b/gnome-base/gdm/gdm-3.30.3-r2.ebuild @@ -3,6 +3,7 @@ EAPI=6 GNOME2_LA_PUNT="yes" +GNOME2_EAUTORECONF="yes" inherit eutils gnome2 pam readme.gentoo-r1 systemd udev user @@ -20,7 +21,8 @@ LICENSE=" SLOT="0" -IUSE="accessibility audit branding fprint +introspection ipv6 plymouth selinux smartcard tcpd test wayland xinerama" +IUSE="accessibility audit branding elogind fprint +introspection ipv6 plymouth selinux smartcard systemd tcpd test wayland xinerama" +REQUIRED_USE="^^ ( elogind systemd )" KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~sh ~x86" @@ -31,6 +33,7 @@ KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~sh ~x86" COMMON_DEPEND=" app-text/iso-codes >=dev-libs/glib-2.44:2 + dev-libs/libgudev >=x11-libs/gtk+-2.91.1:3 >=gnome-base/dconf-0.20 >=gnome-base/gnome-settings-daemon-3.1.4 @@ -49,9 +52,10 @@ COMMON_DEPEND=" >=x11-misc/xdg-utils-1.0.2-r3 virtual/pam - >=sys-apps/systemd-186:0=[pam] + elogind? ( >=sys-auth/elogind-239.3[pam] ) + systemd? ( >=sys-apps/systemd-186:0=[pam] ) - sys-auth/pambase[systemd] + sys-auth/pambase[elogind?,systemd?] audit? ( sys-process/audit ) introspection? ( >=dev-libs/gobject-introspection-0.9.12:= ) @@ -86,12 +90,17 @@ DEPEND="${COMMON_DEPEND} virtual/pkgconfig x11-base/xorg-proto test? ( >=dev-libs/check-0.9.4 ) -" + app-text/yelp-tools +" # yelp-tools needed for eautoreconf to not lose help docs (m4_ifdeffed YELP_HELP_INIT call and setup) DOC_CONTENTS=" - To make GDM start at boot, run:\n + To make GDM start at boot with systemd, run:\n # systemctl enable gdm.service\n \n + To make GDM start at boot with OpenRC, edit /etc/conf.d to have + DISPLAYMANAGER=\"gdm\" and enable the xdm service:\n + # rc-update add xdm + \n For passwordless login to unlock your keyring, you need to install sys-auth/pambase with USE=gnome-keyring and set an empty password on your keyring. Use app-crypt/seahorse for that.\n @@ -124,6 +133,14 @@ src_prepare() { # Gentoo does not have a fingerprint-auth pam stack eapply "${FILESDIR}/${PN}-3.8.4-fingerprint-auth.patch" + # Drop legacy argument to pam_systemd.so, included in 3.32 + eapply "${FILESDIR}/${PV}-pam-drop-legacy-arg.patch" + # Support pam_elogind.so in gdm-launch-environment.pam + eapply "${FILESDIR}/pam-elogind.patch" + + # Wait 10 seconds for a DRM master with systemd. Workaround for gdm not waiting for CanGraphical=yes property on the seat. Bug #613222 + eapply "${FILESDIR}/gdm-CanGraphical-wait.patch" # needs eautoreconf + # Show logo when branding is enabled use branding && eapply "${FILESDIR}/${PN}-3.30.3-logo.patch" @@ -145,29 +162,39 @@ src_configure() { # so lets try always having it in VT1 and see if that is an issue for people before # hacking up workarounds for the initial start case. # ! use plymouth && myconf="${myconf} --with-initial-vt=7" - - gnome2_src_configure \ - --enable-gdm-xsession \ - --enable-user-display-server \ - --with-run-dir=/run/gdm \ - --localstatedir="${EPREFIX}"/var \ - --disable-static \ - --with-xdmcp=yes \ - --enable-authentication-scheme=pam \ - --with-default-pam-config=exherbo \ - --with-pam-mod-dir=$(getpam_mod_dir) \ - --with-udevdir=$(get_udevdir) \ - --with-at-spi-registryd-directory="${EPREFIX}"/usr/libexec \ - --without-xevie \ - --enable-systemd-journal \ - --with-systemdsystemunitdir="$(systemd_get_systemunitdir)" \ - $(use_with audit libaudit) \ - $(use_enable ipv6) \ - $(use_with plymouth) \ - $(use_with selinux) \ - $(use_with tcpd tcp-wrappers) \ - $(use_enable wayland wayland-support) \ + local myconf=( + --enable-gdm-xsession + --enable-user-display-server + --with-run-dir=/run/gdm + --localstatedir="${EPREFIX}"/var + --disable-static + --with-xdmcp=yes + --enable-authentication-scheme=pam + --with-default-pam-config=exherbo + --with-pam-mod-dir=$(getpam_mod_dir) + --with-udevdir=$(get_udevdir) + --with-at-spi-registryd-directory="${EPREFIX}"/usr/libexec + --without-xevie + $(use_enable systemd systemd-journal) + --with-systemdsystemunitdir="$(systemd_get_systemunitdir)" + $(use_with audit libaudit) + $(use_enable ipv6) + $(use_with plymouth) + $(use_with selinux) + $(use_with tcpd tcp-wrappers) + $(use_enable wayland wayland-support) $(use_with xinerama) + ) + + if use elogind; then + myconf+=( + --with-initial-vt=7 # TODO: Revisit together with startDM.sh and other xinit talks; also ignores plymouth possibility + SYSTEMD_CFLAGS=`pkg-config --cflags "libelogind" 2>/dev/null` + SYSTEMD_LIBS=`pkg-config --libs "libelogind" 2>/dev/null` + ) + fi + + gnome2_src_configure "${myconf[@]}" } src_install() { diff --git a/gnome-base/gdm/metadata.xml b/gnome-base/gdm/metadata.xml index 747420ed8b55..ac51d07ebe21 100644 --- a/gnome-base/gdm/metadata.xml +++ b/gnome-base/gdm/metadata.xml @@ -6,6 +6,7 @@ <name>Gentoo GNOME Desktop</name> </maintainer> <use> + <flag name="elogind">Use <pkg>sys-auth/elogind</pkg> for session management</flag> <flag name="fprint">Enables experimental fingerprint authentication using <pkg>sys-auth/fprintd</pkg></flag> <flag name="plymouth">Enable support for smooth transition from |