Gentoo Archives: gentoo-commits

From: Mart Raudsepp <leio@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: gnome-base/gdm/files/, gnome-base/gdm/
Date: Wed, 27 Feb 2019 00:03:51
Message-Id: 1551225729.1fd761de928d583a300453d80527e50616ea271a.leio@gentoo
1 commit: 1fd761de928d583a300453d80527e50616ea271a
2 Author: Mart Raudsepp <leio <AT> gentoo <DOT> org>
3 AuthorDate: Tue Feb 26 23:37:23 2019 +0000
4 Commit: Mart Raudsepp <leio <AT> gentoo <DOT> org>
5 CommitDate: Wed Feb 27 00:02:09 2019 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1fd761de
7
8 gnome-base/gdm: bump to 3.30.3 - now always runs on VT1
9
10 GDM 3.30 has support for killing the login screen when not in use
11 and the login screen (gdm used gnome-shell) is running with wayland.
12 This will save a lot of memory when effective, as gnome-shell and
13 I believe also gnome-settings-daemon and its plugins don't need to
14 keep running anymore after having logged in. Memory wins between
15 100-300MB are to be expected.
16 However if wayland isn't used or gnome-shell crashes with wayland
17 (probably quite likely with gnome-shell-3.26 or older), then the
18 only win is not having an agetty opened on VT1, which saves some
19 ~600kB RAM.
20
21 All this new code assumes the default VT1 is used for gdm. If we
22 keep passing VT7 for initial VT, gdm just never shows a login screen
23 until user manually switches to VT7 with Alt+F7. Instead of making
24 that work, just always use VT1 for now like a good modern distro.
25 We will see later how this works out for non-systemd, but currently
26 the package still hard requires systemd anyways.
27
28 Also drops obsolete sessreg dependency - it was used in the PostSession
29 and co script in the past, but doesn't seem to have been for a long
30 long time. If someone still configures it to be called in their
31 local session scripts, they'll have to install it themselves, as we
32 don't need it imposed on everyone when it's not used out of the box.
33
34 Package-Manager: Portage-2.3.52, Repoman-2.3.12
35 Signed-off-by: Mart Raudsepp <leio <AT> gentoo.org>
36
37 gnome-base/gdm/Manifest | 1 +
38 gnome-base/gdm/files/gdm-3.30.3-logo.patch | 26 ++++
39 gnome-base/gdm/gdm-3.30.3.ebuild | 201 +++++++++++++++++++++++++++++
40 3 files changed, 228 insertions(+)
41
42 diff --git a/gnome-base/gdm/Manifest b/gnome-base/gdm/Manifest
43 index a88429ce191..be50dd83945 100644
44 --- a/gnome-base/gdm/Manifest
45 +++ b/gnome-base/gdm/Manifest
46 @@ -1,3 +1,4 @@
47 DIST gdm-3.24.3.tar.xz 1113992 BLAKE2B 79ae5ccf0477779bdb05cea4f0e8b2766caee0552efe8fe044da655037bfd603f1e4ab89a4eb0687f786bf44e9fd1c27e07bc498a769c8f88f0cc22b2dd1c9b1 SHA512 d8edffb582545f452ec071990fd7d07d6cb755458bc77a9e1b807816f8202f70fc8177e4bb345125075347942c6760c5a5460e3570dc32ee2570ecc15e5f3345
48 DIST gdm-3.26.2.1.tar.xz 1119568 BLAKE2B 42ccd3d30a5b22124777792ea3e0bb003771df1d3c5a729d29ff14efe5c6365a82126e6b204301b22dd51e4aaffcef4e018b8fdda45eb52e3b76bd921aca9312 SHA512 4a0009935f2f86803a4dd6cdc01c80c9ee89fb8a71f82ffa6fadb16322e4c7f51d82e0e887c30aa09d1b242c3cc82a1ec0d83463e5d8942719a747f6945cbec9
49 +DIST gdm-3.30.3.tar.xz 1261224 BLAKE2B 338f946a24d2a7e4b3cf34ac6accff01f8e7ce5032ee4ce79a96b1a755693e09788c6225e45de9a91ae4afea595a0562511104a467e561ec179c3ad61810468f SHA512 17aed5bf7d27b07553703873cda28a711d6135497d36e4c241bcf1ab3552b31007cc241dab394dccf8a4f1daccf7d55ba39edf91f4b22bdea5c2aa1ea17404b8
50 DIST tango-gentoo-v1.1.tar.gz 29322 BLAKE2B 83fa2bf37727e60851dd679054fe1b153ebfea58c9a9a40f891f7d68d3b047b02e8effa1d1b4e08d64500a2072ce7200f159c92a352da7124de27e1b05bb6027 SHA512 87d47ddab68361db6d99866c51705dcb3e198f8345a1096859acf2c6cca5099dd23c7fb30d124f52c4933ea38fd45fadffbbe6ecbdfa84f5b60938a4824f9045
51
52 diff --git a/gnome-base/gdm/files/gdm-3.30.3-logo.patch b/gnome-base/gdm/files/gdm-3.30.3-logo.patch
53 new file mode 100644
54 index 00000000000..8d82b2ed7a6
55 --- /dev/null
56 +++ b/gnome-base/gdm/files/gdm-3.30.3-logo.patch
57 @@ -0,0 +1,26 @@
58 +From bcc651df77a429a6bf9b13892f71fedb1b87a069 Mon Sep 17 00:00:00 2001
59 +From: Gilles Dartiguelongue <eva@g.o>
60 +Date: Wed, 11 Dec 2013 22:46:58 +0100
61 +Subject: [PATCH 4/4] Apply Gentoo branding
62 +
63 +Leio: updated to apply after conversion away from intltool
64 +---
65 + data/org.gnome.login-screen.gschema.xml | 2 +-
66 + 1 file changed, 1 insertion(+), 1 deletion(-)
67 +
68 +diff --git a/data/org.gnome.login-screen.gschema.xml b/data/org.gnome.login-screen.gschema.xml
69 +index 03da374..5e81bc0 100644
70 +--- a/data/org.gnome.login-screen.gschema.xml
71 ++++ b/data/org.gnome.login-screen.gschema.xml
72 +@@ -31,7 +31,7 @@
73 + </description>
74 + </key>
75 + <key name="logo" type="s">
76 +- <default>''</default>
77 ++ <default>'/usr/share/pixmaps/gentoo-gdm.svg'</default>
78 + <summary>
79 + Path to small image at top of user list
80 + </summary>
81 +--
82 +1.8.5.1
83 +
84
85 diff --git a/gnome-base/gdm/gdm-3.30.3.ebuild b/gnome-base/gdm/gdm-3.30.3.ebuild
86 new file mode 100644
87 index 00000000000..1b23de4ad55
88 --- /dev/null
89 +++ b/gnome-base/gdm/gdm-3.30.3.ebuild
90 @@ -0,0 +1,201 @@
91 +# Copyright 1999-2019 Gentoo Authors
92 +# Distributed under the terms of the GNU General Public License v2
93 +
94 +EAPI=6
95 +GNOME2_LA_PUNT="yes"
96 +
97 +inherit eutils gnome2 pam readme.gentoo-r1 systemd udev user
98 +
99 +DESCRIPTION="GNOME Display Manager for managing graphical display servers and user logins"
100 +HOMEPAGE="https://wiki.gnome.org/Projects/GDM"
101 +
102 +SRC_URI="${SRC_URI}
103 + branding? ( https://www.mail-archive.com/tango-artists@×××××××××××××××××.org/msg00043/tango-gentoo-v1.1.tar.gz )
104 +"
105 +
106 +LICENSE="
107 + GPL-2+
108 + branding? ( CC-BY-SA-4.0 )
109 +"
110 +
111 +SLOT="0"
112 +
113 +IUSE="accessibility audit branding fprint +introspection ipv6 plymouth selinux smartcard tcpd test wayland xinerama"
114 +
115 +KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~sh ~x86"
116 +
117 +# NOTE: x11-base/xorg-server dep is for X_SERVER_PATH etc, bug #295686
118 +# nspr used by smartcard extension
119 +# dconf, dbus and g-s-d are needed at install time for dconf update
120 +# We need either systemd or >=openrc-0.12 to restart gdm properly, bug #463784
121 +COMMON_DEPEND="
122 + app-text/iso-codes
123 + >=dev-libs/glib-2.44:2
124 + >=x11-libs/gtk+-2.91.1:3
125 + >=gnome-base/dconf-0.20
126 + >=gnome-base/gnome-settings-daemon-3.1.4
127 + gnome-base/gsettings-desktop-schemas
128 + >=media-libs/fontconfig-2.5.0:1.0
129 + >=media-libs/libcanberra-0.4[gtk3]
130 + sys-apps/dbus
131 + >=sys-apps/accountsservice-0.6.35
132 +
133 + x11-base/xorg-server
134 + x11-libs/libXau
135 + x11-libs/libX11
136 + x11-libs/libXdmcp
137 + x11-libs/libXext
138 + x11-libs/libxcb
139 + >=x11-misc/xdg-utils-1.0.2-r3
140 +
141 + virtual/pam
142 + >=sys-apps/systemd-186:0=[pam]
143 +
144 + sys-auth/pambase[systemd]
145 +
146 + audit? ( sys-process/audit )
147 + introspection? ( >=dev-libs/gobject-introspection-0.9.12:= )
148 + plymouth? ( sys-boot/plymouth )
149 + selinux? ( sys-libs/libselinux )
150 + tcpd? ( >=sys-apps/tcp-wrappers-7.6 )
151 + xinerama? ( x11-libs/libXinerama )
152 +"
153 +# XXX: These deps are from session and desktop files in data/ directory
154 +# fprintd is used via dbus by gdm-fingerprint-extension
155 +# gnome-session-3.6 needed to avoid freezing with orca
156 +RDEPEND="${COMMON_DEPEND}
157 + >=gnome-base/gnome-session-3.6
158 + >=gnome-base/gnome-shell-3.1.90
159 + x11-apps/xhost
160 +
161 + accessibility? (
162 + >=app-accessibility/orca-3.10
163 + gnome-extra/mousetweaks )
164 + fprint? (
165 + sys-auth/fprintd
166 + sys-auth/pam_fprint )
167 +
168 + !gnome-extra/fast-user-switch-applet
169 +"
170 +DEPEND="${COMMON_DEPEND}
171 + app-text/docbook-xml-dtd:4.1.2
172 + dev-util/gdbus-codegen
173 + dev-util/glib-utils
174 + dev-util/itstool
175 + >=sys-devel/gettext-0.19.8
176 + virtual/pkgconfig
177 + x11-base/xorg-proto
178 + test? ( >=dev-libs/check-0.9.4 )
179 +"
180 +
181 +DOC_CONTENTS="
182 + To make GDM start at boot, run:\n
183 + # systemctl enable gdm.service\n
184 + \n
185 + For passwordless login to unlock your keyring, you need to install
186 + sys-auth/pambase with USE=gnome-keyring and set an empty password
187 + on your keyring. Use app-crypt/seahorse for that.\n
188 + \n
189 + You may need to install app-crypt/coolkey and sys-auth/pam_pkcs11
190 + for smartcard support
191 +"
192 +
193 +pkg_setup() {
194 + enewgroup gdm
195 + enewgroup video # Just in case it hasn't been created yet
196 + enewuser gdm -1 -1 /var/lib/gdm gdm,video
197 +
198 + # For compatibility with certain versions of nvidia-drivers, etc., need to
199 + # ensure that gdm user is in the video group
200 + if ! egetent group video | grep -q gdm; then
201 + # FIXME XXX: is this at all portable, ldap-safe, etc.?
202 + # XXX: egetent does not have a 1-argument form, so we can't use it to
203 + # get the list of gdm's groups
204 + local g=$(groups gdm)
205 + elog "Adding user gdm to video group"
206 + usermod -G video,${g// /,} gdm || die "Adding user gdm to video group failed"
207 + fi
208 +}
209 +
210 +src_prepare() {
211 + # ssh-agent handling must be done at xinitrc.d, bug #220603
212 + eapply "${FILESDIR}/${PN}-2.32.0-xinitrc-ssh-agent.patch"
213 +
214 + # Gentoo does not have a fingerprint-auth pam stack
215 + eapply "${FILESDIR}/${PN}-3.8.4-fingerprint-auth.patch"
216 +
217 + # Show logo when branding is enabled
218 + use branding && eapply "${FILESDIR}/${PN}-3.30.3-logo.patch"
219 +
220 + gnome2_src_prepare
221 +}
222 +
223 +src_configure() {
224 + # PAM is the only auth scheme supported
225 + # even though configure lists shadow and crypt
226 + # they don't have any corresponding code.
227 + # --with-at-spi-registryd-directory= needs to be passed explicitly because
228 + # of https://bugzilla.gnome.org/show_bug.cgi?id=607643#c4
229 + # Xevie is obsolete, bug #482304
230 +
231 + # --with-initial-vt=7 conflicts with plymouth, bug #453392
232 + # gdm-3.30 now reaps (stops) the login screen when the login VT isn't active, which
233 + # saves on memory. However this means if we don't start on VT1, gdm doesn't start up
234 + # before user manually goes to VT7. Thus as-is we can not keep gdm away from VT1,
235 + # so lets try always having it in VT1 and see if that is an issue for people before
236 + # hacking up workarounds for the initial start case.
237 + # ! use plymouth && myconf="${myconf} --with-initial-vt=7"
238 +
239 + gnome2_src_configure \
240 + --enable-gdm-xsession \
241 + --enable-user-display-server \
242 + --with-run-dir=/run/gdm \
243 + --localstatedir="${EPREFIX}"/var \
244 + --disable-static \
245 + --with-xdmcp=yes \
246 + --enable-authentication-scheme=pam \
247 + --with-default-pam-config=exherbo \
248 + --with-pam-mod-dir=$(getpam_mod_dir) \
249 + --with-udevdir=$(get_udevdir) \
250 + --with-at-spi-registryd-directory="${EPREFIX}"/usr/libexec \
251 + --without-xevie \
252 + --enable-systemd-journal \
253 + --with-systemdsystemunitdir="$(systemd_get_systemunitdir)" \
254 + $(use_with audit libaudit) \
255 + $(use_enable ipv6) \
256 + $(use_with plymouth) \
257 + $(use_with selinux) \
258 + $(use_with tcpd tcp-wrappers) \
259 + $(use_enable wayland wayland-support) \
260 + $(use_with xinerama)
261 +}
262 +
263 +src_install() {
264 + gnome2_src_install
265 +
266 + if ! use accessibility ; then
267 + rm "${ED}"/usr/share/gdm/greeter/autostart/orca-autostart.desktop || die
268 + fi
269 +
270 + exeinto /etc/X11/xinit/xinitrc.d
271 + newexe "${FILESDIR}/49-keychain-r1" 49-keychain
272 + newexe "${FILESDIR}/50-ssh-agent-r1" 50-ssh-agent
273 +
274 + # gdm user's home directory
275 + keepdir /var/lib/gdm
276 + fowners gdm:gdm /var/lib/gdm
277 +
278 + # install XDG_DATA_DIRS gdm changes
279 + echo 'XDG_DATA_DIRS="/usr/share/gdm"' > 99xdg-gdm
280 + doenvd 99xdg-gdm
281 +
282 + use branding && newicon "${WORKDIR}/tango-gentoo-v1.1/scalable/gentoo.svg" gentoo-gdm.svg
283 +
284 + readme.gentoo_create_doc
285 +}
286 +
287 +pkg_postinst() {
288 + gnome2_pkg_postinst
289 + systemd_reenable gdm.service
290 + readme.gentoo_print_elog
291 +}