public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Pacho Ramos" <pacho@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: gnome-base/gdm/
Date: Sun,  1 Dec 2024 11:18:29 +0000 (UTC)	[thread overview]
Message-ID: <1733051760.766ec225b86eee6352407d13d850a70333a3aea7.pacho@gentoo> (raw)

commit:     766ec225b86eee6352407d13d850a70333a3aea7
Author:     Pacho Ramos <pacho <AT> gentoo <DOT> org>
AuthorDate: Sun Dec  1 11:16:00 2024 +0000
Commit:     Pacho Ramos <pacho <AT> gentoo <DOT> org>
CommitDate: Sun Dec  1 11:16:00 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=766ec225

gnome-base/gdm: Migrate away from gnome2.eclass and ensure schemas are updated

Follow the model of gnome-shell ebuilds

Bug: https://bugs.gentoo.org/939358
Signed-off-by: Pacho Ramos <pacho <AT> gentoo.org>

 gnome-base/gdm/gdm-46.2-r2.ebuild | 220 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 220 insertions(+)

diff --git a/gnome-base/gdm/gdm-46.2-r2.ebuild b/gnome-base/gdm/gdm-46.2-r2.ebuild
new file mode 100644
index 000000000000..ede649e83d4a
--- /dev/null
+++ b/gnome-base/gdm/gdm-46.2-r2.ebuild
@@ -0,0 +1,220 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit desktop flag-o-matic gnome.org gnome2-utils meson pam readme.gentoo-r1 systemd udev xdg
+
+DESCRIPTION="GNOME Display Manager for managing graphical display servers and user logins"
+HOMEPAGE="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"
+
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86"
+
+IUSE="accessibility audit bluetooth-sound branding elogind fprint plymouth selinux systemd tcpd test wayland"
+
+RESTRICT="!test? ( test )"
+REQUIRED_USE="^^ ( elogind systemd )"
+
+# 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.68:2
+	>=x11-libs/gtk+-2.91.1:3
+	>=dev-libs/json-glib-1.2.0
+	|| (
+		media-libs/libcanberra-gtk3
+		>=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="
+	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 )
+"
+
+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() {
+	# bug #944223
+	append-cflags -std=gnu17
+
+	# --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() {
+	xdg_pkg_postinst
+	gnome2_schemas_update
+
+	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() {
+	xdg_pkg_postrm
+	gnome2_schemas_update
+	udev_reload
+}


             reply	other threads:[~2024-12-01 11:18 UTC|newest]

Thread overview: 72+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-12-01 11:18 Pacho Ramos [this message]
  -- strict thread matches above, loose matches on Subject: below --
2025-01-28 17:04 [gentoo-commits] repo/gentoo:master commit in: gnome-base/gdm/ Sam James
2025-01-26 17:32 Pacho Ramos
2024-11-24 22:24 Sam James
2024-06-01  1:42 Erik Mackdanz
2024-02-18  6:08 Arthur Zamarin
2024-01-08 17:27 Sam James
2024-01-08 17:27 Sam James
2023-09-14 19:19 Matt Turner
2023-07-27  5:11 WANG Xuerui
2023-06-19 15:30 Matt Turner
2023-06-17 17:10 Arthur Zamarin
2023-06-03 18:01 Arthur Zamarin
2023-06-03  3:23 Sam James
2023-05-06  0:40 Matt Turner
2023-05-05  6:16 Arthur Zamarin
2023-05-02 19:55 Arthur Zamarin
2023-05-02 18:28 Arthur Zamarin
2022-11-23 17:52 Jakov Smolić
2022-11-05  5:59 Arthur Zamarin
2022-10-30 16:34 Matt Turner
2022-09-25  1:49 Matt Turner
2022-06-16 16:30 Sam James
2022-03-26 18:01 Matt Turner
2022-02-20  0:04 Matt Turner
2021-08-27 15:19 Yixun Lan
2021-08-20 23:51 Sam James
2021-07-23 19:53 Matt Turner
2021-07-11 20:48 Sam James
2021-06-12  8:07 Pacho Ramos
2021-04-30 19:56 Matt Turner
2021-04-12 23:11 Sam James
2021-03-25 16:20 Sam James
2021-03-04  0:23 Sam James
2021-01-18 21:10 Matt Turner
2020-12-14 16:47 Mike Gilbert
2020-11-08 10:17 Mart Raudsepp
2020-07-17 20:23 Mart Raudsepp
2020-07-13 13:12 Mart Raudsepp
2020-04-25 21:14 Mart Raudsepp
2020-03-15 17:38 Mart Raudsepp
2019-10-13 10:32 Mart Raudsepp
2019-10-12 18:36 Mikle Kolyada
2019-08-03 19:04 Aaron Bauman
2019-03-30 21:56 Mart Raudsepp
2019-02-27  0:11 Mart Raudsepp
2018-09-28 13:51 Mart Raudsepp
2018-08-17  0:36 Mart Raudsepp
2018-08-17  0:17 Mikle Kolyada
2018-08-16 12:03 Thomas Deutschmann
2018-01-18  2:35 Mikle Kolyada
2017-09-13 22:28 Gilles Dartiguelongue
2017-09-03  1:15 Mike Gilbert
2017-08-22 15:57 Michał Górny
2017-07-14  8:52 Mart Raudsepp
2017-07-14  8:52 Mart Raudsepp
2017-07-14  8:52 Mart Raudsepp
2017-04-20 16:14 Michał Górny
2017-03-19 11:43 Mart Raudsepp
2017-03-19 11:43 Mart Raudsepp
2017-03-19 11:43 Mart Raudsepp
2017-02-04 15:26 Pacho Ramos
2016-12-30  3:48 Mart Raudsepp
2016-11-12  0:37 Gilles Dartiguelongue
2016-04-17 11:13 Pacho Ramos
2016-04-17 11:13 Pacho Ramos
2016-03-06 17:23 Mikle Kolyada
2015-11-19 19:23 Pacho Ramos
2015-11-19 19:23 Pacho Ramos
2015-11-15 22:30 Pacho Ramos
2015-11-15 22:30 Pacho Ramos
2015-09-20 16:19 Pacho Ramos

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1733051760.766ec225b86eee6352407d13d850a70333a3aea7.pacho@gentoo \
    --to=pacho@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox