* [gentoo-commits] repo/gentoo:master commit in: gnome-base/gdm/files/, gnome-base/gdm/
@ 2016-11-12 0:37 Gilles Dartiguelongue
0 siblings, 0 replies; 9+ messages in thread
From: Gilles Dartiguelongue @ 2016-11-12 0:37 UTC (permalink / raw
To: gentoo-commits
commit: a0613363e125b608ed2d24b97e9d3c5013316ca3
Author: Gilles Dartiguelongue <eva <AT> gentoo <DOT> org>
AuthorDate: Sat Nov 12 00:05:52 2016 +0000
Commit: Gilles Dartiguelongue <eva <AT> gentoo <DOT> org>
CommitDate: Sat Nov 12 00:33:57 2016 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a0613363
gnome-base/gdm: cleanup old revision
Package-Manager: portage-2.3.2
gnome-base/gdm/Manifest | 1 -
.../gdm/files/gdm-3.2.1.1-custom-session.patch | 51 -----
gnome-base/gdm/gdm-3.18.3.ebuild | 218 ---------------------
3 files changed, 270 deletions(-)
diff --git a/gnome-base/gdm/Manifest b/gnome-base/gdm/Manifest
index bc368e1..3011116 100644
--- a/gnome-base/gdm/Manifest
+++ b/gnome-base/gdm/Manifest
@@ -1,4 +1,3 @@
-DIST gdm-3.18.3.tar.xz 1605980 SHA256 068729fa1744b38eb96be5440416e420c6e41783e9e53d0a217c89928581b1a3 SHA512 b1d80a37f8ae7fe924d7539c1d10e15ce5fb25ad00e6ca8ae1e8df5b901a4a7327b126e869eb56b76a6247709fed193eecd636b74643f61e296d371ae7468e98 WHIRLPOOL 6e9e44796787663b75547821972b3e2cfdcf5b0711bafa412ca1c2961ff00de868b5bf664ab949b7e4736ef86e1bbfdce7f6212edda1017ae48114b90d8de40f
DIST gdm-3.20.1.tar.xz 1148952 SHA256 10a2512fc8455a3e60e61907a8419ae7dfba9e7ea80cfb7e2ffa746eb165789f SHA512 6d6121aa86b78e0353f9f4c230151efbf45da64f5af3e0a694ed84ecbf9d64b2ae769755b6f3d0c55b9ad88f2710e4a6cf2aafc15201444a843a40daf40dcbc6 WHIRLPOOL 2a42fb8c0becb51e87f67415fb20c3a2fc90d85b74e919fda0df36cf45f68a271fd9631f0bbdff914a164fcbabcdc535934cd18a75c0f9b6afa08c62190a9e32
DIST gdm-3.22.1.tar.xz 1110372 SHA256 6a43e623f563c2e366297c2ee8d160526a285e102c73936e27a1d79076d6969f SHA512 dfd66017f62b4cfeac41b9f86a09ce826d08b994b608fd3c8bc1a27ed0245a755921bee8720d442e300a60367f7be8a7dc85f917ccc6ef0b71f712348c0e3060 WHIRLPOOL 5c352321590728be20c0e866aadc31092b59f07be90d819ec214df9f6ccb9a60f9c3e2ee7d0518f3a89395e178f18cf4d2edc29c9ce0bdfb70dfda2752bdbc86
DIST tango-gentoo-v1.1.tar.gz 29322 SHA256 518efa4257c8e689488399db23397a89f4dcd5990ce537ef6215860ad5606eb0 SHA512 87d47ddab68361db6d99866c51705dcb3e198f8345a1096859acf2c6cca5099dd23c7fb30d124f52c4933ea38fd45fadffbbe6ecbdfa84f5b60938a4824f9045 WHIRLPOOL 9e1635a505ea48f4fe8bdb3b8b3b43cfb9cf99e3204194c51361b198886e719921cfacbc15f9f6407aa7d0c4af178e24c74b998fc370fa2329040e5be1baf153
diff --git a/gnome-base/gdm/files/gdm-3.2.1.1-custom-session.patch b/gnome-base/gdm/files/gdm-3.2.1.1-custom-session.patch
deleted file mode 100644
index c27f8fd..00000000
--- a/gnome-base/gdm/files/gdm-3.2.1.1-custom-session.patch
+++ /dev/null
@@ -1,51 +0,0 @@
-From e61ece2b42b270dd3f68718fef291be7b7f44aa6 Mon Sep 17 00:00:00 2001
-From: Gilles Dartiguelongue <eva@gentoo.org>
-Date: Tue, 2 Nov 2010 23:19:07 +0100
-Subject: [PATCH 1/4] make custom session work
-
-Gentoo bug: #216984
-
-fix custom sessions not doing sourcing in the proper order.
----
- data/Xsession.in | 18 +++++++++---------
- 1 file changed, 9 insertions(+), 9 deletions(-)
-
-diff --git a/data/Xsession.in b/data/Xsession.in
-index 118518c..201be92 100755
---- a/data/Xsession.in
-+++ b/data/Xsession.in
-@@ -155,15 +155,6 @@ fi
-
- xhost +si:localuser:`id -un` || :
-
--# run all system xinitrc shell scripts.
--if [ -d /etc/X11/xinit/xinitrc.d ]; then
-- for i in /etc/X11/xinit/xinitrc.d/* ; do
-- if [ -x "$i" -a ! -d "$i" ]; then
-- . "$i"
-- fi
-- done
--fi
--
- if [ "x$command" = "xcustom" ] ; then
- if [ -x "$HOME/.xsession" ]; then
- command="$HOME/.xsession"
-@@ -191,6 +182,15 @@ if [ "x$command" = "xdefault" ] ; then
- fi
- fi
-
-+# run all system xinitrc shell scripts.
-+if [ -d /etc/X11/xinit/xinitrc.d ]; then
-+ for i in /etc/X11/xinit/xinitrc.d/* ; do
-+ if [ -x "$i" -a ! -d "$i" ]; then
-+ . "$i"
-+ fi
-+ done
-+fi
-+
- # add ssh-agent if found
- sshagent="`gdmwhich ssh-agent`"
- if [ -n "$sshagent" ] && [ -x "$sshagent" ] && [ -z "$SSH_AUTH_SOCK" ]; then
---
-1.8.5.1
-
diff --git a/gnome-base/gdm/gdm-3.18.3.ebuild b/gnome-base/gdm/gdm-3.18.3.ebuild
deleted file mode 100644
index 3019e3d..00000000
--- a/gnome-base/gdm/gdm-3.18.3.ebuild
+++ /dev/null
@@ -1,218 +0,0 @@
-# Copyright 1999-2016 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI="5"
-GCONF_DEBUG="yes"
-GNOME2_LA_PUNT="yes"
-
-inherit autotools eutils gnome2 pam readme.gentoo-r1 systemd user versionator
-
-DESCRIPTION="GNOME Display Manager for managing graphical display servers and user logins"
-HOMEPAGE="https://wiki.gnome.org/Projects/GDM"
-
-SRC_URI="${SRC_URI}
- branding? ( http://www.mail-archive.com/tango-artists@lists.freedesktop.org/msg00043/tango-gentoo-v1.1.tar.gz )
-"
-
-LICENSE="
- GPL-2+
- branding? ( CC-Sampling-Plus-1.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 ~sparc 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
-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/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.12
-
- 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-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/intltool-0.40.0
- dev-util/itstool
- virtual/pkgconfig
- x11-proto/inputproto
- x11-proto/randrproto
- test? ( >=dev-libs/check-0.9.4 )
- xinerama? ( x11-proto/xineramaproto )
-"
-
-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
- epatch "${FILESDIR}/${PN}-2.32.0-xinitrc-ssh-agent.patch"
-
- # Gentoo does not have a fingerprint-auth pam stack
- epatch "${FILESDIR}/${PN}-3.8.4-fingerprint-auth.patch"
-
- # Show logo when branding is enabled
- use branding && epatch "${FILESDIR}/${PN}-3.8.4-logo.patch"
-
- eautoreconf
-
- 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 \
- --with-run-dir=/run/gdm \
- --localstatedir="${EPREFIX}"/var \
- --disable-static \
- --with-xdmcp=yes \
- --enable-authentication-scheme=pam \
- --with-default-pam-config=exherbo \
- --with-at-spi-registryd-directory="${EPREFIX}"/usr/libexec \
- --without-xevie \
- --enable-systemd-journal \
- $(use_with audit libaudit) \
- $(use_enable ipv6) \
- $(use_with plymouth) \
- $(use_with selinux) \
- $(systemd_with_unitdir) \
- $(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() {
- local d ret
-
- gnome2_pkg_postinst
-
- # bug #436456; gdm crashes if /var/lib/gdm subdirs are not owned by gdm:gdm
- ret=0
- ebegin "Fixing "${EROOT}"var/lib/gdm ownership"
- chown gdm:gdm "${EROOT}var/lib/gdm" || ret=1
- for d in "${EROOT}var/lib/gdm/"{.cache,.config,.local}; do
- [[ ! -e "${d}" ]] || chown -R gdm:gdm "${d}" || ret=1
- done
- eend ${ret}
-
- readme.gentoo_print_elog
-
- if ! version_is_at_least 3.16.0 ${REPLACING_VERSIONS}; then
- ewarn "GDM will now use a new TTY per logged user as explained at:"
- ewarn "https://wiki.gentoo.org/wiki/Project:GNOME/GNOME3-Troubleshooting#GDM_.3E.3D_3.16_opens_one_graphical_session_per_user"
- fi
-}
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: gnome-base/gdm/files/, gnome-base/gdm/
@ 2016-11-21 7:48 Remi Cardona
0 siblings, 0 replies; 9+ messages in thread
From: Remi Cardona @ 2016-11-21 7:48 UTC (permalink / raw
To: gentoo-commits
commit: 718d926ecbdef169e5b3242f868ee30a20da07d1
Author: Rémi Cardona <remi <AT> gentoo <DOT> org>
AuthorDate: Mon Nov 21 07:47:21 2016 +0000
Commit: Remi Cardona <remi <AT> gentoo <DOT> org>
CommitDate: Mon Nov 21 07:47:21 2016 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=718d926e
gnome-base/gdm: install pam_gdm.so in correct location, bug #599714
Package-Manager: portage-2.3.2
.../gdm/files/gdm-3.22.1-pam-module-dir.patch | 52 +++++
gnome-base/gdm/gdm-3.22.1-r1.ebuild | 220 +++++++++++++++++++++
2 files changed, 272 insertions(+)
diff --git a/gnome-base/gdm/files/gdm-3.22.1-pam-module-dir.patch b/gnome-base/gdm/files/gdm-3.22.1-pam-module-dir.patch
new file mode 100644
index 00000000..7dc4392
--- /dev/null
+++ b/gnome-base/gdm/files/gdm-3.22.1-pam-module-dir.patch
@@ -0,0 +1,52 @@
+From 4fc9023bb86689f1391651fa744d9e63ee1d7bbc Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?R=C3=A9mi=20Cardona?= <remi@gentoo.org>
+Date: Mon, 21 Nov 2016 08:18:32 +0100
+Subject: [PATCH] pam_gdm: allow setting pam module dir at configure time
+
+Code taken almost verbatim from gnome-keyring.
+---
+ configure.ac | 10 +++++++++-
+ pam_gdm/Makefile.am | 2 +-
+ 2 files changed, 10 insertions(+), 2 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index dd98992..e0074dd 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -476,7 +476,7 @@ dnl ---------------------------------------------------------------------------
+ dnl - Check for PAM stuff
+ dnl ---------------------------------------------------------------------------
+
+-dnl PAM prefix
++dnl PAM prefix (configuration files)
+ withval=""
+ AC_ARG_WITH(pam-prefix,
+ AS_HELP_STRING([--with-pam-prefix=<prefix>],
+@@ -492,6 +492,14 @@ else
+ fi
+ AC_SUBST(PAM_PREFIX)
+
++dnl PAM dir (dynamic modules)
++AC_ARG_WITH([pam-dir],
++ [AC_HELP_STRING([--with-pam-dir=DIR],
++ [directory to install pam modules in])],
++ [], [with_pam_dir='${libdir}/security'])
++PAM_DEST_DIR="$with_pam_dir"
++AC_SUBST(PAM_DEST_DIR)
++
+ have_pam=no
+ AC_CHECK_LIB(pam, pam_start, have_pam=yes)
+
+diff --git a/pam_gdm/Makefile.am b/pam_gdm/Makefile.am
+index 61d672b..980b31c 100644
+--- a/pam_gdm/Makefile.am
++++ b/pam_gdm/Makefile.am
+@@ -36,4 +36,4 @@ pam_gdm_LTLIBRARIES = \
+ pam_gdm.la \
+ $(END_OF_LIST)
+
+-pam_gdmdir = $(libdir)/security
++pam_gdmdir = $(PAM_DEST_DIR)
+--
+2.10.2
+
diff --git a/gnome-base/gdm/gdm-3.22.1-r1.ebuild b/gnome-base/gdm/gdm-3.22.1-r1.ebuild
new file mode 100644
index 00000000..bf9b916
--- /dev/null
+++ b/gnome-base/gdm/gdm-3.22.1-r1.ebuild
@@ -0,0 +1,220 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=6
+GNOME2_LA_PUNT="yes"
+
+inherit autotools eutils gnome2 pam readme.gentoo-r1 systemd user versionator
+
+DESCRIPTION="GNOME Display Manager for managing graphical display servers and user logins"
+HOMEPAGE="https://wiki.gnome.org/Projects/GDM"
+
+SRC_URI="${SRC_URI}
+ branding? ( http://www.mail-archive.com/tango-artists@lists.freedesktop.org/msg00043/tango-gentoo-v1.1.tar.gz )
+"
+
+LICENSE="
+ GPL-2+
+ branding? ( CC-Sampling-Plus-1.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 ~sparc ~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
+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/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.12
+
+ 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-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/intltool-0.40.0
+ dev-util/itstool
+ virtual/pkgconfig
+ x11-proto/inputproto
+ x11-proto/randrproto
+ test? ( >=dev-libs/check-0.9.4 )
+ xinerama? ( x11-proto/xineramaproto )
+"
+
+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"
+
+ # Show logo when branding is enabled
+ use branding && eapply "${FILESDIR}/${PN}-3.8.4-logo.patch"
+
+ # allow setting pam module dir, bug #599714
+ eapply "${FILESDIR}/${PN}-3.22.1-pam-module-dir.patch"
+
+ eautoreconf
+ 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 \
+ --with-run-dir=/run/gdm \
+ --localstatedir="${EPREFIX}"/var \
+ --disable-static \
+ --with-xdmcp=yes \
+ --enable-authentication-scheme=pam \
+ --with-default-pam-config=exherbo \
+ --with-pam-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() {
+ local d ret
+
+ gnome2_pkg_postinst
+
+ # bug #436456; gdm crashes if /var/lib/gdm subdirs are not owned by gdm:gdm
+ ret=0
+ ebegin "Fixing "${EROOT}"var/lib/gdm ownership"
+ chown gdm:gdm "${EROOT}var/lib/gdm" || ret=1
+ for d in "${EROOT}var/lib/gdm/"{.cache,.config,.local}; do
+ [[ ! -e "${d}" ]] || chown -R gdm:gdm "${d}" || ret=1
+ done
+ eend ${ret}
+
+ readme.gentoo_print_elog
+
+ if ! version_is_at_least 3.16.0 ${REPLACING_VERSIONS}; then
+ ewarn "GDM will now use a new TTY per logged user as explained at:"
+ ewarn "https://wiki.gentoo.org/wiki/Project:GNOME/GNOME3-Troubleshooting#GDM_.3E.3D_3.16_opens_one_graphical_session_per_user"
+ fi
+}
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: gnome-base/gdm/files/, gnome-base/gdm/
@ 2018-02-03 20:56 Mart Raudsepp
0 siblings, 0 replies; 9+ messages in thread
From: Mart Raudsepp @ 2018-02-03 20:56 UTC (permalink / raw
To: gentoo-commits
commit: c4eaab4165a3db91ac359c3b407f7da97c1d0b5b
Author: Mart Raudsepp <leio <AT> gentoo <DOT> org>
AuthorDate: Sat Feb 3 19:46:20 2018 +0000
Commit: Mart Raudsepp <leio <AT> gentoo <DOT> org>
CommitDate: Sat Feb 3 20:53:40 2018 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c4eaab41
gnome-base/gdm: remove old
Package-Manager: Portage-2.3.19, Repoman-2.3.6
gnome-base/gdm/Manifest | 2 -
.../gdm/files/gdm-3.22.1-pam-module-dir.patch | 52 -----
gnome-base/gdm/gdm-3.22.3-r1.ebuild | 218 ---------------------
gnome-base/gdm/gdm-3.24.2.ebuild | 213 --------------------
4 files changed, 485 deletions(-)
diff --git a/gnome-base/gdm/Manifest b/gnome-base/gdm/Manifest
index b7093703d82..95025337e8f 100644
--- a/gnome-base/gdm/Manifest
+++ b/gnome-base/gdm/Manifest
@@ -1,4 +1,2 @@
-DIST gdm-3.22.3.tar.xz 1110740 BLAKE2B 9b41a5e4a01acf14037622ee344613f80d6fc6ef352f8b655e9ec1ce939ca2d20de43f982aa54a24763695c612da5b3d9de8d0ce6080f487ccf1d644df95cbef SHA512 b87acfca13c1d71ed1d7390625d1c36d58cfcde0ea969fa29cde5cabcb2fdf386e30e3b4d3ca057c2cdb99c202dca19d2a478b55083c468c7fb595e69881aebf
-DIST gdm-3.24.2.tar.xz 1113644 BLAKE2B 597187008b8ef0ce05d0d3641550a0738a1eabc6d9f683b37bfd49bf71bcfa0b41f46951fe95bcbf18169c9a846df4ed63dda27a3c55dfabf8b5386f5023808a SHA512 6e2649bce5520532a2976bac8a47629fc4c852d7127b913c29a9c43a7dba26d75472a083cbfff7b64bab56deb38ed13d8387d4d302d55f263c80120255a4a270
DIST gdm-3.24.3.tar.xz 1113992 BLAKE2B 79ae5ccf0477779bdb05cea4f0e8b2766caee0552efe8fe044da655037bfd603f1e4ab89a4eb0687f786bf44e9fd1c27e07bc498a769c8f88f0cc22b2dd1c9b1 SHA512 d8edffb582545f452ec071990fd7d07d6cb755458bc77a9e1b807816f8202f70fc8177e4bb345125075347942c6760c5a5460e3570dc32ee2570ecc15e5f3345
DIST tango-gentoo-v1.1.tar.gz 29322 BLAKE2B 83fa2bf37727e60851dd679054fe1b153ebfea58c9a9a40f891f7d68d3b047b02e8effa1d1b4e08d64500a2072ce7200f159c92a352da7124de27e1b05bb6027 SHA512 87d47ddab68361db6d99866c51705dcb3e198f8345a1096859acf2c6cca5099dd23c7fb30d124f52c4933ea38fd45fadffbbe6ecbdfa84f5b60938a4824f9045
diff --git a/gnome-base/gdm/files/gdm-3.22.1-pam-module-dir.patch b/gnome-base/gdm/files/gdm-3.22.1-pam-module-dir.patch
deleted file mode 100644
index 7dc4392e41c..00000000000
--- a/gnome-base/gdm/files/gdm-3.22.1-pam-module-dir.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-From 4fc9023bb86689f1391651fa744d9e63ee1d7bbc Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?R=C3=A9mi=20Cardona?= <remi@gentoo.org>
-Date: Mon, 21 Nov 2016 08:18:32 +0100
-Subject: [PATCH] pam_gdm: allow setting pam module dir at configure time
-
-Code taken almost verbatim from gnome-keyring.
----
- configure.ac | 10 +++++++++-
- pam_gdm/Makefile.am | 2 +-
- 2 files changed, 10 insertions(+), 2 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index dd98992..e0074dd 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -476,7 +476,7 @@ dnl ---------------------------------------------------------------------------
- dnl - Check for PAM stuff
- dnl ---------------------------------------------------------------------------
-
--dnl PAM prefix
-+dnl PAM prefix (configuration files)
- withval=""
- AC_ARG_WITH(pam-prefix,
- AS_HELP_STRING([--with-pam-prefix=<prefix>],
-@@ -492,6 +492,14 @@ else
- fi
- AC_SUBST(PAM_PREFIX)
-
-+dnl PAM dir (dynamic modules)
-+AC_ARG_WITH([pam-dir],
-+ [AC_HELP_STRING([--with-pam-dir=DIR],
-+ [directory to install pam modules in])],
-+ [], [with_pam_dir='${libdir}/security'])
-+PAM_DEST_DIR="$with_pam_dir"
-+AC_SUBST(PAM_DEST_DIR)
-+
- have_pam=no
- AC_CHECK_LIB(pam, pam_start, have_pam=yes)
-
-diff --git a/pam_gdm/Makefile.am b/pam_gdm/Makefile.am
-index 61d672b..980b31c 100644
---- a/pam_gdm/Makefile.am
-+++ b/pam_gdm/Makefile.am
-@@ -36,4 +36,4 @@ pam_gdm_LTLIBRARIES = \
- pam_gdm.la \
- $(END_OF_LIST)
-
--pam_gdmdir = $(libdir)/security
-+pam_gdmdir = $(PAM_DEST_DIR)
---
-2.10.2
-
diff --git a/gnome-base/gdm/gdm-3.22.3-r1.ebuild b/gnome-base/gdm/gdm-3.22.3-r1.ebuild
deleted file mode 100644
index ea15676a90d..00000000000
--- a/gnome-base/gdm/gdm-3.22.3-r1.ebuild
+++ /dev/null
@@ -1,218 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-GNOME2_LA_PUNT="yes"
-
-inherit autotools eutils gnome2 pam readme.gentoo-r1 systemd user versionator
-
-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
-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/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.12
-
- 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/intltool-0.40.0
- dev-util/itstool
- virtual/pkgconfig
- x11-proto/inputproto
- x11-proto/randrproto
- test? ( >=dev-libs/check-0.9.4 )
- xinerama? ( x11-proto/xineramaproto )
-"
-
-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"
-
- # Show logo when branding is enabled
- use branding && eapply "${FILESDIR}/${PN}-3.8.4-logo.patch"
-
- # allow setting pam module dir, bug #599714
- eapply "${FILESDIR}/${PN}-3.22.1-pam-module-dir.patch"
-
- eautoreconf
- 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-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() {
- local d ret
-
- gnome2_pkg_postinst
-
- # bug #436456; gdm crashes if /var/lib/gdm subdirs are not owned by gdm:gdm
- ret=0
- ebegin "Fixing "${EROOT}"var/lib/gdm ownership"
- chown gdm:gdm "${EROOT}var/lib/gdm" || ret=1
- for d in "${EROOT}var/lib/gdm/"{.cache,.config,.local}; do
- [[ ! -e "${d}" ]] || chown -R gdm:gdm "${d}" || ret=1
- done
- eend ${ret}
-
- systemd_reenable gdm.service
-
- readme.gentoo_print_elog
-}
diff --git a/gnome-base/gdm/gdm-3.24.2.ebuild b/gnome-base/gdm/gdm-3.24.2.ebuild
deleted file mode 100644
index 98e6db80fbb..00000000000
--- a/gnome-base/gdm/gdm-3.24.2.ebuild
+++ /dev/null
@@ -1,213 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# 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 versionator
-
-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
-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/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/intltool-0.40.0
- dev-util/itstool
- virtual/pkgconfig
- x11-proto/inputproto
- x11-proto/randrproto
- test? ( >=dev-libs/check-0.9.4 )
- xinerama? ( x11-proto/xineramaproto )
-"
-
-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"
-
- # 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() {
- local d ret
-
- gnome2_pkg_postinst
-
- # bug #436456; gdm crashes if /var/lib/gdm subdirs are not owned by gdm:gdm
- ret=0
- ebegin "Fixing "${EROOT}"var/lib/gdm ownership"
- chown gdm:gdm "${EROOT}var/lib/gdm" || ret=1
- for d in "${EROOT}var/lib/gdm/"{.cache,.config,.local}; do
- [[ ! -e "${d}" ]] || chown -R gdm:gdm "${d}" || ret=1
- done
- eend ${ret}
-
- systemd_reenable gdm.service
-
- readme.gentoo_print_elog
-}
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: gnome-base/gdm/files/, gnome-base/gdm/
@ 2018-08-15 15:53 Mart Raudsepp
0 siblings, 0 replies; 9+ messages in thread
From: Mart Raudsepp @ 2018-08-15 15:53 UTC (permalink / raw
To: gentoo-commits
commit: fa688468a75b6463a9265e4f85077a60eceddcf2
Author: Mart Raudsepp <leio <AT> gentoo <DOT> org>
AuthorDate: Wed Aug 15 15:30:45 2018 +0000
Commit: Mart Raudsepp <leio <AT> gentoo <DOT> org>
CommitDate: Wed Aug 15 15:52:05 2018 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=fa688468
gnome-base/gdm: CVE-2018-14424 and related patches
While here, remove an ancient fixup for a supposedly
temporary gdm-3.5 bug that had resulted in wrong /var/lib/gdm
permissions, and remove unused versionator inherit.
Bug: https://bugs.gentoo.org/662782
Package-Manager: Portage-2.3.44, Repoman-2.3.10
gnome-base/gdm/files/3.24.3-CVE-2018-14424.patch | 163 +++++++++++++++++
.../files/3.24.3-display-object-lifetime-fix.patch | 61 +++++++
gnome-base/gdm/gdm-3.24.3-r1.ebuild | 202 +++++++++++++++++++++
3 files changed, 426 insertions(+)
diff --git a/gnome-base/gdm/files/3.24.3-CVE-2018-14424.patch b/gnome-base/gdm/files/3.24.3-CVE-2018-14424.patch
new file mode 100644
index 00000000000..4edb0670958
--- /dev/null
+++ b/gnome-base/gdm/files/3.24.3-CVE-2018-14424.patch
@@ -0,0 +1,163 @@
+From 6060db704a19b0db68f2e9e6a2d020c0c78b6bba Mon Sep 17 00:00:00 2001
+From: Chris Coulson <chris.coulson@canonical.com>
+Date: Thu, 19 Jul 2018 18:26:05 +0100
+Subject: [PATCH] display-store: Pass the display object rather than the id in
+ the removed signal
+
+By the time GdmDisplayStore emits the "display-removed" signal, the display
+is no longer in the store and gdm_display_store_lookup will not work in
+signal handlers.
+
+Change the "display-removed" parameter from the display id to the GdmDisplay
+object, so that signal handers can perform any cleanup they need to do
+
+CVE-2018-14424
+
+Closes: https://gitlab.gnome.org/GNOME/gdm/issues/401
+---
+ daemon/gdm-display-store.c | 11 +++--------
+ daemon/gdm-display-store.h | 2 +-
+ daemon/gdm-local-display-factory.c | 13 +++----------
+ daemon/gdm-manager.c | 19 +++++++++----------
+ daemon/gdm-manager.h | 3 ++-
+ 5 files changed, 18 insertions(+), 30 deletions(-)
+
+diff --git a/daemon/gdm-display-store.c b/daemon/gdm-display-store.c
+index af76f519..fd24334e 100644
+--- a/daemon/gdm-display-store.c
++++ b/daemon/gdm-display-store.c
+@@ -76,15 +76,10 @@ stored_display_new (GdmDisplayStore *store,
+ static void
+ stored_display_free (StoredDisplay *stored_display)
+ {
+- char *id;
+-
+- gdm_display_get_id (stored_display->display, &id, NULL);
+-
+ g_signal_emit (G_OBJECT (stored_display->store),
+ signals[DISPLAY_REMOVED],
+ 0,
+- id);
+- g_free (id);
++ stored_display->display);
+
+ g_debug ("GdmDisplayStore: Unreffing display: %p",
+ stored_display->display);
+@@ -281,9 +276,9 @@ gdm_display_store_class_init (GdmDisplayStoreClass *klass)
+ G_STRUCT_OFFSET (GdmDisplayStoreClass, display_removed),
+ NULL,
+ NULL,
+- g_cclosure_marshal_VOID__STRING,
++ g_cclosure_marshal_VOID__OBJECT,
+ G_TYPE_NONE,
+- 1, G_TYPE_STRING);
++ 1, G_TYPE_OBJECT);
+
+ g_type_class_add_private (klass, sizeof (GdmDisplayStorePrivate));
+ }
+diff --git a/daemon/gdm-display-store.h b/daemon/gdm-display-store.h
+index 28359933..0aff8ee2 100644
+--- a/daemon/gdm-display-store.h
++++ b/daemon/gdm-display-store.h
+@@ -49,7 +49,7 @@ typedef struct
+ void (* display_added) (GdmDisplayStore *display_store,
+ const char *id);
+ void (* display_removed) (GdmDisplayStore *display_store,
+- const char *id);
++ GdmDisplay *display);
+ } GdmDisplayStoreClass;
+
+ typedef enum
+diff --git a/daemon/gdm-local-display-factory.c b/daemon/gdm-local-display-factory.c
+index b29f5ac5..403921d3 100644
+--- a/daemon/gdm-local-display-factory.c
++++ b/daemon/gdm-local-display-factory.c
+@@ -558,18 +558,11 @@ on_display_added (GdmDisplayStore *display_store,
+
+ static void
+ on_display_removed (GdmDisplayStore *display_store,
+- const char *id,
++ GdmDisplay *display,
+ GdmLocalDisplayFactory *factory)
+ {
+- GdmDisplay *display;
+-
+- display = gdm_display_store_lookup (display_store, id);
+-
+- if (display != NULL) {
+- g_signal_handlers_disconnect_by_func (display, G_CALLBACK (on_display_status_changed), factory);
+- g_object_weak_unref (G_OBJECT (display), (GWeakNotify)on_display_disposed, factory);
+-
+- }
++ g_signal_handlers_disconnect_by_func (display, G_CALLBACK (on_display_status_changed), factory);
++ g_object_weak_unref (G_OBJECT (display), (GWeakNotify)on_display_disposed, factory);
+ }
+
+ static gboolean
+diff --git a/daemon/gdm-manager.c b/daemon/gdm-manager.c
+index 7539acf1..1943d89e 100644
+--- a/daemon/gdm-manager.c
++++ b/daemon/gdm-manager.c
+@@ -1700,19 +1700,18 @@ on_display_status_changed (GdmDisplay *display,
+
+ static void
+ on_display_removed (GdmDisplayStore *display_store,
+- const char *id,
++ GdmDisplay *display,
+ GdmManager *manager)
+ {
+- GdmDisplay *display;
++ char *id;
+
+- display = gdm_display_store_lookup (display_store, id);
+- if (display != NULL) {
+- g_dbus_object_manager_server_unexport (manager->priv->object_manager, id);
++ gdm_display_get_id (display, &id, NULL);
++ g_dbus_object_manager_server_unexport (manager->priv->object_manager, id);
++ g_free (id);
+
+- g_signal_handlers_disconnect_by_func (display, G_CALLBACK (on_display_status_changed), manager);
++ g_signal_handlers_disconnect_by_func (display, G_CALLBACK (on_display_status_changed), manager);
+
+- g_signal_emit (manager, signals[DISPLAY_REMOVED], 0, id);
+- }
++ g_signal_emit (manager, signals[DISPLAY_REMOVED], 0, display);
+ }
+
+ static void
+@@ -2694,9 +2693,9 @@ gdm_manager_class_init (GdmManagerClass *klass)
+ G_STRUCT_OFFSET (GdmManagerClass, display_removed),
+ NULL,
+ NULL,
+- g_cclosure_marshal_VOID__STRING,
++ g_cclosure_marshal_VOID__OBJECT,
+ G_TYPE_NONE,
+- 1, G_TYPE_STRING);
++ 1, G_TYPE_OBJECT);
+
+ g_object_class_install_property (object_class,
+ PROP_XDMCP_ENABLED,
+diff --git a/daemon/gdm-manager.h b/daemon/gdm-manager.h
+index 41c68a7a..c8fb3f22 100644
+--- a/daemon/gdm-manager.h
++++ b/daemon/gdm-manager.h
+@@ -24,6 +24,7 @@
+
+ #include <glib-object.h>
+
++#include "gdm-display.h"
+ #include "gdm-manager-glue.h"
+
+ G_BEGIN_DECLS
+@@ -50,7 +51,7 @@ typedef struct
+ void (* display_added) (GdmManager *manager,
+ const char *id);
+ void (* display_removed) (GdmManager *manager,
+- const char *id);
++ GdmDisplay *display);
+ } GdmManagerClass;
+
+ typedef enum
+--
+2.17.1
+
diff --git a/gnome-base/gdm/files/3.24.3-display-object-lifetime-fix.patch b/gnome-base/gdm/files/3.24.3-display-object-lifetime-fix.patch
new file mode 100644
index 00000000000..47366ed686c
--- /dev/null
+++ b/gnome-base/gdm/files/3.24.3-display-object-lifetime-fix.patch
@@ -0,0 +1,61 @@
+From 765b306c364885dd89d47fe9fe8618ce6a467bc1 Mon Sep 17 00:00:00 2001
+From: Ray Strode <rstrode@redhat.com>
+Date: Thu, 19 Jul 2018 16:01:23 -0400
+Subject: [PATCH] display: tie skeleton handlers to object lifetime
+
+Right now we assume a display skeleton object won't
+outlive its associated display object.
+
+In theory that should be true, but if we accidentally
+leak the skeleton it could erroneously happen.
+
+If that does happen then we'll end accessing free'd
+memory, so the leak will turn into a crasher.
+
+This commit addresses this problem by ensuring
+the skeleton signal handlers are disconnected when the
+associated display object goes away.
+
+CVE-2018-14424
+---
+ daemon/gdm-display.c | 24 ++++++++++++------------
+ 1 file changed, 12 insertions(+), 12 deletions(-)
+
+diff --git a/daemon/gdm-display.c b/daemon/gdm-display.c
+index 1b58781d..5e193f2f 100644
+--- a/daemon/gdm-display.c
++++ b/daemon/gdm-display.c
+@@ -1109,18 +1109,18 @@ register_display (GdmDisplay *self)
+ self->priv->object_skeleton = g_dbus_object_skeleton_new (self->priv->id);
+ self->priv->display_skeleton = GDM_DBUS_DISPLAY (gdm_dbus_display_skeleton_new ());
+
+- g_signal_connect (self->priv->display_skeleton, "handle-get-id",
+- G_CALLBACK (handle_get_id), self);
+- g_signal_connect (self->priv->display_skeleton, "handle-get-remote-hostname",
+- G_CALLBACK (handle_get_remote_hostname), self);
+- g_signal_connect (self->priv->display_skeleton, "handle-get-seat-id",
+- G_CALLBACK (handle_get_seat_id), self);
+- g_signal_connect (self->priv->display_skeleton, "handle-get-x11-display-name",
+- G_CALLBACK (handle_get_x11_display_name), self);
+- g_signal_connect (self->priv->display_skeleton, "handle-is-local",
+- G_CALLBACK (handle_is_local), self);
+- g_signal_connect (self->priv->display_skeleton, "handle-is-initial",
+- G_CALLBACK (handle_is_initial), self);
++ g_signal_connect_object (self->priv->display_skeleton, "handle-get-id",
++ G_CALLBACK (handle_get_id), self, 0);
++ g_signal_connect_object (self->priv->display_skeleton, "handle-get-remote-hostname",
++ G_CALLBACK (handle_get_remote_hostname), self, 0);
++ g_signal_connect_object (self->priv->display_skeleton, "handle-get-seat-id",
++ G_CALLBACK (handle_get_seat_id), self, 0);
++ g_signal_connect_object (self->priv->display_skeleton, "handle-get-x11-display-name",
++ G_CALLBACK (handle_get_x11_display_name), self, 0);
++ g_signal_connect_object (self->priv->display_skeleton, "handle-is-local",
++ G_CALLBACK (handle_is_local), self, 0);
++ g_signal_connect_object (self->priv->display_skeleton, "handle-is-initial",
++ G_CALLBACK (handle_is_initial), self, 0);
+
+ g_dbus_object_skeleton_add_interface (self->priv->object_skeleton,
+ G_DBUS_INTERFACE_SKELETON (self->priv->display_skeleton));
+--
+2.17.1
+
diff --git a/gnome-base/gdm/gdm-3.24.3-r1.ebuild b/gnome-base/gdm/gdm-3.24.3-r1.ebuild
new file mode 100644
index 00000000000..a2cb1b8cc7a
--- /dev/null
+++ b/gnome-base/gdm/gdm-3.24.3-r1.ebuild
@@ -0,0 +1,202 @@
+# Copyright 1999-2018 Gentoo Foundation
+# 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
+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/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/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}/${PV}-CVE-2018-14424.patch"
+ eapply "${FILESDIR}/${PV}-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
+}
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: gnome-base/gdm/files/, gnome-base/gdm/
@ 2019-02-27 0:03 Mart Raudsepp
0 siblings, 0 replies; 9+ messages in thread
From: Mart Raudsepp @ 2019-02-27 0:03 UTC (permalink / raw
To: gentoo-commits
commit: 1fd761de928d583a300453d80527e50616ea271a
Author: Mart Raudsepp <leio <AT> gentoo <DOT> org>
AuthorDate: Tue Feb 26 23:37:23 2019 +0000
Commit: Mart Raudsepp <leio <AT> gentoo <DOT> org>
CommitDate: Wed Feb 27 00:02:09 2019 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1fd761de
gnome-base/gdm: bump to 3.30.3 - now always runs on VT1
GDM 3.30 has support for killing the login screen when not in use
and the login screen (gdm used gnome-shell) is running with wayland.
This will save a lot of memory when effective, as gnome-shell and
I believe also gnome-settings-daemon and its plugins don't need to
keep running anymore after having logged in. Memory wins between
100-300MB are to be expected.
However if wayland isn't used or gnome-shell crashes with wayland
(probably quite likely with gnome-shell-3.26 or older), then the
only win is not having an agetty opened on VT1, which saves some
~600kB RAM.
All this new code assumes the default VT1 is used for gdm. If we
keep passing VT7 for initial VT, gdm just never shows a login screen
until user manually switches to VT7 with Alt+F7. Instead of making
that work, just always use VT1 for now like a good modern distro.
We will see later how this works out for non-systemd, but currently
the package still hard requires systemd anyways.
Also drops obsolete sessreg dependency - it was used in the PostSession
and co script in the past, but doesn't seem to have been for a long
long time. If someone still configures it to be called in their
local session scripts, they'll have to install it themselves, as we
don't need it imposed on everyone when it's not used out of the box.
Package-Manager: Portage-2.3.52, Repoman-2.3.12
Signed-off-by: Mart Raudsepp <leio <AT> gentoo.org>
gnome-base/gdm/Manifest | 1 +
gnome-base/gdm/files/gdm-3.30.3-logo.patch | 26 ++++
gnome-base/gdm/gdm-3.30.3.ebuild | 201 +++++++++++++++++++++++++++++
3 files changed, 228 insertions(+)
diff --git a/gnome-base/gdm/Manifest b/gnome-base/gdm/Manifest
index a88429ce191..be50dd83945 100644
--- a/gnome-base/gdm/Manifest
+++ b/gnome-base/gdm/Manifest
@@ -1,3 +1,4 @@
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
diff --git a/gnome-base/gdm/files/gdm-3.30.3-logo.patch b/gnome-base/gdm/files/gdm-3.30.3-logo.patch
new file mode 100644
index 00000000000..8d82b2ed7a6
--- /dev/null
+++ b/gnome-base/gdm/files/gdm-3.30.3-logo.patch
@@ -0,0 +1,26 @@
+From bcc651df77a429a6bf9b13892f71fedb1b87a069 Mon Sep 17 00:00:00 2001
+From: Gilles Dartiguelongue <eva@gentoo.org>
+Date: Wed, 11 Dec 2013 22:46:58 +0100
+Subject: [PATCH 4/4] Apply Gentoo branding
+
+Leio: updated to apply after conversion away from intltool
+---
+ data/org.gnome.login-screen.gschema.xml | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/data/org.gnome.login-screen.gschema.xml b/data/org.gnome.login-screen.gschema.xml
+index 03da374..5e81bc0 100644
+--- a/data/org.gnome.login-screen.gschema.xml
++++ b/data/org.gnome.login-screen.gschema.xml
+@@ -31,7 +31,7 @@
+ </description>
+ </key>
+ <key name="logo" type="s">
+- <default>''</default>
++ <default>'/usr/share/pixmaps/gentoo-gdm.svg'</default>
+ <summary>
+ Path to small image at top of user list
+ </summary>
+--
+1.8.5.1
+
diff --git a/gnome-base/gdm/gdm-3.30.3.ebuild b/gnome-base/gdm/gdm-3.30.3.ebuild
new file mode 100644
index 00000000000..1b23de4ad55
--- /dev/null
+++ b/gnome-base/gdm/gdm-3.30.3.ebuild
@@ -0,0 +1,201 @@
+# 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 udev 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
+COMMON_DEPEND="
+ app-text/iso-codes
+ >=dev-libs/glib-2.44:2
+ >=x11-libs/gtk+-2.91.1:3
+ >=gnome-base/dconf-0.20
+ >=gnome-base/gnome-settings-daemon-3.1.4
+ 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-base/xorg-server
+ x11-libs/libXau
+ x11-libs/libX11
+ x11-libs/libXdmcp
+ x11-libs/libXext
+ 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/itstool
+ >=sys-devel/gettext-0.19.8
+ 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"
+
+ # Show logo when branding is enabled
+ use branding && eapply "${FILESDIR}/${PN}-3.30.3-logo.patch"
+
+ gnome2_src_prepare
+}
+
+src_configure() {
+ # 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
+ # gdm-3.30 now reaps (stops) the login screen when the login VT isn't active, which
+ # saves on memory. However this means if we don't start on VT1, gdm doesn't start up
+ # before user manually goes to VT7. Thus as-is we can not keep gdm away from VT1,
+ # 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) \
+ $(use_with xinerama)
+}
+
+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
+}
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: gnome-base/gdm/files/, gnome-base/gdm/
@ 2019-03-27 10:12 Mart Raudsepp
0 siblings, 0 replies; 9+ messages in thread
From: Mart Raudsepp @ 2019-03-27 10:12 UTC (permalink / raw
To: gentoo-commits
commit: 85ea6bed8c994eae9891af1a2fba0e99aa1c3031
Author: Mart Raudsepp <leio <AT> gentoo <DOT> org>
AuthorDate: Wed Mar 27 08:37:19 2019 +0000
Commit: Mart Raudsepp <leio <AT> gentoo <DOT> org>
CommitDate: Wed Mar 27 10:11:03 2019 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=85ea6bed
gnome-base/gdm: wait for graphics DRM master with systemd
gdm currently lacks code to properly wait for the CanGraphical property
on a logind seat to switch to "Yes" before gnome-shell is started for the
login VT. This is a problem, especially with wayland enabled, when the
graphics system isn't fully initialized by the time gdm is started in
parallel, because gnome-shell will fail to start graphics and gdm will
retry with a X session, which likely succeeds at that point. This
unexpectedly ends up in a gdm Xorg session, instead of a gdm Wayland
session, which won't be able to start Wayland sessions, or reap itself
for memory savings once logged in, etc.
For systemd we can grab a workaround used by Ubuntu, which adds an
ExecStartPre command to the gdm service, that waits for the DRM master
to appear (with a 10 seconds safety fallback) before letting gdm itself
start up.
For OpenRC this is not effective, but combined with usually slower startup
of the system with OpenRC, and xdm service usually starting at the very end
(compared to rather early in parallel with systemd) due to various service
rules, it should be much more unlikely to be a problem for OpenRC systems,
or even impossible if something in init deps ends up waiting for udev to
settle.
Eventually, in a future release, there should be upstream gdm full
CanGraphical waiting on its own, which should solve any OpenRC issues as
well, provided that in-use elogind handles CanGraphical correctly (there
have been issues in systemd code too).
Bug: https://bugs.gentoo.org/613222
Package-Manager: Portage-2.3.52, Repoman-2.3.12
Signed-off-by: Mart Raudsepp <leio <AT> gentoo.org>
gnome-base/gdm/files/gdm-CanGraphical-wait.patch | 189 +++++++++++++++++++
gnome-base/gdm/gdm-3.30.3-r2.ebuild | 228 +++++++++++++++++++++++
2 files changed, 417 insertions(+)
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 00000000000..206219d8e05
--- /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/gdm-3.30.3-r2.ebuild b/gnome-base/gdm/gdm-3.30.3-r2.ebuild
new file mode 100644
index 00000000000..7acebf2d3d8
--- /dev/null
+++ b/gnome-base/gdm/gdm-3.30.3-r2.ebuild
@@ -0,0 +1,228 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+GNOME2_LA_PUNT="yes"
+GNOME2_EAUTORECONF="yes"
+
+inherit eutils gnome2 pam readme.gentoo-r1 systemd udev 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 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"
+
+# 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
+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
+ 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-base/xorg-server
+ x11-libs/libXau
+ x11-libs/libX11
+ x11-libs/libXdmcp
+ x11-libs/libXext
+ x11-libs/libxcb
+ >=x11-misc/xdg-utils-1.0.2-r3
+
+ virtual/pam
+ elogind? ( >=sys-auth/elogind-239.3[pam] )
+ systemd? ( >=sys-apps/systemd-186:0=[pam] )
+
+ sys-auth/pambase[elogind?,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/itstool
+ >=sys-devel/gettext-0.19.8
+ 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 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
+ \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"
+
+ # 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"
+
+ gnome2_src_prepare
+}
+
+src_configure() {
+ # 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
+ # gdm-3.30 now reaps (stops) the login screen when the login VT isn't active, which
+ # saves on memory. However this means if we don't start on VT1, gdm doesn't start up
+ # before user manually goes to VT7. Thus as-is we can not keep gdm away from VT1,
+ # 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"
+ 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() {
+ 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
+}
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: gnome-base/gdm/files/, gnome-base/gdm/
@ 2019-05-18 20:46 Mart Raudsepp
0 siblings, 0 replies; 9+ messages in thread
From: Mart Raudsepp @ 2019-05-18 20:46 UTC (permalink / raw
To: gentoo-commits
commit: 19504fdd71b794f52a93462a0a85ff72dbf60907
Author: Mart Raudsepp <leio <AT> gentoo <DOT> org>
AuthorDate: Sat May 18 20:13:14 2019 +0000
Commit: Mart Raudsepp <leio <AT> gentoo <DOT> org>
CommitDate: Sat May 18 20:44:02 2019 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=19504fdd
gnome-base/gdm: remove old
Package-Manager: Portage-2.3.62, Repoman-2.3.12
Signed-off-by: Mart Raudsepp <leio <AT> gentoo.org>
gnome-base/gdm/Manifest | 1 -
gnome-base/gdm/files/3.24.3-CVE-2018-14424.patch | 163 ---------------
.../files/3.24.3-display-object-lifetime-fix.patch | 61 ------
gnome-base/gdm/files/gdm-3.8.4-logo.patch | 25 ---
gnome-base/gdm/gdm-3.24.3-r1.ebuild | 204 ------------------
gnome-base/gdm/gdm-3.30.3-r2.ebuild | 228 ---------------------
6 files changed, 682 deletions(-)
diff --git a/gnome-base/gdm/Manifest b/gnome-base/gdm/Manifest
index 1958502cf55..255498fa2a5 100644
--- a/gnome-base/gdm/Manifest
+++ b/gnome-base/gdm/Manifest
@@ -1,3 +1,2 @@
-DIST gdm-3.24.3.tar.xz 1113992 BLAKE2B 79ae5ccf0477779bdb05cea4f0e8b2766caee0552efe8fe044da655037bfd603f1e4ab89a4eb0687f786bf44e9fd1c27e07bc498a769c8f88f0cc22b2dd1c9b1 SHA512 d8edffb582545f452ec071990fd7d07d6cb755458bc77a9e1b807816f8202f70fc8177e4bb345125075347942c6760c5a5460e3570dc32ee2570ecc15e5f3345
DIST gdm-3.30.3.tar.xz 1261224 BLAKE2B 338f946a24d2a7e4b3cf34ac6accff01f8e7ce5032ee4ce79a96b1a755693e09788c6225e45de9a91ae4afea595a0562511104a467e561ec179c3ad61810468f SHA512 17aed5bf7d27b07553703873cda28a711d6135497d36e4c241bcf1ab3552b31007cc241dab394dccf8a4f1daccf7d55ba39edf91f4b22bdea5c2aa1ea17404b8
DIST tango-gentoo-v1.1.tar.gz 29322 BLAKE2B 83fa2bf37727e60851dd679054fe1b153ebfea58c9a9a40f891f7d68d3b047b02e8effa1d1b4e08d64500a2072ce7200f159c92a352da7124de27e1b05bb6027 SHA512 87d47ddab68361db6d99866c51705dcb3e198f8345a1096859acf2c6cca5099dd23c7fb30d124f52c4933ea38fd45fadffbbe6ecbdfa84f5b60938a4824f9045
diff --git a/gnome-base/gdm/files/3.24.3-CVE-2018-14424.patch b/gnome-base/gdm/files/3.24.3-CVE-2018-14424.patch
deleted file mode 100644
index 4edb0670958..00000000000
--- a/gnome-base/gdm/files/3.24.3-CVE-2018-14424.patch
+++ /dev/null
@@ -1,163 +0,0 @@
-From 6060db704a19b0db68f2e9e6a2d020c0c78b6bba Mon Sep 17 00:00:00 2001
-From: Chris Coulson <chris.coulson@canonical.com>
-Date: Thu, 19 Jul 2018 18:26:05 +0100
-Subject: [PATCH] display-store: Pass the display object rather than the id in
- the removed signal
-
-By the time GdmDisplayStore emits the "display-removed" signal, the display
-is no longer in the store and gdm_display_store_lookup will not work in
-signal handlers.
-
-Change the "display-removed" parameter from the display id to the GdmDisplay
-object, so that signal handers can perform any cleanup they need to do
-
-CVE-2018-14424
-
-Closes: https://gitlab.gnome.org/GNOME/gdm/issues/401
----
- daemon/gdm-display-store.c | 11 +++--------
- daemon/gdm-display-store.h | 2 +-
- daemon/gdm-local-display-factory.c | 13 +++----------
- daemon/gdm-manager.c | 19 +++++++++----------
- daemon/gdm-manager.h | 3 ++-
- 5 files changed, 18 insertions(+), 30 deletions(-)
-
-diff --git a/daemon/gdm-display-store.c b/daemon/gdm-display-store.c
-index af76f519..fd24334e 100644
---- a/daemon/gdm-display-store.c
-+++ b/daemon/gdm-display-store.c
-@@ -76,15 +76,10 @@ stored_display_new (GdmDisplayStore *store,
- static void
- stored_display_free (StoredDisplay *stored_display)
- {
-- char *id;
--
-- gdm_display_get_id (stored_display->display, &id, NULL);
--
- g_signal_emit (G_OBJECT (stored_display->store),
- signals[DISPLAY_REMOVED],
- 0,
-- id);
-- g_free (id);
-+ stored_display->display);
-
- g_debug ("GdmDisplayStore: Unreffing display: %p",
- stored_display->display);
-@@ -281,9 +276,9 @@ gdm_display_store_class_init (GdmDisplayStoreClass *klass)
- G_STRUCT_OFFSET (GdmDisplayStoreClass, display_removed),
- NULL,
- NULL,
-- g_cclosure_marshal_VOID__STRING,
-+ g_cclosure_marshal_VOID__OBJECT,
- G_TYPE_NONE,
-- 1, G_TYPE_STRING);
-+ 1, G_TYPE_OBJECT);
-
- g_type_class_add_private (klass, sizeof (GdmDisplayStorePrivate));
- }
-diff --git a/daemon/gdm-display-store.h b/daemon/gdm-display-store.h
-index 28359933..0aff8ee2 100644
---- a/daemon/gdm-display-store.h
-+++ b/daemon/gdm-display-store.h
-@@ -49,7 +49,7 @@ typedef struct
- void (* display_added) (GdmDisplayStore *display_store,
- const char *id);
- void (* display_removed) (GdmDisplayStore *display_store,
-- const char *id);
-+ GdmDisplay *display);
- } GdmDisplayStoreClass;
-
- typedef enum
-diff --git a/daemon/gdm-local-display-factory.c b/daemon/gdm-local-display-factory.c
-index b29f5ac5..403921d3 100644
---- a/daemon/gdm-local-display-factory.c
-+++ b/daemon/gdm-local-display-factory.c
-@@ -558,18 +558,11 @@ on_display_added (GdmDisplayStore *display_store,
-
- static void
- on_display_removed (GdmDisplayStore *display_store,
-- const char *id,
-+ GdmDisplay *display,
- GdmLocalDisplayFactory *factory)
- {
-- GdmDisplay *display;
--
-- display = gdm_display_store_lookup (display_store, id);
--
-- if (display != NULL) {
-- g_signal_handlers_disconnect_by_func (display, G_CALLBACK (on_display_status_changed), factory);
-- g_object_weak_unref (G_OBJECT (display), (GWeakNotify)on_display_disposed, factory);
--
-- }
-+ g_signal_handlers_disconnect_by_func (display, G_CALLBACK (on_display_status_changed), factory);
-+ g_object_weak_unref (G_OBJECT (display), (GWeakNotify)on_display_disposed, factory);
- }
-
- static gboolean
-diff --git a/daemon/gdm-manager.c b/daemon/gdm-manager.c
-index 7539acf1..1943d89e 100644
---- a/daemon/gdm-manager.c
-+++ b/daemon/gdm-manager.c
-@@ -1700,19 +1700,18 @@ on_display_status_changed (GdmDisplay *display,
-
- static void
- on_display_removed (GdmDisplayStore *display_store,
-- const char *id,
-+ GdmDisplay *display,
- GdmManager *manager)
- {
-- GdmDisplay *display;
-+ char *id;
-
-- display = gdm_display_store_lookup (display_store, id);
-- if (display != NULL) {
-- g_dbus_object_manager_server_unexport (manager->priv->object_manager, id);
-+ gdm_display_get_id (display, &id, NULL);
-+ g_dbus_object_manager_server_unexport (manager->priv->object_manager, id);
-+ g_free (id);
-
-- g_signal_handlers_disconnect_by_func (display, G_CALLBACK (on_display_status_changed), manager);
-+ g_signal_handlers_disconnect_by_func (display, G_CALLBACK (on_display_status_changed), manager);
-
-- g_signal_emit (manager, signals[DISPLAY_REMOVED], 0, id);
-- }
-+ g_signal_emit (manager, signals[DISPLAY_REMOVED], 0, display);
- }
-
- static void
-@@ -2694,9 +2693,9 @@ gdm_manager_class_init (GdmManagerClass *klass)
- G_STRUCT_OFFSET (GdmManagerClass, display_removed),
- NULL,
- NULL,
-- g_cclosure_marshal_VOID__STRING,
-+ g_cclosure_marshal_VOID__OBJECT,
- G_TYPE_NONE,
-- 1, G_TYPE_STRING);
-+ 1, G_TYPE_OBJECT);
-
- g_object_class_install_property (object_class,
- PROP_XDMCP_ENABLED,
-diff --git a/daemon/gdm-manager.h b/daemon/gdm-manager.h
-index 41c68a7a..c8fb3f22 100644
---- a/daemon/gdm-manager.h
-+++ b/daemon/gdm-manager.h
-@@ -24,6 +24,7 @@
-
- #include <glib-object.h>
-
-+#include "gdm-display.h"
- #include "gdm-manager-glue.h"
-
- G_BEGIN_DECLS
-@@ -50,7 +51,7 @@ typedef struct
- void (* display_added) (GdmManager *manager,
- const char *id);
- void (* display_removed) (GdmManager *manager,
-- const char *id);
-+ GdmDisplay *display);
- } GdmManagerClass;
-
- typedef enum
---
-2.17.1
-
diff --git a/gnome-base/gdm/files/3.24.3-display-object-lifetime-fix.patch b/gnome-base/gdm/files/3.24.3-display-object-lifetime-fix.patch
deleted file mode 100644
index 47366ed686c..00000000000
--- a/gnome-base/gdm/files/3.24.3-display-object-lifetime-fix.patch
+++ /dev/null
@@ -1,61 +0,0 @@
-From 765b306c364885dd89d47fe9fe8618ce6a467bc1 Mon Sep 17 00:00:00 2001
-From: Ray Strode <rstrode@redhat.com>
-Date: Thu, 19 Jul 2018 16:01:23 -0400
-Subject: [PATCH] display: tie skeleton handlers to object lifetime
-
-Right now we assume a display skeleton object won't
-outlive its associated display object.
-
-In theory that should be true, but if we accidentally
-leak the skeleton it could erroneously happen.
-
-If that does happen then we'll end accessing free'd
-memory, so the leak will turn into a crasher.
-
-This commit addresses this problem by ensuring
-the skeleton signal handlers are disconnected when the
-associated display object goes away.
-
-CVE-2018-14424
----
- daemon/gdm-display.c | 24 ++++++++++++------------
- 1 file changed, 12 insertions(+), 12 deletions(-)
-
-diff --git a/daemon/gdm-display.c b/daemon/gdm-display.c
-index 1b58781d..5e193f2f 100644
---- a/daemon/gdm-display.c
-+++ b/daemon/gdm-display.c
-@@ -1109,18 +1109,18 @@ register_display (GdmDisplay *self)
- self->priv->object_skeleton = g_dbus_object_skeleton_new (self->priv->id);
- self->priv->display_skeleton = GDM_DBUS_DISPLAY (gdm_dbus_display_skeleton_new ());
-
-- g_signal_connect (self->priv->display_skeleton, "handle-get-id",
-- G_CALLBACK (handle_get_id), self);
-- g_signal_connect (self->priv->display_skeleton, "handle-get-remote-hostname",
-- G_CALLBACK (handle_get_remote_hostname), self);
-- g_signal_connect (self->priv->display_skeleton, "handle-get-seat-id",
-- G_CALLBACK (handle_get_seat_id), self);
-- g_signal_connect (self->priv->display_skeleton, "handle-get-x11-display-name",
-- G_CALLBACK (handle_get_x11_display_name), self);
-- g_signal_connect (self->priv->display_skeleton, "handle-is-local",
-- G_CALLBACK (handle_is_local), self);
-- g_signal_connect (self->priv->display_skeleton, "handle-is-initial",
-- G_CALLBACK (handle_is_initial), self);
-+ g_signal_connect_object (self->priv->display_skeleton, "handle-get-id",
-+ G_CALLBACK (handle_get_id), self, 0);
-+ g_signal_connect_object (self->priv->display_skeleton, "handle-get-remote-hostname",
-+ G_CALLBACK (handle_get_remote_hostname), self, 0);
-+ g_signal_connect_object (self->priv->display_skeleton, "handle-get-seat-id",
-+ G_CALLBACK (handle_get_seat_id), self, 0);
-+ g_signal_connect_object (self->priv->display_skeleton, "handle-get-x11-display-name",
-+ G_CALLBACK (handle_get_x11_display_name), self, 0);
-+ g_signal_connect_object (self->priv->display_skeleton, "handle-is-local",
-+ G_CALLBACK (handle_is_local), self, 0);
-+ g_signal_connect_object (self->priv->display_skeleton, "handle-is-initial",
-+ G_CALLBACK (handle_is_initial), self, 0);
-
- g_dbus_object_skeleton_add_interface (self->priv->object_skeleton,
- G_DBUS_INTERFACE_SKELETON (self->priv->display_skeleton));
---
-2.17.1
-
diff --git a/gnome-base/gdm/files/gdm-3.8.4-logo.patch b/gnome-base/gdm/files/gdm-3.8.4-logo.patch
deleted file mode 100644
index 151d4bc77f4..00000000000
--- a/gnome-base/gdm/files/gdm-3.8.4-logo.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From bcc651df77a429a6bf9b13892f71fedb1b87a069 Mon Sep 17 00:00:00 2001
-From: Gilles Dartiguelongue <eva@gentoo.org>
-Date: Wed, 11 Dec 2013 22:46:58 +0100
-Subject: [PATCH 4/4] Apply Gentoo branding
-
----
- data/org.gnome.login-screen.gschema.xml.in | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/data/org.gnome.login-screen.gschema.xml.in b/data/org.gnome.login-screen.gschema.xml.in
-index 03da374..5e81bc0 100644
---- a/data/org.gnome.login-screen.gschema.xml.in
-+++ b/data/org.gnome.login-screen.gschema.xml.in
-@@ -31,7 +31,7 @@
- </_description>
- </key>
- <key name="logo" type="s">
-- <default>''</default>
-+ <default>'/usr/share/pixmaps/gentoo-gdm.svg'</default>
- <_summary>
- Path to small image at top of user list
- </_summary>
---
-1.8.5.1
-
diff --git a/gnome-base/gdm/gdm-3.24.3-r1.ebuild b/gnome-base/gdm/gdm-3.24.3-r1.ebuild
deleted file mode 100644
index 7ffffd45c01..00000000000
--- a/gnome-base/gdm/gdm-3.24.3-r1.ebuild
+++ /dev/null
@@ -1,204 +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/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}/${PV}-CVE-2018-14424.patch"
- eapply "${FILESDIR}/${PV}-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-r2.ebuild b/gnome-base/gdm/gdm-3.30.3-r2.ebuild
deleted file mode 100644
index 7acebf2d3d8..00000000000
--- a/gnome-base/gdm/gdm-3.30.3-r2.ebuild
+++ /dev/null
@@ -1,228 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-GNOME2_LA_PUNT="yes"
-GNOME2_EAUTORECONF="yes"
-
-inherit eutils gnome2 pam readme.gentoo-r1 systemd udev 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 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"
-
-# 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
-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
- 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-base/xorg-server
- x11-libs/libXau
- x11-libs/libX11
- x11-libs/libXdmcp
- x11-libs/libXext
- x11-libs/libxcb
- >=x11-misc/xdg-utils-1.0.2-r3
-
- virtual/pam
- elogind? ( >=sys-auth/elogind-239.3[pam] )
- systemd? ( >=sys-apps/systemd-186:0=[pam] )
-
- sys-auth/pambase[elogind?,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/itstool
- >=sys-devel/gettext-0.19.8
- 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 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
- \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"
-
- # 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"
-
- gnome2_src_prepare
-}
-
-src_configure() {
- # 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
- # gdm-3.30 now reaps (stops) the login screen when the login VT isn't active, which
- # saves on memory. However this means if we don't start on VT1, gdm doesn't start up
- # before user manually goes to VT7. Thus as-is we can not keep gdm away from VT1,
- # 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"
- 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() {
- 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
-}
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: gnome-base/gdm/files/, gnome-base/gdm/
@ 2021-05-19 18:44 Matt Turner
0 siblings, 0 replies; 9+ messages in thread
From: Matt Turner @ 2021-05-19 18:44 UTC (permalink / raw
To: gentoo-commits
commit: 030a016070ea1119dd4b91df2c3143c11a4baed3
Author: Matt Turner <mattst88 <AT> gentoo <DOT> org>
AuthorDate: Wed May 19 18:31:55 2021 +0000
Commit: Matt Turner <mattst88 <AT> gentoo <DOT> org>
CommitDate: Wed May 19 18:43:56 2021 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=030a0160
gnome-base/gdm: Fix libwrap detection
Closes: https://bugs.gentoo.org/790671
Signed-off-by: Matt Turner <mattst88 <AT> gentoo.org>
.../gdm-40.0-meson-Fix-libwrap-detection.patch | 28 ++++++++++++++++++++++
gnome-base/gdm/gdm-40.0.ebuild | 2 ++
2 files changed, 30 insertions(+)
diff --git a/gnome-base/gdm/files/gdm-40.0-meson-Fix-libwrap-detection.patch b/gnome-base/gdm/files/gdm-40.0-meson-Fix-libwrap-detection.patch
new file mode 100644
index 00000000000..2742cf27641
--- /dev/null
+++ b/gnome-base/gdm/files/gdm-40.0-meson-Fix-libwrap-detection.patch
@@ -0,0 +1,28 @@
+https://gitlab.gnome.org/GNOME/gdm/-/merge_requests/142
+
+From c713ace4c71a6804734ba5b1bca4abde11ab90d1 Mon Sep 17 00:00:00 2001
+From: Bernd Feige <Bernd.Feige@gmx.net>
+Date: Wed, 19 May 2021 11:28:07 -0700
+Subject: [PATCH] meson: Fix libwrap detection
+
+Bug: https://bugs.gentoo.org/790671
+---
+ meson.build | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/meson.build b/meson.build
+index 0266a938..a490a725 100644
+--- a/meson.build
++++ b/meson.build
+@@ -90,7 +90,7 @@ else
+ endif
+ xdmcp_dep = cc.find_library('Xdmcp', required: get_option('xdmcp'))
+ if xdmcp_dep.found() and get_option('tcp-wrappers')
+- libwrap_dep = cc.find_library('libwrap')
++ libwrap_dep = cc.find_library('wrap')
+ endif
+ # systemd
+ systemd_dep = dependency('systemd')
+--
+2.26.3
+
diff --git a/gnome-base/gdm/gdm-40.0.ebuild b/gnome-base/gdm/gdm-40.0.ebuild
index 7be1ee83162..9d7deda12a1 100644
--- a/gnome-base/gdm/gdm-40.0.ebuild
+++ b/gnome-base/gdm/gdm-40.0.ebuild
@@ -117,6 +117,8 @@ PATCHES=(
# Support pam_elogind.so in gdm-launch-environment.pam
"${FILESDIR}/pam-elogind.patch"
+
+ "${FILESDIR}"/${P}-meson-Fix-libwrap-detection.patch
)
src_prepare() {
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: gnome-base/gdm/files/, gnome-base/gdm/
@ 2024-03-02 22:51 Mart Raudsepp
0 siblings, 0 replies; 9+ messages in thread
From: Mart Raudsepp @ 2024-03-02 22:51 UTC (permalink / raw
To: gentoo-commits
commit: ed168678316c75662cc29637666fbcf7b7b72450
Author: Mart Raudsepp <leio <AT> gentoo <DOT> org>
AuthorDate: Sat Mar 2 22:47:23 2024 +0000
Commit: Mart Raudsepp <leio <AT> gentoo <DOT> org>
CommitDate: Sat Mar 2 22:50:51 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ed168678
gnome-base/gdm: drop 44.1, 45.0.1
Signed-off-by: Mart Raudsepp <leio <AT> gentoo.org>
gnome-base/gdm/Manifest | 1 -
...dm-44.0-meson-allow-building-with-elogind.patch | 208 --------------------
gnome-base/gdm/gdm-44.1.ebuild | 215 ---------------------
gnome-base/gdm/gdm-45.0.1.ebuild | 210 --------------------
4 files changed, 634 deletions(-)
diff --git a/gnome-base/gdm/Manifest b/gnome-base/gdm/Manifest
index 7fbf5c6aee13..86ab48d5ae71 100644
--- a/gnome-base/gdm/Manifest
+++ b/gnome-base/gdm/Manifest
@@ -1,3 +1,2 @@
-DIST gdm-44.1.tar.xz 855472 BLAKE2B 61a6be1ae9b616b5147c372841a521eea14f91b7295423d65417692ab6bc9969211c6bfeaa5141651a580decb8c0748483eede498ef35e3e8e85e0fd2f318627 SHA512 bb761a6dd032ae5d411162b638bf5bd15bef5103c9a9d7c4de5e39db496faa62b932218a9923ef4743d17207eb890e256e910bde5c573e9fba4619f159f18e85
DIST gdm-45.0.1.tar.xz 855004 BLAKE2B 1ec7250c49c40a31dbc21d0a141cbe6c2555c43d9a31aa6364b497812de0dab4785f509bf9f8b38febc449ada955a86a22b11986c30d9f9226042e2eb3c485e0 SHA512 f0c667dd5df034087e284c2ec1131b55a85cd9e832c15c2aff1637e1e36d4d62a7d86528a2e524bb2782ca7d7cc7cb9c34a9ce9bba688ad222af409e2eb69abe
DIST tango-gentoo-v1.1.tar.gz 29322 BLAKE2B 83fa2bf37727e60851dd679054fe1b153ebfea58c9a9a40f891f7d68d3b047b02e8effa1d1b4e08d64500a2072ce7200f159c92a352da7124de27e1b05bb6027 SHA512 87d47ddab68361db6d99866c51705dcb3e198f8345a1096859acf2c6cca5099dd23c7fb30d124f52c4933ea38fd45fadffbbe6ecbdfa84f5b60938a4824f9045
diff --git a/gnome-base/gdm/files/gdm-44.0-meson-allow-building-with-elogind.patch b/gnome-base/gdm/files/gdm-44.0-meson-allow-building-with-elogind.patch
deleted file mode 100644
index 930352a9c32a..000000000000
--- a/gnome-base/gdm/files/gdm-44.0-meson-allow-building-with-elogind.patch
+++ /dev/null
@@ -1,208 +0,0 @@
-https://gitlab.gnome.org/GNOME/gdm/-/merge_requests/113
-
-From e4e96e9ac55481bd2cae2c7ca33a1d516ad1b879 Mon Sep 17 00:00:00 2001
-From: Dudemanguy <random342@airmail.cc>
-Date: Mon, 5 Oct 2020 18:41:55 -0500
-Subject: [PATCH] meson: allow building with elogind
-
-Currently, the GDM meson build has a hard dependency on systemd.
-However, GDM can function just fine if one is using elogind. This allows
-a user to build GDM against libelogind and also disable the systemd
-system and user units.
----
- common/meson.build | 2 +-
- data/meson.build | 62 +++++++++++++++++++++++++++-------------------
- libgdm/meson.build | 2 +-
- meson.build | 36 +++++++++++++++++++--------
- meson_options.txt | 5 ++--
- 5 files changed, 67 insertions(+), 40 deletions(-)
-
-diff --git a/common/meson.build b/common/meson.build
-index 074dd92e..bca58f7c 100644
---- a/common/meson.build
-+++ b/common/meson.build
-@@ -11,7 +11,7 @@ libgdmcommon_src = files(
- )
-
- libgdmcommon_deps = [
-- libsystemd_dep,
-+ logind_dep,
- gobject_dep,
- gio_dep,
- gio_unix_dep,
-diff --git a/data/meson.build b/data/meson.build
-index 2dec4c23..c3452e1c 100644
---- a/data/meson.build
-+++ b/data/meson.build
-@@ -164,41 +164,53 @@ else
- service_config.set('PLYMOUTH_QUIT_SERVICE', '')
- endif
-
--if get_option('systemdsystemunitdir') != ''
-- systemd_systemunitdir = get_option('systemdsystemunitdir')
--else
-- systemd_systemunitdir = systemd_dep.get_pkgconfig_variable('systemdsystemunitdir')
-+systemdsystemunitdir = get_option('systemdsystemunitdir')
-+if systemdsystemunitdir != 'no'
-+ assert(systemd_dep.found(), 'systemd required but not found, please provide a valid systemd system unit dir or disable it')
-+ if get_option('systemdsystemunitdir') != ''
-+ systemd_systemunitdir = get_option('systemdsystemunitdir')
-+ else
-+ systemd_systemunitdir = systemd_dep.get_pkgconfig_variable('systemdsystemunitdir')
-+ endif
- endif
-
--if get_option('systemduserunitdir') != ''
-- systemd_userunitdir = get_option('systemduserunitdir')
--else
-- systemd_userunitdir = systemd_dep.get_pkgconfig_variable('systemduserunitdir',
-- define_variable: ['prefix', get_option('prefix')])
-+systemduserunitdir = get_option('systemduserunitdir')
-+if systemduserunitdir != 'no'
-+ assert(systemd_dep.found(), 'systemd required but not found, please provide a valid systemd user unit dir or disable it')
-+ if get_option('systemduserunitdir') != ''
-+ systemd_userunitdir = get_option('systemduserunitdir')
-+ else
-+ systemd_userunitdir = systemd_dep.get_pkgconfig_variable('systemduserunitdir',
-+ define_variable: ['prefix', get_option('prefix')])
-+ endif
- endif
-
--configure_file(
-- input: 'gdm.service.in',
-- output: '@BASENAME@',
-- configuration: service_config,
-- install_dir: systemd_systemunitdir,
-- format: 'cmake'
--)
-+if systemdsystemunitdir != 'no'
-+ configure_file(
-+ input: 'gdm.service.in',
-+ output: '@BASENAME@',
-+ configuration: service_config,
-+ install_dir: systemd_systemunitdir,
-+ format: 'cmake'
-+ )
-+endif
-
- gdm_gnome_session_wanted_targets = []
- foreach component: gdm_gnome_user_session_wanted_components
- gdm_gnome_session_wanted_targets += 'Wants=@0@.target'.format(component)
- endforeach
-
--configure_file(
-- input: 'session.conf.in',
-- output: 'session.conf',
-- configuration: {
-- 'requires_component': gdm_gnome_shell_component,
-- 'wants_required_components': '\n'.join(gdm_gnome_session_wanted_targets),
-- },
-- install_dir: systemd_userunitdir / 'gnome-session@gnome-login.target.d',
--)
-+if systemduserunitdir != 'no'
-+ configure_file(
-+ input: 'session.conf.in',
-+ output: 'session.conf',
-+ configuration: {
-+ 'requires_component': gdm_gnome_shell_component,
-+ 'wants_required_components': '\n'.join(gdm_gnome_session_wanted_targets),
-+ },
-+ install_dir: systemd_userunitdir / 'gnome-session@gnome-login.target.d',
-+ )
-+endif
-
- # XSession
- if get_option('gdm-xsession')
-diff --git a/libgdm/meson.build b/libgdm/meson.build
-index 3f8cafbb..83e95151 100644
---- a/libgdm/meson.build
-+++ b/libgdm/meson.build
-@@ -56,7 +56,7 @@ libgdm_deps = [
- glib_dep,
- gio_dep,
- gio_unix_dep,
-- libsystemd_dep,
-+ logind_dep,
- libgdmcommon_dep,
- ]
-
-diff --git a/meson.build b/meson.build
-index 57116f2a..db4ecfd6 100644
---- a/meson.build
-+++ b/meson.build
-@@ -99,17 +99,30 @@ xdmcp_dep = cc.find_library('Xdmcp', required: get_option('xdmcp'))
- if xdmcp_dep.found() and get_option('tcp-wrappers')
- libwrap_dep = cc.find_library('wrap')
- endif
--# systemd
--systemd_dep = dependency('systemd')
--libsystemd_dep = dependency('libsystemd')
--systemd_multiseat_x = find_program('systemd-multi-seat-x',
-- required: false,
-- dirs: [
-- systemd_dep.get_pkgconfig_variable('systemdutildir'),
-- '/lib/systemd',
-- '/usr/lib/systemd',
-- ])
--systemd_x_server = systemd_multiseat_x.found()? systemd_multiseat_x.path() : '/lib/systemd/systemd-multi-seat-x'
-+
-+logind_provider = get_option('logind-provider')
-+systemd_dep = dependency('systemd', required: false)
-+if logind_provider == 'systemd'
-+ libsystemd_dep = dependency('libsystemd')
-+ logind_dep = libsystemd_dep
-+ if meson.version().version_compare('>= 0.53')
-+ systemd_multiseat_x = find_program('systemd-multi-seat-x',
-+ required: false,
-+ dirs: [
-+ systemd_dep.get_pkgconfig_variable('systemdutildir'),
-+ '/lib/systemd',
-+ '/usr/lib/systemd',
-+ ])
-+ else
-+ systemd_multiseat_x = find_program('systemd-multi-seat-x', required: false)
-+ endif
-+ systemd_x_server = systemd_multiseat_x.found()? systemd_multiseat_x.path() : '/lib/systemd/systemd-multi-seat-x'
-+ else
-+ elogind_dep = dependency('libelogind')
-+ logind_dep = elogind_dep
-+ systemd_x_server = 'disabled'
-+ endif
-+
- # Plymouth
- plymouth_dep = dependency('ply-boot-client', required: get_option('plymouth'))
- # Check for Solaris auditing API (ADT)
-@@ -319,6 +332,7 @@ summary({
- 'PAM Syslog': have_pam_syslog,
- 'Supports PAM Extensions': pam_extensions_supported,
- 'SeLinux': libselinux_dep.found(),
-+ 'Logind Provider': get_option('logind-provider'),
- 'Use GDM Xsession': get_option('gdm-xsession'),
- 'Use UserDisplayServer': get_option('user-display-server'),
- 'Use SystemdJournal': get_option('systemd-journal'),
-diff --git a/meson_options.txt b/meson_options.txt
-index 14e0b908..5135d7d6 100644
---- a/meson_options.txt
-+++ b/meson_options.txt
-@@ -12,6 +12,7 @@ option('initial-vt', type: 'integer', value: 1, description: 'Initial virtual te
- option('ipv6', type: 'boolean', value: false, description: 'Enables compilation of IPv6 code.')
- option('lang-file', type: 'string', value: '', description: 'File containing default language settings.')
- option('libaudit', type: 'feature', value: 'auto', description: 'Add Linux audit support.')
-+option('logind-provider', type: 'combo', choices: ['systemd', 'elogind'], value: 'systemd', description: 'Which logind library to use.')
- option('log-dir', type: 'string', value: '/var/log/gdm', description: 'Log directory.')
- option('pam-mod-dir', type: 'string', value: '', description: 'Directory to install PAM modules in.')
- option('pam-prefix', type: 'string', value: '', description: 'Specify where PAM files go.')
-@@ -27,8 +28,8 @@ option('solaris', type: 'boolean', value: false, description: 'Build for Solaris
- option('split-authentication', type: 'boolean', value: true, description: 'Enable multiple simultaneous PAM conversations during login.')
- option('sysconfsubdir', type: 'string', value: 'gdm', description: 'Directory name used under sysconfdir.')
- option('systemd-journal', type: 'boolean', value: true, description: 'Use journald support.')
--option('systemdsystemunitdir', type: 'string', value: '', description: 'Directory for systemd service files.')
--option('systemduserunitdir', type: 'string', value: '', description: 'Directory for systemd user service files.')
-+option('systemdsystemunitdir', type: 'string', value: '', description: 'Directory for systemd service files, or \'no\' to disable.')
-+option('systemduserunitdir', type: 'string', value: '', description: 'Directory for systemd user service files, or \'no\' to disable.')
- option('tcp-wrappers', type: 'boolean', value: false, description: 'Use TCP wrappers.')
- option('udev-dir', type: 'string', value: '', description: 'Directory for udev rules file.')
- option('user', type: 'string', value: 'gdm', description: 'GDM\'s username.')
---
-2.39.2
-
diff --git a/gnome-base/gdm/gdm-44.1.ebuild b/gnome-base/gdm/gdm-44.1.ebuild
deleted file mode 100644
index f67b6be27ed5..000000000000
--- a/gnome-base/gdm/gdm-44.1.ebuild
+++ /dev/null
@@ -1,215 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit desktop gnome2 meson pam readme.gentoo-r1 systemd udev
-
-DESCRIPTION="GNOME Display Manager for managing graphical display servers and user logins"
-HOMEPAGE="https://wiki.gnome.org/Projects/GDM https://gitlab.gnome.org/GNOME/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 bluetooth-sound branding elogind fprint plymouth selinux systemd tcpd test wayland"
-RESTRICT="!test? ( test )"
-REQUIRED_USE="^^ ( elogind systemd )"
-
-KEYWORDS="amd64 ~arm arm64 ~loong ~ppc64 ~riscv x86"
-
-# dconf, dbus and g-s-d are needed at install time for dconf update
-# keyutils is automagic dep that makes autologin unlock login keyring
-# when all the passwords match (disk encryption, user pw and login keyring)
-# dbus-run-session used at runtime
-COMMON_DEPEND="
- virtual/udev
- >=dev-libs/libgudev-232:=
- >=dev-libs/glib-2.56:2
- >=x11-libs/gtk+-2.91.1:3
- >=media-libs/libcanberra-0.4[gtk3]
- >=sys-apps/accountsservice-0.6.35
- x11-libs/libxcb
- sys-apps/keyutils:=
- selinux? ( sys-libs/libselinux )
-
- x11-libs/libX11
- x11-libs/libXau
- x11-base/xorg-server[-minimal]
- x11-libs/libXdmcp
- tcpd? ( >=sys-apps/tcp-wrappers-7.6 )
-
- systemd? ( >=sys-apps/systemd-186:0=[pam] )
- elogind? ( >=sys-auth/elogind-239.3[pam] )
-
- plymouth? ( sys-boot/plymouth )
- audit? ( sys-process/audit )
-
- sys-libs/pam
- sys-auth/pambase[elogind?,systemd?]
-
- >=gnome-base/dconf-0.20
- >=gnome-base/gnome-settings-daemon-3.1.4
- gnome-base/gsettings-desktop-schemas
- sys-apps/dbus
-
- >=x11-misc/xdg-utils-1.0.2-r3
-
- >=dev-libs/gobject-introspection-0.9.12:=
-"
-# XXX: These deps are from session and desktop files in data/ directory
-# fprintd is used via dbus by gdm-fingerprint-extension
-RDEPEND="${COMMON_DEPEND}
- acct-group/gdm
- acct-user/gdm
- >=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[pam] )
-"
-DEPEND="${COMMON_DEPEND}
- x11-base/xorg-proto
-"
-BDEPEND="
- app-text/docbook-xml-dtd:4.1.2
- dev-util/gdbus-codegen
- dev-util/glib-utils
- dev-util/itstool
- >=gnome-base/dconf-0.20
- >=sys-devel/gettext-0.19.8
- virtual/pkgconfig
- test? ( >=dev-libs/check-0.9.4 )
- app-text/yelp-tools
-"
-
-DOC_CONTENTS="
- To start GDM at boot with systemd, run:\n
- # systemctl enable gdm.service\n
- \n
- To start GDM at boot with OpenRC, set DISPLAYMANAGER=\"gdm\"\n
- in /etc/conf.d/display-manager and enable the display-manager service:\n
- # rc-update add display-manager\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
-"
-
-PATCHES=(
- # Add elogind support
- "${FILESDIR}/${PN}-44.0-meson-allow-building-with-elogind.patch"
-)
-
-src_prepare() {
- default
-
- # Show logo when branding is enabled
- use branding && eapply "${FILESDIR}/${PN}-3.30.3-logo.patch"
-}
-
-src_configure() {
- # --with-initial-vt=7 conflicts with plymouth, bug #453392
- # gdm-3.30 now reaps (stops) the login screen when the login VT isn't active, which
- # saves on memory. However this means if we don't start on VT1, gdm doesn't start up
- # before user manually goes to VT7. Thus as-is we can not keep gdm away from VT1,
- # 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.
- local emesonargs=(
- --localstatedir /var
-
- -Ddefault-pam-config=exherbo
- -Dgdm-xsession=true
- -Dgroup=gdm
- -Dipv6=true
- $(meson_feature audit libaudit)
- -Dlogind-provider=$(usex systemd systemd elogind)
- -Dpam-mod-dir=$(getpam_mod_dir)
- $(meson_feature plymouth)
- -Drun-dir=/run/gdm
- $(meson_feature selinux)
- $(meson_use systemd systemd-journal)
- $(meson_use tcpd tcp-wrappers)
- -Dudev-dir=$(get_udevdir)/rules.d
- -Duser=gdm
- -Duser-display-server=true
- $(meson_use wayland wayland-support)
- -Dxdmcp=enabled
- )
-
- if use elogind; then
- emesonargs+=(
- -Dinitial-vt=7 # TODO: Revisit together with startDM.sh and other xinit talks; also ignores plymouth possibility
- -Dsystemdsystemunitdir=no
- -Dsystemduserunitdir=no
- )
- else
- emesonargs+=(
- -Dinitial-vt=1
- -Dsystemdsystemunitdir="$(systemd_get_systemunitdir)"
- -Dsystemduserunitdir="$(systemd_get_userunitdir)"
- )
- fi
-
- meson_src_configure
-}
-
-src_install() {
- meson_src_install
-
- if ! use accessibility ; then
- rm "${ED}"/usr/share/gdm/greeter/autostart/orca-autostart.desktop || die
- fi
-
- if ! use bluetooth-sound ; then
- # Workaround https://gitlab.freedesktop.org/pulseaudio/pulseaudio/merge_requests/10
- # bug #679526
- insinto /var/lib/gdm/.config/pulse
- doins "${FILESDIR}"/default.pa
- fi
-
- # 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
- local d ret
-
- # bug #669146; gdm may crash if /var/lib/gdm subdirs are not owned by gdm:gdm
- ret=0
- ebegin "Fixing ${EROOT}/var/lib/gdm ownership"
- chown --no-dereference gdm:gdm "${EROOT}/var/lib/gdm" || ret=1
- for d in "${EROOT}/var/lib/gdm/"{.cache,.color,.config,.dbus,.local}; do
- [[ ! -e "${d}" ]] || chown --no-dereference -R gdm:gdm "${d}" || ret=1
- done
- eend ${ret}
-
- systemd_reenable gdm.service
- readme.gentoo_print_elog
-
- udev_reload
-}
-
-pkg_postrm() {
- udev_reload
-}
diff --git a/gnome-base/gdm/gdm-45.0.1.ebuild b/gnome-base/gdm/gdm-45.0.1.ebuild
deleted file mode 100644
index c475f54d27d8..000000000000
--- a/gnome-base/gdm/gdm-45.0.1.ebuild
+++ /dev/null
@@ -1,210 +0,0 @@
-# Copyright 2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit desktop gnome2 meson pam readme.gentoo-r1 systemd udev
-
-DESCRIPTION="GNOME Display Manager for managing graphical display servers and user logins"
-HOMEPAGE="https://wiki.gnome.org/Projects/GDM https://gitlab.gnome.org/GNOME/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 bluetooth-sound branding elogind fprint plymouth selinux systemd tcpd test wayland"
-RESTRICT="!test? ( test )"
-REQUIRED_USE="^^ ( elogind systemd )"
-
-KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86"
-
-# dconf, dbus and g-s-d are needed at install time for dconf update
-# keyutils is automagic dep that makes autologin unlock login keyring
-# when all the passwords match (disk encryption, user pw and login keyring)
-# dbus-run-session used at runtime
-COMMON_DEPEND="
- virtual/udev
- >=dev-libs/libgudev-232:=
- >=dev-libs/glib-2.56:2
- >=x11-libs/gtk+-2.91.1:3
- >=media-libs/libcanberra-0.4[gtk3]
- >=sys-apps/accountsservice-0.6.35
- x11-libs/libxcb
- sys-apps/keyutils:=
- selinux? ( sys-libs/libselinux )
-
- x11-libs/libX11
- x11-libs/libXau
- x11-base/xorg-server[-minimal]
- x11-libs/libXdmcp
- tcpd? ( >=sys-apps/tcp-wrappers-7.6 )
-
- systemd? ( >=sys-apps/systemd-186:0=[pam] )
- elogind? ( >=sys-auth/elogind-239.3[pam] )
-
- plymouth? ( sys-boot/plymouth )
- audit? ( sys-process/audit )
-
- sys-libs/pam
- sys-auth/pambase[elogind?,systemd?]
-
- >=gnome-base/dconf-0.20
- >=gnome-base/gnome-settings-daemon-3.1.4
- gnome-base/gsettings-desktop-schemas
- sys-apps/dbus
-
- >=x11-misc/xdg-utils-1.0.2-r3
-
- >=dev-libs/gobject-introspection-0.9.12:=
-"
-# XXX: These deps are from session and desktop files in data/ directory
-# fprintd is used via dbus by gdm-fingerprint-extension
-RDEPEND="${COMMON_DEPEND}
- acct-group/gdm
- acct-user/gdm
- >=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[pam] )
-"
-DEPEND="${COMMON_DEPEND}
- x11-base/xorg-proto
-"
-BDEPEND="
- app-text/docbook-xml-dtd:4.1.2
- dev-util/gdbus-codegen
- dev-util/glib-utils
- dev-util/itstool
- >=gnome-base/dconf-0.20
- >=sys-devel/gettext-0.19.8
- virtual/pkgconfig
- test? ( >=dev-libs/check-0.9.4 )
- app-text/yelp-tools
-"
-
-DOC_CONTENTS="
- To start GDM at boot with systemd, run:\n
- # systemctl enable gdm.service\n
- \n
- To start GDM at boot with OpenRC, set DISPLAYMANAGER=\"gdm\"\n
- in /etc/conf.d/display-manager and enable the display-manager service:\n
- # rc-update add display-manager\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
-"
-
-src_prepare() {
- default
-
- # Show logo when branding is enabled
- use branding && eapply "${FILESDIR}/${PN}-3.30.3-logo.patch"
-}
-
-src_configure() {
- # --with-initial-vt=7 conflicts with plymouth, bug #453392
- # gdm-3.30 now reaps (stops) the login screen when the login VT isn't active, which
- # saves on memory. However this means if we don't start on VT1, gdm doesn't start up
- # before user manually goes to VT7. Thus as-is we can not keep gdm away from VT1,
- # 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.
- local emesonargs=(
- --localstatedir /var
-
- -Ddefault-pam-config=exherbo
- -Dgdm-xsession=true
- -Dgroup=gdm
- -Dipv6=true
- $(meson_feature audit libaudit)
- -Dlogind-provider=$(usex systemd systemd elogind)
- -Dpam-mod-dir=$(getpam_mod_dir)
- $(meson_feature plymouth)
- -Drun-dir=/run/gdm
- $(meson_feature selinux)
- $(meson_use systemd systemd-journal)
- $(meson_use tcpd tcp-wrappers)
- -Dudev-dir=$(get_udevdir)/rules.d
- -Duser=gdm
- -Duser-display-server=true
- $(meson_use wayland wayland-support)
- -Dxdmcp=enabled
- )
-
- if use elogind; then
- emesonargs+=(
- -Dinitial-vt=7 # TODO: Revisit together with startDM.sh and other xinit talks; also ignores plymouth possibility
- -Dsystemdsystemunitdir=no
- -Dsystemduserunitdir=no
- )
- else
- emesonargs+=(
- -Dinitial-vt=1
- -Dsystemdsystemunitdir="$(systemd_get_systemunitdir)"
- -Dsystemduserunitdir="$(systemd_get_userunitdir)"
- )
- fi
-
- meson_src_configure
-}
-
-src_install() {
- meson_src_install
-
- if ! use accessibility ; then
- rm "${ED}"/usr/share/gdm/greeter/autostart/orca-autostart.desktop || die
- fi
-
- if ! use bluetooth-sound ; then
- # Workaround https://gitlab.freedesktop.org/pulseaudio/pulseaudio/merge_requests/10
- # bug #679526
- insinto /var/lib/gdm/.config/pulse
- doins "${FILESDIR}"/default.pa
- fi
-
- # 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
- local d ret
-
- # bug #669146; gdm may crash if /var/lib/gdm subdirs are not owned by gdm:gdm
- ret=0
- ebegin "Fixing ${EROOT}/var/lib/gdm ownership"
- chown --no-dereference gdm:gdm "${EROOT}/var/lib/gdm" || ret=1
- for d in "${EROOT}/var/lib/gdm/"{.cache,.color,.config,.dbus,.local}; do
- [[ ! -e "${d}" ]] || chown --no-dereference -R gdm:gdm "${d}" || ret=1
- done
- eend ${ret}
-
- systemd_reenable gdm.service
- readme.gentoo_print_elog
-
- udev_reload
-}
-
-pkg_postrm() {
- udev_reload
-}
^ permalink raw reply related [flat|nested] 9+ messages in thread
end of thread, other threads:[~2024-03-02 22:51 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-02-03 20:56 [gentoo-commits] repo/gentoo:master commit in: gnome-base/gdm/files/, gnome-base/gdm/ Mart Raudsepp
-- strict thread matches above, loose matches on Subject: below --
2024-03-02 22:51 Mart Raudsepp
2021-05-19 18:44 Matt Turner
2019-05-18 20:46 Mart Raudsepp
2019-03-27 10:12 Mart Raudsepp
2019-02-27 0:03 Mart Raudsepp
2018-08-15 15:53 Mart Raudsepp
2016-11-21 7:48 Remi Cardona
2016-11-12 0:37 Gilles Dartiguelongue
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox