diff options
Diffstat (limited to 'gnome-base/gdm')
-rw-r--r-- | gnome-base/gdm/ChangeLog | 13 | ||||
-rw-r--r-- | gnome-base/gdm/files/gdm-2.32.0-broken-VT-detection.patch | 98 | ||||
-rw-r--r-- | gnome-base/gdm/files/gdm-3.6.0-fix-daemonize-regression.patch | 192 | ||||
-rw-r--r-- | gnome-base/gdm/files/gdm-3.6.0-selinux-automagic.patch | 31 | ||||
-rw-r--r-- | gnome-base/gdm/gdm-2.20.11.ebuild | 243 | ||||
-rw-r--r-- | gnome-base/gdm/gdm-2.32.1.ebuild | 201 | ||||
-rw-r--r-- | gnome-base/gdm/gdm-3.2.1.1-r1.ebuild | 269 | ||||
-rw-r--r-- | gnome-base/gdm/gdm-3.2.1.1-r2.ebuild | 268 | ||||
-rw-r--r-- | gnome-base/gdm/gdm-3.4.1-r3.ebuild | 58 | ||||
-rw-r--r-- | gnome-base/gdm/gdm-3.4.1.ebuild | 271 | ||||
-rw-r--r-- | gnome-base/gdm/gdm-3.6.2.ebuild (renamed from gnome-base/gdm/gdm-3.4.1-r1.ebuild) | 214 | ||||
-rw-r--r-- | gnome-base/gdm/metadata.xml | 3 |
12 files changed, 364 insertions, 1497 deletions
diff --git a/gnome-base/gdm/ChangeLog b/gnome-base/gdm/ChangeLog index 6f445fdcf416..c6457f110cf3 100644 --- a/gnome-base/gdm/ChangeLog +++ b/gnome-base/gdm/ChangeLog @@ -1,6 +1,17 @@ # ChangeLog for gnome-base/gdm # Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/gnome-base/gdm/ChangeLog,v 1.357 2012/09/29 06:05:16 tetromino Exp $ +# $Header: /var/cvsroot/gentoo-x86/gnome-base/gdm/ChangeLog,v 1.358 2012/12/26 21:45:01 eva Exp $ + +*gdm-3.6.2 (26 Dec 2012) + + 26 Dec 2012; Gilles Dartiguelongue <eva@gentoo.org> -gdm-2.20.11.ebuild, + -files/gdm-2.32.0-broken-VT-detection.patch, -gdm-2.32.1.ebuild, + -gdm-3.2.1.1-r1.ebuild, -gdm-3.2.1.1-r2.ebuild, -gdm-3.4.1.ebuild, + -gdm-3.4.1-r1.ebuild, gdm-3.4.1-r3.ebuild, + +files/gdm-3.6.0-fix-daemonize-regression.patch, + +files/gdm-3.6.0-selinux-automagic.patch, +gdm-3.6.2.ebuild, metadata.xml: + Version bump for Gnome 3.6. USE=introspection is now global. Clean up old + revisions. *gdm-3.4.1-r3 (29 Sep 2012) diff --git a/gnome-base/gdm/files/gdm-2.32.0-broken-VT-detection.patch b/gnome-base/gdm/files/gdm-2.32.0-broken-VT-detection.patch deleted file mode 100644 index 475a9394d3a7..000000000000 --- a/gnome-base/gdm/files/gdm-2.32.0-broken-VT-detection.patch +++ /dev/null @@ -1,98 +0,0 @@ -From 75b80587960b4cee6bd849a34d9e84dd46b91abc Mon Sep 17 00:00:00 2001 -From: Gilles Dartiguelongue <eva@gentoo.org> -Date: Tue, 2 Nov 2010 23:18:21 +0100 -Subject: [PATCH 3/6] Fix VT grab problem causing GDM to grab VT2 instead of 7 - -Gentoo bug: #261339 - ---- - common/gdm-settings-keys.h | 1 + - daemon/gdm-server.c | 15 ++++++++++++--- - data/gdm.schemas.in.in | 5 +++++ - 3 files changed, 18 insertions(+), 3 deletions(-) - -diff --git a/common/gdm-settings-keys.h b/common/gdm-settings-keys.h -index 65a1628..e64eba0 100644 ---- a/common/gdm-settings-keys.h -+++ b/common/gdm-settings-keys.h -@@ -27,6 +27,7 @@ G_BEGIN_DECLS - - #define GDM_KEY_USER "daemon/User" - #define GDM_KEY_GROUP "daemon/Group" -+#define GDM_KEY_VT "daemon/VT" - #define GDM_KEY_AUTO_LOGIN_ENABLE "daemon/AutomaticLoginEnable" - #define GDM_KEY_AUTO_LOGIN_USER "daemon/AutomaticLogin" - #define GDM_KEY_TIMED_LOGIN_ENABLE "daemon/TimedLoginEnable" -diff --git a/daemon/gdm-server.c b/daemon/gdm-server.c -index 339f3cc..f25d6f1 100644 ---- a/daemon/gdm-server.c -+++ b/daemon/gdm-server.c -@@ -47,7 +47,9 @@ - - #include "gdm-common.h" - #include "gdm-signal-handler.h" -- -+#include "gdm-settings.h" -+#include "gdm-settings-direct.h" -+#include "gdm-settings-keys.h" - #include "gdm-server.h" - - extern char **environ; -@@ -83,7 +85,7 @@ struct GdmServerPrivate - char *parent_display_name; - char *parent_auth_file; - char *chosen_hostname; -- -+ char *vt; - guint child_watch_id; - }; - -@@ -686,7 +688,7 @@ gdm_server_start (GdmServer *server) - gboolean res; - - /* fork X server process */ -- res = gdm_server_spawn (server, NULL); -+ res = gdm_server_spawn (server, server->priv->vt); - - return res; - } -@@ -937,6 +939,8 @@ gdm_server_class_init (GdmServerClass *klass) - static void - gdm_server_init (GdmServer *server) - { -+ int vt; -+ gboolean has_vt; - - server->priv = GDM_SERVER_GET_PRIVATE (server); - -@@ -944,6 +948,11 @@ gdm_server_init (GdmServer *server) - server->priv->command = g_strdup (X_SERVER " -br -verbose"); - server->priv->log_dir = g_strdup (LOGDIR); - -+ has_vt = gdm_settings_direct_get_int (GDM_KEY_VT, &vt); -+ if (has_vt) { -+ server->priv->vt = g_strdup_printf ("vt %d", vt); -+ } -+ - add_ready_handler (server); - } - -diff --git a/data/gdm.schemas.in.in b/data/gdm.schemas.in.in -index 514117d..948e403 100644 ---- a/data/gdm.schemas.in.in -+++ b/data/gdm.schemas.in.in -@@ -23,6 +23,11 @@ - <default>@GDM_GROUPNAME@</default> - </schema> - <schema> -+ <key>daemon/VT</key> -+ <signature>i</signature> -+ <default>7</default> -+ </schema> -+ <schema> - <key>daemon/AutomaticLoginEnable</key> - <signature>b</signature> - <default>false</default> --- -1.7.3.1 - diff --git a/gnome-base/gdm/files/gdm-3.6.0-fix-daemonize-regression.patch b/gnome-base/gdm/files/gdm-3.6.0-fix-daemonize-regression.patch new file mode 100644 index 000000000000..27f207970a8f --- /dev/null +++ b/gnome-base/gdm/files/gdm-3.6.0-fix-daemonize-regression.patch @@ -0,0 +1,192 @@ +From 722d31dc8823090b651b103f0194b6380f2d458e Mon Sep 17 00:00:00 2001 +From: Alexandre Rostovtsev <tetromino@gentoo.org> +Date: Tue, 25 Sep 2012 22:30:29 -0400 +Subject: [PATCH] daemonize so that the boot process can continue + +Gentoo bug: #236701 + +Based on original patch by Dan Nicholson <dbn.lists@gmail.com> and +Gilles Dartiguelongue <eva@gentoo.org>. + +Fork gdm-binary, except when -nodaemon is used + +Makes the gdm main binary fork and daemonize unless the -nodaemon or +--nodaemon options are used. Provides compatibility with xdm. Fixes +bug #550170. + +In daemonized mode, start a new process group, and kill it in our signal +handlers, so that killing gdm kills its spawned processes, and so that +"/etc/init.d/xdm stop" actually works. +--- + configure.ac | 4 ++++ + daemon/Makefile.am | 1 + + daemon/main.c | 60 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ + 3 files changed, 65 insertions(+) + +diff --git a/configure.ac b/configure.ac +index 61a43d6..a851ba5 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -99,6 +99,10 @@ PKG_CHECK_MODULES(DAEMON, + AC_SUBST(DAEMON_CFLAGS) + AC_SUBST(DAEMON_LIBS) + ++PKG_CHECK_MODULES(LIBDAEMON, libdaemon) ++AC_SUBST(LIBDAEMON_CFLAGS) ++AC_SUBST(LIBDAEMON_LIBS) ++ + GLIB_GSETTINGS + + PKG_CHECK_MODULES(NSS, +diff --git a/daemon/Makefile.am b/daemon/Makefile.am +index bb84765..cf89b47 100644 +--- a/daemon/Makefile.am ++++ b/daemon/Makefile.am +@@ -380,6 +380,7 @@ gdm_binary_LDADD = \ + $(top_builddir)/common/libgdmcommon.la \ + $(XLIB_LIBS) \ + $(DAEMON_LIBS) \ ++ $(LIBDAEMON_LIBS) \ + $(XDMCP_LIBS) \ + $(LIBWRAP_LIBS) \ + $(SYSTEMD_LIBS) \ +diff --git a/daemon/main.c b/daemon/main.c +index 3b8572c..c2fe4fe 100644 +--- a/daemon/main.c ++++ b/daemon/main.c +@@ -34,6 +34,8 @@ + #include <locale.h> + #include <signal.h> + ++#include <libdaemon/dfork.h> ++ + #include <glib.h> + #include <glib/gi18n.h> + #include <glib/gstdio.h> +@@ -336,16 +338,26 @@ signal_cb (int signo, + gpointer data) + { + int ret; ++ static gboolean ignore_signals = FALSE; + + g_debug ("Got callback for signal %d", signo); + + ret = TRUE; + ++ /* don't commit suicide before killing everyone in our process group */ ++ if (ignore_signals) ++ return ret; ++ + switch (signo) { + case SIGFPE: + case SIGPIPE: + /* let the fatal signals interrupt us */ + g_debug ("Caught signal %d, shutting down abnormally.", signo); ++ /* if we daemonized, kill all the processes we spawned */ ++ ignore_signals = TRUE; ++ kill (-getpid (), signo); ++ ignore_signals = FALSE; ++ + ret = FALSE; + + break; +@@ -354,6 +366,11 @@ signal_cb (int signo, + case SIGTERM: + /* let the fatal signals interrupt us */ + g_debug ("Caught signal %d, shutting down normally.", signo); ++ /* if we daemonized, kill all the processes we spawned */ ++ ignore_signals = TRUE; ++ kill (-getpid (), signo); ++ ignore_signals = FALSE; ++ + ret = FALSE; + + break; +@@ -418,13 +435,16 @@ main (int argc, + GOptionContext *context; + GError *error; + int ret; ++ int i; + gboolean res; + GdmSignalHandler *signal_handler; + static gboolean do_timed_exit = FALSE; + static gboolean print_version = FALSE; + static gboolean fatal_warnings = FALSE; ++ static gboolean no_daemon = FALSE; + static GOptionEntry entries [] = { + { "fatal-warnings", 0, 0, G_OPTION_ARG_NONE, &fatal_warnings, N_("Make all warnings fatal"), NULL }, ++ { "nodaemon", 0, 0, G_OPTION_ARG_NONE, &no_daemon, N_("Do not fork into the background"), NULL }, + { "timed-exit", 0, 0, G_OPTION_ARG_NONE, &do_timed_exit, N_("Exit after a time (for debugging)"), NULL }, + { "version", 0, 0, G_OPTION_ARG_NONE, &print_version, N_("Print GDM version"), NULL }, + +@@ -439,6 +459,14 @@ main (int argc, + + g_type_init (); + ++ /* preprocess the arguments to support the xdm style ++ * -nodaemon option ++ */ ++ for (i = 0; i < argc; i++) { ++ if (strcmp (argv[i], "-nodaemon") == 0) ++ argv[i] = "--nodaemon"; ++ } ++ + context = g_option_context_new (_("GNOME Display Manager")); + g_option_context_add_main_entries (context, entries, NULL); + g_option_context_set_ignore_unknown_options (context, TRUE); +@@ -465,6 +493,33 @@ main (int argc, + g_log_set_always_fatal (fatal_mask); + } + ++ if (!no_daemon) { ++ pid_t pid; ++ if (daemon_retval_init () < 0) { ++ g_warning ("Failed to create pipe"); ++ exit (-1); ++ } ++ if ((pid = daemon_fork ()) < 0) { ++ /* Fork failed */ ++ daemon_retval_done (); ++ exit (1); ++ } else if (pid) { ++ /* Parent process: wait 20s for daemon_retval_send() in the daemon process */ ++ if ((ret = daemon_retval_wait (20)) < 0) { ++ g_warning ("Timed out waiting for daemon process: %s", strerror(errno)); ++ exit (255); ++ } else if (ret > 0) { ++ g_warning ("Daemon process returned error code %d", ret); ++ exit (ret); ++ } ++ exit (0); ++ } ++ /* Daemon process */ ++ daemon_close_all (-1); ++ /* Start a new process group so that killing the daemon will kill the processes that it spawned */ ++ setsid (); ++ } ++ + gdm_log_init (); + + settings = gdm_settings_new (); +@@ -519,6 +574,9 @@ main (int argc, + g_timeout_add_seconds (30, (GSourceFunc) timed_exit_cb, main_loop); + } + ++ if (!no_daemon) ++ daemon_retval_send (0); ++ + g_main_loop_run (main_loop); + + g_debug ("GDM finished, cleaning up..."); +@@ -535,6 +593,8 @@ main (int argc, + ret = 0; + + out: ++ if (!no_daemon) ++ daemon_retval_send (ret); + + return ret; + } +-- +1.7.12 + diff --git a/gnome-base/gdm/files/gdm-3.6.0-selinux-automagic.patch b/gnome-base/gdm/files/gdm-3.6.0-selinux-automagic.patch new file mode 100644 index 000000000000..035d0fa4b173 --- /dev/null +++ b/gnome-base/gdm/files/gdm-3.6.0-selinux-automagic.patch @@ -0,0 +1,31 @@ +From 8f9bf7b053fc7a6c2e5b33fc43c168ba7250cb98 Mon Sep 17 00:00:00 2001 +From: Alexandre Rostovtsev <tetromino@gentoo.org> +Date: Tue, 25 Sep 2012 17:38:37 -0400 +Subject: [PATCH] configure: Make selinux check non-automagic + +--- + configure.ac | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index 80a1fd4..61a43d6 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -142,9 +142,13 @@ AC_SUBST(UPOWER) + AC_SUBST(UPOWER_CFLAGS) + AC_SUBST(UPOWER_LIBS) + ++AC_ARG_WITH(selinux, ++ AS_HELP_STRING([--with-selinux], ++ [Add SELinux support])) ++ + PKG_CHECK_MODULES(LIBSELINUX, libselinux, have_selinux=yes, have_selinux=no) + +-if test "x$have_selinux" = "xyes" ; then ++if test "x$have_selinux" = "xyes" && test "x$with_selinux" != "xno" ; then + AC_DEFINE(HAVE_SELINUX, 1, [Define if have selinux]) + fi + AC_SUBST(LIBSELINUX_CFLAGS) +-- +1.7.12 + diff --git a/gnome-base/gdm/gdm-2.20.11.ebuild b/gnome-base/gdm/gdm-2.20.11.ebuild deleted file mode 100644 index 0bb8cb12896e..000000000000 --- a/gnome-base/gdm/gdm-2.20.11.ebuild +++ /dev/null @@ -1,243 +0,0 @@ -# Copyright 1999-2012 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/gnome-base/gdm/gdm-2.20.11.ebuild,v 1.15 2012/09/27 08:54:42 tetromino Exp $ - -EAPI="2" - -inherit eutils pam gnome2 user - -DESCRIPTION="GNOME Display Manager" -HOMEPAGE="https://live.gnome.org/GDM" - -LICENSE="GPL-2+" -SLOT="0" -KEYWORDS="alpha amd64 arm ia64 ppc ppc64 sh sparc x86 ~x86-fbsd" - -IUSE_LIBC="elibc_glibc" -IUSE="accessibility afs branding +consolekit dmx ipv6 gnome-keyring pam remote selinux tcpd xinerama $IUSE_LIBC" - -# Name of the tarball with gentoo specific files -GDM_EXTRA="${PN}-2.20.9-gentoo-files-r1" - -SRC_URI="${SRC_URI} - mirror://gentoo/${GDM_EXTRA}.tar.bz2 - branding? ( mirror://gentoo/gentoo-gdm-theme-r3.tar.bz2 )" - -RDEPEND=">=dev-libs/glib-2.12:2 - >=x11-libs/gtk+-2.6:2 - >=x11-libs/pango-1.3 - >=gnome-base/libglade-2:2.0 - >=gnome-base/libgnomecanvas-2 - >=gnome-base/librsvg-1.1.1:2 - >=dev-libs/libxml2-2.4.12:2 - >=media-libs/libart_lgpl-2.3.11 - x11-libs/gksu - x11-libs/libXi - x11-libs/libXau - x11-libs/libX11 - x11-libs/libXext - x11-apps/sessreg - x11-libs/libXdmcp - xinerama? ( x11-libs/libXinerama ) - consolekit? ( - sys-auth/consolekit - dev-libs/dbus-glib ) - accessibility? ( x11-libs/libXevie ) - afs? ( net-fs/openafs sys-libs/lwp ) - dmx? ( x11-libs/libdmx ) - gnome-keyring? ( >=gnome-base/gnome-keyring-2.22[pam] ) - pam? ( virtual/pam ) - !pam? ( elibc_glibc? ( sys-apps/shadow ) ) - remote? ( gnome-extra/zenity ) - selinux? ( sys-libs/libselinux ) - tcpd? ( >=sys-apps/tcp-wrappers-7.6 ) - >=x11-misc/xdg-utils-1.0.2-r3" -DEPEND="${RDEPEND} - dmx? ( x11-proto/dmxproto ) - xinerama? ( x11-proto/xineramaproto ) - app-text/docbook-xml-dtd:4.1.2 - sys-devel/gettext - x11-proto/inputproto - >=dev-util/intltool-0.35 - virtual/pkgconfig - >=app-text/scrollkeeper-0.1.4 - >=app-text/gnome-doc-utils-0.3.2" - -DOCS="AUTHORS ChangeLog NEWS README TODO" - -pkg_setup() { - G2CONF="${G2CONF} - --with-prefetch - --sysconfdir=/etc/X11 - --localstatedir=/var - --with-xdmcp=yes - --with-pam-prefix=/etc - SOUND_PROGRAM=/usr/bin/gdmplay - $(use_enable ipv6) - $(use_enable remote secureremote) - $(use_with accessibility xevie) - $(use_with consolekit console-kit) - $(use_with dmx) - $(use_with selinux) - $(use_with tcpd tcp-wrappers) - $(use_with xinerama)" - - if use pam; then - G2CONF="${G2CONF} --enable-authentication-scheme=pam" - else - G2CONF="${G2CONF} --enable-console-helper=no" - if use elibc_glibc ; then - G2CONF="${G2CONF} --enable-authentication-scheme=shadow" - else - G2CONF="${G2CONF} --enable-authentication-scheme=crypt" - fi - fi - - enewgroup gdm - enewuser gdm -1 -1 /var/lib/gdm gdm -} - -src_prepare() { - gnome2_src_prepare - - # remove unneeded linker directive for selinux (#41022) - epatch "${FILESDIR}/${PN}-2.13.0.1-selinux-remove-attr.patch" - - # Add gksu to gdmsetup menu entry - epatch "${FILESDIR}/${PN}-2.20.2-gksu.patch" - - # Fix parallel install, bug #217037 - epatch "${FILESDIR}/${PN}-2.20.9-parallel-make.patch" - - # Make custom session work, bug #216984 - epatch "${FILESDIR}/${PN}-2.20.10-custom-session.patch" - - # ssh-agent handling must be done at xinitrc.d, bug #220603 - epatch "${FILESDIR}/${PN}-2.20.10-xinitrc-ssh-agent.patch" - - # Fix wrong DESKTOP_SESSION set if ${HOME}/.dmrc is not found or - # does not contain any relevant data and autologin enabled, bug #281442 - epatch "${FILESDIR}/${PN}-2.20.10-desktop-session-dmrc-autologin.patch" - - # Fix 24 hour combo box in gdmsetup, bug #301151 - # patch imported from ubuntu mirrors - epatch "${FILESDIR}/${PN}-2.20.10-gdmsetup-24hr-combo.patch" - - # Fix intltoolize broken file, see upstream #577133 - sed "s:'\^\$\$lang\$\$':\^\$\$lang\$\$:g" -i po/Makefile.in.in \ - || die "sed failed" -} - -src_install() { - gnome2_src_install - - local gentoodir="${WORKDIR}/${GDM_EXTRA}" - - # gdm-binary should be gdm to work with our init (#5598) - rm -f "${D}/usr/sbin/gdm" - dosym /usr/sbin/gdm-binary /usr/sbin/gdm - - # our x11's scripts point to /usr/bin/gdm - dosym /usr/sbin/gdm-binary /usr/bin/gdm - - # log, etc. - keepdir /var/log/gdm - keepdir /var/gdm - - fowners root:gdm /var/gdm - fperms 1770 /var/gdm - - # add a custom xsession .desktop by default (#44537) - exeinto /etc/X11/dm/Sessions - doexe "${gentoodir}/custom.desktop" - - # add xinitrc.d scripts - exeinto /etc/X11/xinit/xinitrc.d - doexe "${FILESDIR}/49-keychain" || die "doexe 1 failed" - doexe "${FILESDIR}/50-ssh-agent" || die "doexe 2 failed" - - # install XDG_DATA_DIRS gdm changes - echo 'XDG_DATA_DIRS="/usr/share/gdm"' > 99xdg-gdm - doenvd 99xdg-gdm || die "doenvd failed" - - # add a custom sound playing script (#248253) - dobin "${gentoodir}/gdmplay" || die "dobin failed" - - # avoid file collision, bug #213118 - rm -f "${D}/usr/share/xsessions/gnome.desktop" - - # We replace the pam stuff by our own - rm -rf "${D}/etc/pam.d" - - if use pam ; then - use gnome-keyring && sed -i "s:#Keyring=::g" "${gentoodir}"/pam.d/* - - dopamd "${gentoodir}"/pam.d/* - dopamsecurity console.apps "${gentoodir}/security/console.apps/gdmsetup" - fi - - # use graphical greeter local - dosed "s:#Greeter=/usr/libexec/gdmlogin:Greeter=/usr/libexec/gdmgreeter:" \ - /usr/share/gdm/defaults.conf - - # list available users - dosed "s:^#MinimalUID=.*:MinimalUID=1000:" /usr/share/gdm/defaults.conf - dosed "s:^#IncludeAll=.*:IncludeAll=true:" /usr/share/gdm/defaults.conf - - # Fix old X11R6 paths - dosed "s:/usr/X11R6/bin:/usr/bin:" /usr/share/gdm/defaults.conf - - # Use Clearlooks as default theme, bug #268496 - dosed "s:#GtkTheme=Default:GtkTheme=Clearlooks:" /usr/share/gdm/defaults.conf - - # Move Gentoo theme in - if use branding ; then - mv "${WORKDIR}"/gentoo-* "${D}/usr/share/gdm/themes" - fi -} - -pkg_postinst() { - gnome2_pkg_postinst - - elog "To make GDM start at boot, edit /etc/conf.d/xdm" - elog "and then execute 'rc-update add xdm default'." - - elog "GDM has changed the location of its configuration file. Please" - elog "edit /etc/X11/gdm/custom.conf. The factory defaults are located" - elog "at /usr/share/gdm/{defaults.conf,factory-defaults.conf}" - - elog "See README.install for more information about the change." - - if use gnome-keyring; then - elog "For autologin to unlock your keyring, you need to set an empty" - elog "password on your keyring. Use app-crypt/seahorse for that." - fi - - if [ -f "/etc/X11/gdm/gdm.conf" ]; then - elog "You had /etc/X11/gdm/gdm.conf which is the old configuration" - elog "file. It has been moved to /etc/X11/gdm/gdm-pre-gnome-2.16" - mv /etc/X11/gdm/gdm.conf /etc/X11/gdm/gdm-pre-gnome-2.16 - fi - - # Soft restart, assumes Gentoo defaults for file locations - # Do restart after gdm.conf move above - FIFOFILE=/var/gdm/.gdmfifo - PIDFILE=/var/run/gdm.pid - - if [ -w ${FIFOFILE} ] ; then - if [ -f ${PIDFILE} ] ; then - if kill -0 `cat ${PIDFILE}`; then - (echo;echo SOFT_RESTART) >> ${FIFOFILE} - fi - fi - fi -} - -pkg_postrm() { - gnome2_pkg_postrm - - if [ "$(rc-config list default | grep xdm)" != "" ] ; then - elog "To remove GDM from startup please execute" - elog "'rc-update del xdm default'" - fi -} diff --git a/gnome-base/gdm/gdm-2.32.1.ebuild b/gnome-base/gdm/gdm-2.32.1.ebuild deleted file mode 100644 index f4934ec766eb..000000000000 --- a/gnome-base/gdm/gdm-2.32.1.ebuild +++ /dev/null @@ -1,201 +0,0 @@ -# Copyright 1999-2012 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/gnome-base/gdm/gdm-2.32.1.ebuild,v 1.6 2012/09/27 08:54:42 tetromino Exp $ - -EAPI="3" -GCONF_DEBUG="yes" - -inherit autotools eutils gnome2 pam user - -DESCRIPTION="GNOME Display Manager" -HOMEPAGE="https://live.gnome.org/GDM" - -LICENSE="GPL-2+" -SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~sh ~sparc ~x86" - -IUSE_LIBC="elibc_glibc" -IUSE="accessibility +consolekit ipv6 gnome-keyring selinux tcpd test xinerama +xklavier $IUSE_LIBC" - -# Name of the tarball with gentoo specific files -GDM_EXTRA="${PN}-2.20.9-gentoo-files-r1" - -SRC_URI="${SRC_URI} - mirror://gentoo/${GDM_EXTRA}.tar.bz2" - -# NOTE: x11-base/xorg-server dep is for X_SERVER_PATH etc, bug #295686 -RDEPEND=" - >=dev-libs/dbus-glib-0.74 - >=dev-libs/glib-2.22:2 - >=x11-libs/gtk+-2.20.2:2 - >=x11-libs/pango-1.3 - >=media-libs/libcanberra-0.4[gtk] - >=gnome-base/gconf-2.31.3 - >=gnome-base/gnome-panel-2[bonobo] - <gnome-base/gnome-panel-2.91 - >=gnome-base/gnome-session-2.28 - >=x11-misc/xdg-utils-1.0.2-r3 - >=sys-power/upower-0.9 - app-text/iso-codes - - x11-base/xorg-server - x11-libs/libXi - x11-libs/libXau - x11-libs/libX11 - x11-libs/libXdmcp - x11-libs/libXext - x11-libs/libXft - x11-apps/sessreg - - virtual/pam - consolekit? ( sys-auth/consolekit ) - - accessibility? ( x11-libs/libXevie ) - gnome-keyring? ( >=gnome-base/gnome-keyring-2.22[pam] ) - selinux? ( sys-libs/libselinux ) - tcpd? ( >=sys-apps/tcp-wrappers-7.6 ) - xinerama? ( x11-libs/libXinerama ) - xklavier? ( >=x11-libs/libxklavier-4 ) - - !gnome-extra/fast-user-switch-applet" -DEPEND="${RDEPEND} - test? ( >=dev-libs/check-0.9.4 ) - xinerama? ( x11-proto/xineramaproto ) - app-text/docbook-xml-dtd:4.1.2 - sys-devel/gettext - x11-proto/inputproto - >=dev-util/intltool-0.40 - virtual/pkgconfig - >=app-text/scrollkeeper-0.1.4 - >=app-text/gnome-doc-utils-0.3.2" - -pkg_setup() { - DOCS="AUTHORS ChangeLog NEWS README TODO" - - # PAM is the only auth scheme supported - # even though configure lists shadow and crypt - # they don't have any corresponding code - G2CONF="${G2CONF} - --disable-schemas-install - --localstatedir=/var - --with-xdmcp=yes - --enable-authentication-scheme=pam - --with-pam-prefix=/etc - SOUND_PROGRAM=/usr/bin/gdmplay - $(use_with accessibility xevie) - $(use_enable ipv6) - $(use_enable xklavier libxklavier) - $(use_with consolekit console-kit) - $(use_with selinux) - $(use_with tcpd tcp-wrappers) - $(use_with xinerama)" - - enewgroup gdm - enewuser gdm -1 -1 /var/lib/gdm gdm -} - -src_prepare() { - gnome2_src_prepare - - # remove unneeded linker directive for selinux, bug #41022 - epatch "${FILESDIR}/${PN}-2.32.0-selinux-remove-attr.patch" - - # daemonize so that the boot process can continue, bug #236701 - epatch "${FILESDIR}/${PN}-2.32.0-fix-daemonize-regression.patch" - - # fix VT grab problem causing GDM to grab VT2 instead of 7, bug #261339 - epatch "${FILESDIR}/${PN}-2.32.0-broken-VT-detection.patch" - - # make custom session work, bug #216984 - epatch "${FILESDIR}/${PN}-2.32.0-custom-session.patch" - - # ssh-agent handling must be done at xinitrc.d, bug #220603 - epatch "${FILESDIR}/${PN}-2.32.0-xinitrc-ssh-agent.patch" - - # fix libxklavier automagic support - epatch "${FILESDIR}/${PN}-2.32.0-automagic-libxklavier-support.patch" - - mkdir "${S}"/m4 - intltoolize --force --copy --automake || die "intltoolize failed" - eautoreconf -} - -src_install() { - gnome2_src_install - - local gentoodir="${WORKDIR}/${GDM_EXTRA}" - - # gdm-binary should be gdm to work with our init (#5598) - rm -f "${D}/usr/sbin/gdm" - dosym /usr/sbin/gdm-binary /usr/sbin/gdm - - # our x11's scripts point to /usr/bin/gdm - dosym /usr/sbin/gdm-binary /usr/bin/gdm - - # log, etc. - keepdir /var/log/gdm - keepdir /var/gdm - - fowners root:gdm /var/gdm - fperms 1770 /var/gdm - - # add a custom xsession .desktop by default (#44537) - exeinto /etc/X11/dm/Sessions - doexe "${gentoodir}/custom.desktop" || die "doexe 1 failed" - - # add xinitrc.d scripts - exeinto /etc/X11/xinit/xinitrc.d - doexe "${FILESDIR}/49-keychain" || die "doexe 2 failed" - doexe "${FILESDIR}/50-ssh-agent" || die "doexe 3 failed" - - # install XDG_DATA_DIRS gdm changes - echo 'XDG_DATA_DIRS="/usr/share/gdm"' > 99xdg-gdm - doenvd 99xdg-gdm || die "doenvd failed" - - # add a custom sound playing script (#248253) - dobin "${gentoodir}/gdmplay" - - # avoid file collision, bug #213118 - rm -f "${D}/usr/share/xsessions/gnome.desktop" - - # We replace the pam stuff by our own - rm -rf "${D}/etc/pam.d" - - use gnome-keyring && sed -i "s:#Keyring=::g" "${gentoodir}"/pam.d/* - - dopamd "${gentoodir}"/pam.d/* - dopamsecurity console.apps "${gentoodir}/security/console.apps/gdmsetup" -} - -pkg_postinst() { - gnome2_pkg_postinst - - ewarn - ewarn "This is an EXPERIMENTAL release, please bear with its bugs and" - ewarn "visit us on #gentoo-desktop if you have problems." - ewarn - - elog "To make GDM start at boot, edit /etc/conf.d/xdm" - elog "and then execute 'rc-update add xdm default'." - elog "If you already have GDM running, you will need to restart it." - - if use gnome-keyring; then - elog "For autologin to unlock your keyring, you need to set an empty" - elog "password on your keyring. Use app-crypt/seahorse for that." - fi - - if [ -f "/etc/X11/gdm/gdm.conf" ]; then - elog "You had /etc/X11/gdm/gdm.conf which is the old configuration" - elog "file. It has been moved to /etc/X11/gdm/gdm-pre-gnome-2.16" - mv /etc/X11/gdm/gdm.conf /etc/X11/gdm/gdm-pre-gnome-2.16 - fi -} - -pkg_postrm() { - gnome2_pkg_postrm - - if rc-config list default | grep -q xdm; then - elog "To remove GDM from startup please execute" - elog "'rc-update del xdm default'" - fi -} diff --git a/gnome-base/gdm/gdm-3.2.1.1-r1.ebuild b/gnome-base/gdm/gdm-3.2.1.1-r1.ebuild deleted file mode 100644 index 60205f9de6ad..000000000000 --- a/gnome-base/gdm/gdm-3.2.1.1-r1.ebuild +++ /dev/null @@ -1,269 +0,0 @@ -# Copyright 1999-2012 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/gnome-base/gdm/gdm-3.2.1.1-r1.ebuild,v 1.7 2012/09/27 08:54:42 tetromino Exp $ - -EAPI="4" -GNOME2_LA_PUNT="yes" -GCONF_DEBUG="yes" - -inherit autotools eutils gnome2 pam systemd user - -DESCRIPTION="GNOME Display Manager" -HOMEPAGE="https://live.gnome.org/GDM" - -LICENSE="GPL-2+" -SLOT="0" -KEYWORDS="~amd64 ~sh ~x86" - -IUSE="accessibility +consolekit fprint +gnome-shell ipv6 gnome-keyring +introspection selinux smartcard tcpd test xinerama +xklavier" - -# Name of the tarball with gentoo specific files -GDM_EXTRA="${PN}-3.2.1.1-gentoo-files" - -SRC_URI="${SRC_URI} - http://dev.gentoo.org/~tetromino/distfiles/gdm/${GDM_EXTRA}.tar.xz" - -# 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 -COMMON_DEPEND=" - >=dev-libs/dbus-glib-0.74 - >=dev-libs/glib-2.29.3:2 - >=x11-libs/gtk+-2.91.1:3 - >=x11-libs/pango-1.3 - dev-libs/nspr - >=dev-libs/nss-3.11.1 - >=media-libs/fontconfig-2.5.0 - >=media-libs/libcanberra-0.4[gtk3] - >=gnome-base/gconf-2.31.3 - >=x11-misc/xdg-utils-1.0.2-r3 - >=sys-power/upower-0.9 - >=sys-apps/accountsservice-0.6.12 - - gnome-base/dconf - >=gnome-base/gnome-settings-daemon-3.1.4 - gnome-base/gsettings-desktop-schemas - sys-apps/dbus - - app-text/iso-codes - - x11-base/xorg-server - x11-libs/libXi - x11-libs/libXau - x11-libs/libX11 - x11-libs/libXdmcp - x11-libs/libXext - x11-libs/libXft - x11-libs/libXrandr - x11-apps/sessreg - - virtual/pam - consolekit? ( sys-auth/consolekit ) - - accessibility? ( x11-libs/libXevie ) - gnome-keyring? ( >=gnome-base/gnome-keyring-2.22[pam] ) - introspection? ( >=dev-libs/gobject-introspection-0.9.12 ) - selinux? ( sys-libs/libselinux ) - tcpd? ( >=sys-apps/tcp-wrappers-7.6 ) - xinerama? ( x11-libs/libXinerama ) - xklavier? ( >=x11-libs/libxklavier-4 )" -DEPEND="${COMMON_DEPEND} - test? ( >=dev-libs/check-0.9.4 ) - xinerama? ( x11-proto/xineramaproto ) - app-text/docbook-xml-dtd:4.1.2 - sys-devel/gettext - x11-proto/inputproto - x11-proto/randrproto - >=dev-util/intltool-0.40.0 - virtual/pkgconfig - >=app-text/scrollkeeper-0.1.4 - >=app-text/gnome-doc-utils-0.3.2" -# XXX: These deps are from session and desktop files in data/ directory -# at-spi:1 is needed for at-spi-registryd (spawned by simple-chooser) -# fprintd is used via dbus by gdm-fingerprint-extension -RDEPEND="${COMMON_DEPEND} - >=gnome-base/gnome-session-2.91.92 - x11-apps/xhost - x11-themes/gnome-icon-theme-symbolic - - accessibility? ( - app-accessibility/gnome-mag - app-accessibility/gok - app-accessibility/orca - gnome-extra/at-spi:1 ) - consolekit? ( gnome-extra/polkit-gnome ) - fprint? ( - sys-auth/fprintd - sys-auth/pam_fprint ) - gnome-shell? ( >=gnome-base/gnome-shell-3.1.90 ) - !gnome-shell? ( x11-wm/metacity ) - smartcard? ( - app-crypt/coolkey - sys-auth/pam_pkcs11 ) - - !gnome-extra/fast-user-switch-applet" - -pkg_setup() { - DOCS="AUTHORS ChangeLog NEWS README TODO" - - # 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 - G2CONF="${G2CONF} - --disable-schemas-install - --disable-static - --localstatedir=${EPREFIX}/var - --with-xdmcp=yes - --enable-authentication-scheme=pam - --with-pam-prefix=${EPREFIX}/etc - --with-at-spi-registryd-directory=${EPREFIX}/usr/libexec - $(use_with accessibility xevie) - $(use_enable ipv6) - $(use_enable xklavier libxklavier) - $(use_with consolekit console-kit) - $(use_with selinux) - $(use_with tcpd tcp-wrappers) - $(use_with xinerama)" - - 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() { - gnome2_src_prepare - - # remove unneeded linker directive for selinux, bug #41022 - epatch "${FILESDIR}/${PN}-2.32.0-selinux-remove-attr.patch" - - # daemonize so that the boot process can continue, bug #236701 - epatch "${FILESDIR}/${PN}-2.32.0-fix-daemonize-regression.patch" - - # GDM grabs VT2 instead of VT7, bug 261339, bug 284053, bug 288852 - epatch "${FILESDIR}/${PN}-2.32.0-fix-vt-problems.patch" - - # make custom session work, bug #216984 - epatch "${FILESDIR}/${PN}-3.2.1.1-custom-session.patch" - - # ssh-agent handling must be done at xinitrc.d, bug #220603 - epatch "${FILESDIR}/${PN}-2.32.0-xinitrc-ssh-agent.patch" - - # fix libxklavier automagic support - epatch "${FILESDIR}/${PN}-2.32.0-automagic-libxklavier-support.patch" - - # don't load accessibility support at runtime when USE=-accessibility - use accessibility || epatch "${FILESDIR}/${PN}-3.2.1.1-disable-accessibility.patch" - - # make gdm-fallback session the default if USE=-gnome-shell - if ! use gnome-shell; then - sed -e "s:'gdm-shell':'gdm-fallback':" \ - -i data/00-upstream-settings || die "sed failed" - fi - - mkdir -p "${S}"/m4 - intltoolize --force --copy --automake || die "intltoolize failed" - eautoreconf -} - -src_install() { - gnome2_src_install - - local gentoodir="${WORKDIR}/${GDM_EXTRA}" - - # Install the systemd unit file - systemd_dounit "${gentoodir}/gdm@.service" - - # gdm-binary should be gdm to work with our init (#5598) - rm -f "${ED}/usr/sbin/gdm" - ln -sfn /usr/sbin/gdm-binary "${ED}/usr/sbin/gdm" - # our x11's scripts point to /usr/bin/gdm - ln -sfn /usr/sbin/gdm-binary "${ED}/usr/bin/gdm" - - # log, etc. - keepdir /var/log/gdm - - # add xinitrc.d scripts - exeinto /etc/X11/xinit/xinitrc.d - doexe "${FILESDIR}/49-keychain" || die "doexe 2 failed" - doexe "${FILESDIR}/50-ssh-agent" || die "doexe 3 failed" - - # install XDG_DATA_DIRS gdm changes - echo 'XDG_DATA_DIRS="/usr/share/gdm"' > 99xdg-gdm - doenvd 99xdg-gdm || die "doenvd failed" - - # install PAM files - use gnome-keyring && sed -i "s:#Keyring=::g" "${gentoodir}"/pam.d/* - dopamd "${gentoodir}"/pam.d/gdm{,-autologin,-password,-fingerprint,-smartcard,-welcome} -} - -pkg_postinst() { - gnome2_pkg_postinst - - dbus-launch dconf update || die "'dconf update' failed" - - ewarn - ewarn "This is an EXPERIMENTAL release, please bear with its bugs and" - ewarn "visit us on #gentoo-desktop if you have problems." - ewarn - - elog "To make GDM start at boot, edit /etc/conf.d/xdm" - elog "and then execute 'rc-update add xdm default'." - elog "If you already have GDM running, you will need to restart it." - - elog - elog "GDM ignores most non-localization environment variables. If you" - elog "need GDM to launch gnome-session with a particular environment," - elog "you need to use pam_env.so in /etc/pam.d/gdm-welcome; see" - elog "the pam_env man page for more information." - elog - - if use gnome-keyring; then - elog "For autologin to unlock your keyring, you need to set an empty" - elog "password on your keyring. Use app-crypt/seahorse for that." - fi - - if [ -f "/etc/X11/gdm/gdm.conf" ]; then - elog "You had /etc/X11/gdm/gdm.conf which is the old configuration" - elog "file. It has been moved to /etc/X11/gdm/gdm-pre-gnome-2.16" - mv /etc/X11/gdm/gdm.conf /etc/X11/gdm/gdm-pre-gnome-2.16 - fi - - # https://bugzilla.redhat.com/show_bug.cgi?id=513579 - # Lennart says this problem is fixed, but users are still reporting problems - # XXX: Do we want this elog? -# if has_version "media-libs/libcanberra[pulseaudio]" ; then -# elog -# elog "You have media-libs/libcanberra with the pulseaudio USE flag" -# elog "enabled. GDM will start a pulseaudio process to play sounds. This" -# elog "process should automatically terminate when a user logs into a" -# elog "desktop session. If GDM's pulseaudio fails to terminate and" -# elog "causes problems for users' audio, you can prevent GDM from" -# elog "starting pulseaudio by editing /var/lib/gdm/.pulse/client.conf" -# elog "so it contains the following two lines:" -# elog -# elog "autospawn = no" -# elog "daemon-binary = /bin/true" -# fi -} - -pkg_postrm() { - gnome2_pkg_postrm - - if rc-config list default | grep -q xdm; then - elog "To remove GDM from startup please execute" - elog "'rc-update del xdm default'" - fi -} diff --git a/gnome-base/gdm/gdm-3.2.1.1-r2.ebuild b/gnome-base/gdm/gdm-3.2.1.1-r2.ebuild deleted file mode 100644 index 9b8d88ef19dc..000000000000 --- a/gnome-base/gdm/gdm-3.2.1.1-r2.ebuild +++ /dev/null @@ -1,268 +0,0 @@ -# Copyright 1999-2012 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/gnome-base/gdm/gdm-3.2.1.1-r2.ebuild,v 1.6 2012/09/27 08:54:42 tetromino Exp $ - -EAPI="4" -GNOME2_LA_PUNT="yes" -GCONF_DEBUG="yes" - -inherit autotools eutils gnome2 pam systemd user - -DESCRIPTION="GNOME Display Manager" -HOMEPAGE="https://live.gnome.org/GDM" - -LICENSE="GPL-2+" -SLOT="0" -KEYWORDS="~amd64 ~sh ~x86" - -IUSE="accessibility +consolekit +fallback fprint +gnome-shell ipv6 gnome-keyring +introspection selinux smartcard tcpd test xinerama +xklavier" - -# 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 -COMMON_DEPEND=" - >=dev-libs/dbus-glib-0.74 - >=dev-libs/glib-2.29.3:2 - >=x11-libs/gtk+-2.91.1:3 - >=x11-libs/pango-1.3 - dev-libs/nspr - >=dev-libs/nss-3.11.1 - >=media-libs/fontconfig-2.5.0 - >=media-libs/libcanberra-0.4[gtk3] - >=gnome-base/gconf-2.31.3 - >=x11-misc/xdg-utils-1.0.2-r3 - >=sys-power/upower-0.9 - >=sys-apps/accountsservice-0.6.12 - - gnome-base/dconf - >=gnome-base/gnome-settings-daemon-3.1.4 - gnome-base/gsettings-desktop-schemas - sys-apps/dbus - - app-text/iso-codes - - x11-base/xorg-server - x11-libs/libXi - x11-libs/libXau - x11-libs/libX11 - x11-libs/libXdmcp - x11-libs/libXext - x11-libs/libXft - x11-libs/libXrandr - x11-apps/sessreg - - virtual/pam - consolekit? ( sys-auth/consolekit ) - - accessibility? ( x11-libs/libXevie ) - gnome-keyring? ( >=gnome-base/gnome-keyring-2.22[pam] ) - introspection? ( >=dev-libs/gobject-introspection-0.9.12 ) - selinux? ( sys-libs/libselinux ) - tcpd? ( >=sys-apps/tcp-wrappers-7.6 ) - xinerama? ( x11-libs/libXinerama ) - xklavier? ( >=x11-libs/libxklavier-4 )" -DEPEND="${COMMON_DEPEND} - test? ( >=dev-libs/check-0.9.4 ) - xinerama? ( x11-proto/xineramaproto ) - app-text/docbook-xml-dtd:4.1.2 - sys-devel/gettext - x11-proto/inputproto - x11-proto/randrproto - >=dev-util/intltool-0.40.0 - virtual/pkgconfig - >=app-text/scrollkeeper-0.1.4 - >=app-text/gnome-doc-utils-0.3.2" -# XXX: These deps are from session and desktop files in data/ directory -# at-spi:1 is needed for at-spi-registryd (spawned by simple-chooser) -# fprintd is used via dbus by gdm-fingerprint-extension -RDEPEND="${COMMON_DEPEND} - >=gnome-base/gnome-session-2.91.92 - x11-apps/xhost - x11-themes/gnome-icon-theme-symbolic - - accessibility? ( - app-accessibility/gnome-mag - app-accessibility/gok - app-accessibility/orca - gnome-extra/at-spi:1 ) - consolekit? ( gnome-extra/polkit-gnome ) - fallback? ( x11-wm/metacity ) - fprint? ( - sys-auth/fprintd - sys-auth/pam_fprint ) - gnome-shell? ( >=gnome-base/gnome-shell-3.1.90 ) - !gnome-shell? ( x11-wm/metacity ) - smartcard? ( - app-crypt/coolkey - sys-auth/pam_pkcs11 ) - - !gnome-extra/fast-user-switch-applet" - -pkg_setup() { - DOCS="AUTHORS ChangeLog NEWS README TODO" - - # 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 - G2CONF="${G2CONF} - --disable-schemas-install - --disable-static - --localstatedir=${EPREFIX}/var - --with-xdmcp=yes - --enable-authentication-scheme=pam - --with-pam-prefix=${EPREFIX}/etc - --with-at-spi-registryd-directory=${EPREFIX}/usr/libexec - $(use_with accessibility xevie) - $(use_enable ipv6) - $(use_enable xklavier libxklavier) - $(use_with consolekit console-kit) - $(use_with selinux) - $(use_with tcpd tcp-wrappers) - $(use_with xinerama)" - - 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() { - # remove unneeded linker directive for selinux, bug #41022 - epatch "${FILESDIR}/${PN}-2.32.0-selinux-remove-attr.patch" - - # daemonize so that the boot process can continue, bug #236701 - epatch "${FILESDIR}/${PN}-2.32.0-fix-daemonize-regression.patch" - - # GDM grabs VT2 instead of VT7, bug 261339, bug 284053, bug 288852 - epatch "${FILESDIR}/${PN}-2.32.0-fix-vt-problems.patch" - - # make custom session work, bug #216984 - epatch "${FILESDIR}/${PN}-3.2.1.1-custom-session.patch" - - # ssh-agent handling must be done at xinitrc.d, bug #220603 - epatch "${FILESDIR}/${PN}-2.32.0-xinitrc-ssh-agent.patch" - - # fix libxklavier automagic support - epatch "${FILESDIR}/${PN}-2.32.0-automagic-libxklavier-support.patch" - - # fixes for logging in with slow pam modules from git master branch - epatch "${FILESDIR}/${PN}-3.2.1.1-pam-fix-"{1,2}.patch - - # don't load accessibility support at runtime when USE=-accessibility - use accessibility || epatch "${FILESDIR}/${PN}-3.2.1.1-disable-accessibility.patch" - - # make gdm-fallback session the default if USE=-gnome-shell - if ! use gnome-shell; then - sed -e "s:'gdm-shell':'gdm-fallback':" \ - -i data/00-upstream-settings || die "sed failed" - fi - - mkdir -p "${S}"/m4 - intltoolize --force --copy --automake || die "intltoolize failed" - eautoreconf - - gnome2_src_prepare -} - -src_install() { - gnome2_src_install - - # Install the systemd unit file - systemd_dounit "${FILESDIR}/3.2.1.1/gdm.service" - - # gdm-binary should be gdm to work with our init (#5598) - rm -f "${ED}/usr/sbin/gdm" - ln -sfn /usr/sbin/gdm-binary "${ED}/usr/sbin/gdm" - # our x11's scripts point to /usr/bin/gdm - ln -sfn /usr/sbin/gdm-binary "${ED}/usr/bin/gdm" - - # log, etc. - keepdir /var/log/gdm - - # add xinitrc.d scripts - exeinto /etc/X11/xinit/xinitrc.d - doexe "${FILESDIR}/49-keychain" - doexe "${FILESDIR}/50-ssh-agent" - - # install XDG_DATA_DIRS gdm changes - echo 'XDG_DATA_DIRS="/usr/share/gdm"' > 99xdg-gdm - doenvd 99xdg-gdm - - # install PAM files - mkdir "${T}/pam.d" || die "mkdir failed" - cp "${FILESDIR}/3.2.1.1"/gdm{,-autologin,-password,-fingerprint,-smartcard,-welcome} \ - "${T}/pam.d" || die "cp failed" - use gnome-keyring && sed -i "s:#Keyring=::g" "${T}/pam.d"/* - dopamd "${T}/pam.d"/* -} - -pkg_postinst() { - gnome2_pkg_postinst - - dbus-launch dconf update || die "'dconf update' failed" - - ewarn - ewarn "This is an EXPERIMENTAL release, please bear with its bugs and" - ewarn "visit us on #gentoo-desktop if you have problems." - ewarn - - elog "To make GDM start at boot, edit /etc/conf.d/xdm" - elog "and then execute 'rc-update add xdm default'." - elog "If you already have GDM running, you will need to restart it." - - elog - elog "GDM ignores most non-localization environment variables. If you" - elog "need GDM to launch gnome-session with a particular environment," - elog "you need to use pam_env.so in /etc/pam.d/gdm-welcome; see" - elog "the pam_env man page for more information." - elog - - if use gnome-keyring; then - elog "For autologin to unlock your keyring, you need to set an empty" - elog "password on your keyring. Use app-crypt/seahorse for that." - fi - - if [ -f "/etc/X11/gdm/gdm.conf" ]; then - elog "You had /etc/X11/gdm/gdm.conf which is the old configuration" - elog "file. It has been moved to /etc/X11/gdm/gdm-pre-gnome-2.16" - mv /etc/X11/gdm/gdm.conf /etc/X11/gdm/gdm-pre-gnome-2.16 - fi - - # https://bugzilla.redhat.com/show_bug.cgi?id=513579 - # Lennart says this problem is fixed, but users are still reporting problems - # XXX: Do we want this elog? -# if has_version "media-libs/libcanberra[pulseaudio]" ; then -# elog -# elog "You have media-libs/libcanberra with the pulseaudio USE flag" -# elog "enabled. GDM will start a pulseaudio process to play sounds. This" -# elog "process should automatically terminate when a user logs into a" -# elog "desktop session. If GDM's pulseaudio fails to terminate and" -# elog "causes problems for users' audio, you can prevent GDM from" -# elog "starting pulseaudio by editing /var/lib/gdm/.pulse/client.conf" -# elog "so it contains the following two lines:" -# elog -# elog "autospawn = no" -# elog "daemon-binary = /bin/true" -# fi -} - -pkg_postrm() { - gnome2_pkg_postrm - - if rc-config list default | grep -q xdm; then - elog "To remove GDM from startup please execute" - elog "'rc-update del xdm default'" - fi -} diff --git a/gnome-base/gdm/gdm-3.4.1-r3.ebuild b/gnome-base/gdm/gdm-3.4.1-r3.ebuild index af4287f712cb..b7dcd25c3a8a 100644 --- a/gnome-base/gdm/gdm-3.4.1-r3.ebuild +++ b/gnome-base/gdm/gdm-3.4.1-r3.ebuild @@ -1,6 +1,6 @@ # Copyright 1999-2012 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/gnome-base/gdm/gdm-3.4.1-r3.ebuild,v 1.1 2012/09/29 06:05:16 tetromino Exp $ +# $Header: /var/cvsroot/gentoo-x86/gnome-base/gdm/gdm-3.4.1-r3.ebuild,v 1.2 2012/12/26 21:45:01 eva Exp $ EAPI="4" GNOME2_LA_PUNT="yes" @@ -16,9 +16,8 @@ SRC_URI="${SRC_URI} LICENSE="GPL-2+" SLOT="0" -KEYWORDS="~amd64 ~sh ~x86" - IUSE="accessibility audit +consolekit +fallback fprint +gnome-shell +introspection ipv6 ldap plymouth selinux smartcard systemd tcpd test xinerama +xklavier" +KEYWORDS="~amd64 ~sh ~x86" # NOTE: x11-base/xorg-server dep is for X_SERVER_PATH etc, bug #295686 # nspr used by smartcard extension @@ -104,31 +103,6 @@ RDEPEND="${COMMON_DEPEND} !gnome-extra/fast-user-switch-applet" pkg_setup() { - DOCS="AUTHORS ChangeLog NEWS README TODO" - - # 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 - G2CONF="${G2CONF} - --disable-static - --localstatedir=${EPREFIX}/var - --with-xdmcp=yes - --enable-authentication-scheme=pam - --with-pam-prefix=${EPREFIX}/etc - --with-at-spi-registryd-directory=${EPREFIX}/usr/libexec - $(use_with accessibility xevie) - $(use_with audit libaudit) - $(use_enable ipv6) - $(use_enable xklavier libxklavier) - $(use_with consolekit console-kit) - $(use_with plymouth) - $(use_with selinux) - $(use_with systemd) - $(use_with tcpd tcp-wrappers) - $(use_with xinerama)" - enewgroup gdm enewgroup video # Just in case it hasn't been created yet enewuser gdm -1 -1 /var/lib/gdm gdm,video @@ -186,6 +160,34 @@ src_prepare() { gnome2_src_prepare } +src_configure() { + DOCS="AUTHORS ChangeLog NEWS README TODO" + + # 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 + G2CONF="${G2CONF} + --disable-static + --localstatedir=${EPREFIX}/var + --with-xdmcp=yes + --enable-authentication-scheme=pam + --with-pam-prefix=${EPREFIX}/etc + --with-at-spi-registryd-directory=${EPREFIX}/usr/libexec + $(use_with accessibility xevie) + $(use_with audit libaudit) + $(use_enable ipv6) + $(use_enable xklavier libxklavier) + $(use_with consolekit console-kit) + $(use_with plymouth) + $(use_with selinux) + $(use_with systemd) + $(use_with tcpd tcp-wrappers) + $(use_with xinerama)" + gnome2_src_configure +} + src_install() { gnome2_src_install diff --git a/gnome-base/gdm/gdm-3.4.1.ebuild b/gnome-base/gdm/gdm-3.4.1.ebuild deleted file mode 100644 index 5da4b19f7682..000000000000 --- a/gnome-base/gdm/gdm-3.4.1.ebuild +++ /dev/null @@ -1,271 +0,0 @@ -# Copyright 1999-2012 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/gnome-base/gdm/gdm-3.4.1.ebuild,v 1.4 2012/09/27 08:54:42 tetromino Exp $ - -EAPI="4" -GNOME2_LA_PUNT="yes" - -inherit autotools eutils gnome2 pam systemd user - -DESCRIPTION="GNOME Display Manager" -HOMEPAGE="https://live.gnome.org/GDM" - -LICENSE="GPL-2+" -SLOT="0" -KEYWORDS="~amd64 ~sh ~x86" - -IUSE="accessibility +consolekit +fallback fprint +gnome-shell ipv6 gnome-keyring +introspection plymouth selinux smartcard systemd tcpd test xinerama +xklavier" - -# 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 -COMMON_DEPEND=" - >=dev-libs/dbus-glib-0.74 - >=dev-libs/glib-2.29.3:2 - >=x11-libs/gtk+-2.91.1:3 - >=x11-libs/pango-1.3 - dev-libs/nspr - >=dev-libs/nss-3.11.1 - >=media-libs/fontconfig-2.5.0 - >=media-libs/libcanberra-0.4[gtk3] - >=x11-misc/xdg-utils-1.0.2-r3 - >=sys-power/upower-0.9 - >=sys-apps/accountsservice-0.6.12 - - gnome-base/dconf - >=gnome-base/gnome-settings-daemon-3.1.4 - gnome-base/gsettings-desktop-schemas - sys-apps/dbus - - app-text/iso-codes - - x11-base/xorg-server - x11-libs/libXi - x11-libs/libXau - x11-libs/libX11 - x11-libs/libXdmcp - x11-libs/libXext - x11-libs/libXft - x11-libs/libXrandr - x11-apps/sessreg - - virtual/pam - consolekit? ( sys-auth/consolekit ) - - accessibility? ( x11-libs/libXevie ) - gnome-keyring? ( >=gnome-base/gnome-keyring-2.22[pam] ) - introspection? ( >=dev-libs/gobject-introspection-0.9.12 ) - plymouth? ( sys-boot/plymouth ) - selinux? ( sys-libs/libselinux ) - systemd? ( >=sys-apps/systemd-39 ) - tcpd? ( >=sys-apps/tcp-wrappers-7.6 ) - xinerama? ( x11-libs/libXinerama ) - xklavier? ( >=x11-libs/libxklavier-4 )" -DEPEND="${COMMON_DEPEND} - test? ( >=dev-libs/check-0.9.4 ) - xinerama? ( x11-proto/xineramaproto ) - app-text/docbook-xml-dtd:4.1.2 - sys-devel/gettext - x11-proto/inputproto - x11-proto/randrproto - >=dev-util/intltool-0.40.0 - >=app-text/scrollkeeper-0.1.4 - >=app-text/gnome-doc-utils-0.3.2 - virtual/pkgconfig" -# XXX: These deps are from session and desktop files in data/ directory -# at-spi:1 is needed for at-spi-registryd (spawned by simple-chooser) -# fprintd is used via dbus by gdm-fingerprint-extension -RDEPEND="${COMMON_DEPEND} - >=gnome-base/gnome-session-2.91.92 - x11-apps/xhost - x11-themes/gnome-icon-theme-symbolic - - accessibility? ( - app-accessibility/gnome-mag - app-accessibility/gok - app-accessibility/orca - gnome-extra/at-spi:1 ) - consolekit? ( gnome-extra/polkit-gnome ) - fallback? ( x11-wm/metacity ) - fprint? ( - sys-auth/fprintd - sys-auth/pam_fprint ) - gnome-shell? ( >=gnome-base/gnome-shell-3.1.90 ) - !gnome-shell? ( x11-wm/metacity ) - smartcard? ( - app-crypt/coolkey - sys-auth/pam_pkcs11 ) - - !gnome-extra/fast-user-switch-applet" - -pkg_setup() { - DOCS="AUTHORS ChangeLog NEWS README TODO" - - # 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 - G2CONF="${G2CONF} - --disable-schemas-install - --disable-static - --localstatedir=${EPREFIX}/var - --with-xdmcp=yes - --enable-authentication-scheme=pam - --with-pam-prefix=${EPREFIX}/etc - --with-at-spi-registryd-directory=${EPREFIX}/usr/libexec - $(use_with accessibility xevie) - $(use_enable ipv6) - $(use_enable xklavier libxklavier) - $(use_with consolekit console-kit) - $(use_with plymouth) - $(use_with selinux) - $(use_with systemd) - $(use_with tcpd tcp-wrappers) - $(use_with xinerama)" - - 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() { - # remove unneeded linker directive for selinux, bug #41022 - epatch "${FILESDIR}/${PN}-2.32.0-selinux-remove-attr.patch" - - # daemonize so that the boot process can continue, bug #236701 - epatch "${FILESDIR}/${PN}-2.32.0-fix-daemonize-regression.patch" - - # GDM grabs VT2 instead of VT7, bug 261339, bug 284053, bug 288852 - epatch "${FILESDIR}/${PN}-2.32.0-fix-vt-problems.patch" - - # make custom session work, bug #216984 - epatch "${FILESDIR}/${PN}-3.2.1.1-custom-session.patch" - - # ssh-agent handling must be done at xinitrc.d, bug #220603 - epatch "${FILESDIR}/${PN}-2.32.0-xinitrc-ssh-agent.patch" - - # fix libxklavier automagic support - epatch "${FILESDIR}/${PN}-2.32.0-automagic-libxklavier-support.patch" - - # plymouth support (in next release) - epatch "${FILESDIR}/${P}-save-root-window.patch" - epatch "${FILESDIR}/${P}-plymouth.patch" - - # don't load accessibility support at runtime when USE=-accessibility - use accessibility || epatch "${FILESDIR}/${PN}-3.3.92.1-disable-accessibility.patch" - - # make gdm-fallback session the default if USE=-gnome-shell - if ! use gnome-shell; then - sed -e "s:'gdm-shell':'gdm-fallback':" \ - -i data/00-upstream-settings || die "sed failed" - fi - - mkdir -p "${S}"/m4 - intltoolize --force --copy --automake || die "intltoolize failed" - eautoreconf - - gnome2_src_prepare -} - -src_install() { - gnome2_src_install - - # Install the systemd unit file - systemd_dounit "${FILESDIR}/3.2.1.1/gdm.service" - - # gdm-binary should be gdm to work with our init (#5598) - rm -f "${ED}/usr/sbin/gdm" - ln -sfn /usr/sbin/gdm-binary "${ED}/usr/sbin/gdm" - # our x11's scripts point to /usr/bin/gdm - ln -sfn /usr/sbin/gdm-binary "${ED}/usr/bin/gdm" - - # log, etc. - keepdir /var/log/gdm - - # add xinitrc.d scripts - exeinto /etc/X11/xinit/xinitrc.d - doexe "${FILESDIR}/49-keychain" - doexe "${FILESDIR}/50-ssh-agent" - - # install XDG_DATA_DIRS gdm changes - echo 'XDG_DATA_DIRS="/usr/share/gdm"' > 99xdg-gdm - doenvd 99xdg-gdm - - # install PAM files - mkdir "${T}/pam.d" || die "mkdir failed" - cp "${FILESDIR}/3.2.1.1"/gdm{,-autologin,-password,-fingerprint,-smartcard,-welcome} \ - "${T}/pam.d" || die "cp failed" - use gnome-keyring && sed -i "s:#Keyring=::g" "${T}/pam.d"/* - dopamd "${T}/pam.d"/* -} - -pkg_postinst() { - gnome2_pkg_postinst - - dbus-launch dconf update || die "'dconf update' failed" - - ewarn - ewarn "This is an EXPERIMENTAL release, please bear with its bugs and" - ewarn "visit us on #gentoo-desktop if you have problems." - ewarn - - elog "To make GDM start at boot, edit /etc/conf.d/xdm" - elog "and then execute 'rc-update add xdm default'." - elog "If you already have GDM running, you will need to restart it." - - elog - elog "GDM ignores most non-localization environment variables. If you" - elog "need GDM to launch gnome-session with a particular environment," - elog "you need to use pam_env.so in /etc/pam.d/gdm-welcome; see" - elog "the pam_env man page for more information." - elog - - if use gnome-keyring; then - elog "For autologin to unlock your keyring, you need to set an empty" - elog "password on your keyring. Use app-crypt/seahorse for that." - fi - - if [ -f "/etc/X11/gdm/gdm.conf" ]; then - elog "You had /etc/X11/gdm/gdm.conf which is the old configuration" - elog "file. It has been moved to /etc/X11/gdm/gdm-pre-gnome-2.16" - mv /etc/X11/gdm/gdm.conf /etc/X11/gdm/gdm-pre-gnome-2.16 - fi - - # https://bugzilla.redhat.com/show_bug.cgi?id=513579 - # Lennart says this problem is fixed, but users are still reporting problems - # XXX: Do we want this elog? -# if has_version "media-libs/libcanberra[pulseaudio]" ; then -# elog -# elog "You have media-libs/libcanberra with the pulseaudio USE flag" -# elog "enabled. GDM will start a pulseaudio process to play sounds. This" -# elog "process should automatically terminate when a user logs into a" -# elog "desktop session. If GDM's pulseaudio fails to terminate and" -# elog "causes problems for users' audio, you can prevent GDM from" -# elog "starting pulseaudio by editing /var/lib/gdm/.pulse/client.conf" -# elog "so it contains the following two lines:" -# elog -# elog "autospawn = no" -# elog "daemon-binary = /bin/true" -# fi -} - -pkg_postrm() { - gnome2_pkg_postrm - - if rc-config list default | grep -q xdm; then - elog "To remove GDM from startup please execute" - elog "'rc-update del xdm default'" - fi -} diff --git a/gnome-base/gdm/gdm-3.4.1-r1.ebuild b/gnome-base/gdm/gdm-3.6.2.ebuild index 52a292466eda..98ad0808961e 100644 --- a/gnome-base/gdm/gdm-3.4.1-r1.ebuild +++ b/gnome-base/gdm/gdm-3.6.2.ebuild @@ -1,44 +1,46 @@ # Copyright 1999-2012 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/gnome-base/gdm/gdm-3.4.1-r1.ebuild,v 1.3 2012/09/27 08:54:42 tetromino Exp $ +# $Header: /var/cvsroot/gentoo-x86/gnome-base/gdm/gdm-3.6.2.ebuild,v 1.1 2012/12/26 21:45:01 eva Exp $ -EAPI="4" +EAPI="5" GNOME2_LA_PUNT="yes" inherit autotools eutils gnome2 pam systemd user +G_PV="2012.09.25" +G_P="gdm-gentoo-${G_PV}" DESCRIPTION="GNOME Display Manager" HOMEPAGE="https://live.gnome.org/GDM" +SRC_URI="${SRC_URI} + http://dev.gentoo.org/~tetromino/distfiles/${PN}/${G_P}.tar.xz" LICENSE="GPL-2+" SLOT="0" +IUSE="accessibility audit +consolekit +fallback fprint +gnome-shell +introspection ipv6 ldap plymouth selinux smartcard systemd tcpd test xinerama" KEYWORDS="~amd64 ~sh ~x86" -IUSE="accessibility audit +consolekit +fallback fprint +gnome-shell gnome-keyring +introspection ipv6 ldap plymouth selinux smartcard systemd tcpd test xinerama +xklavier" - # 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 +# libdaemon needed for our fix-daemonize-regression.patch COMMON_DEPEND=" - >=dev-libs/dbus-glib-0.74 - >=dev-libs/glib-2.29.3:2 + app-text/iso-codes + >=dev-libs/glib-2.33.2:2 >=x11-libs/gtk+-2.91.1:3 + dev-libs/libdaemon >=x11-libs/pango-1.3 dev-libs/nspr >=dev-libs/nss-3.11.1 - >=media-libs/fontconfig-2.5.0 - >=media-libs/libcanberra-0.4[gtk3] - >=x11-misc/xdg-utils-1.0.2-r3 - >=sys-power/upower-0.9 - >=sys-apps/accountsservice-0.6.12 - >=gnome-base/dconf-0.11.6 >=gnome-base/gnome-settings-daemon-3.1.4 gnome-base/gsettings-desktop-schemas + >=media-libs/fontconfig-2.5.0 + >=media-libs/libcanberra-0.4[gtk3] sys-apps/dbus + >=sys-apps/accountsservice-0.6.12 + >=sys-power/upower-0.9 - app-text/iso-codes - + x11-apps/sessreg x11-base/xorg-server x11-libs/libXi x11-libs/libXau @@ -47,37 +49,27 @@ COMMON_DEPEND=" x11-libs/libXext x11-libs/libXft x11-libs/libXrandr - x11-apps/sessreg + >=x11-misc/xdg-utils-1.0.2-r3 virtual/pam - consolekit? ( sys-auth/consolekit ) + sys-auth/pambase[consolekit?,systemd?] accessibility? ( x11-libs/libXevie ) audit? ( sys-process/audit ) - gnome-keyring? ( >=gnome-base/gnome-keyring-2.22[pam] ) + consolekit? ( sys-auth/consolekit[pam] ) introspection? ( >=dev-libs/gobject-introspection-0.9.12 ) plymouth? ( sys-boot/plymouth ) selinux? ( sys-libs/libselinux ) - systemd? ( >=sys-apps/systemd-39 ) + systemd? ( >=sys-apps/systemd-186[pam] ) tcpd? ( >=sys-apps/tcp-wrappers-7.6 ) xinerama? ( x11-libs/libXinerama ) - xklavier? ( >=x11-libs/libxklavier-4 )" -DEPEND="${COMMON_DEPEND} - test? ( >=dev-libs/check-0.9.4 ) - xinerama? ( x11-proto/xineramaproto ) - app-text/docbook-xml-dtd:4.1.2 - sys-devel/gettext - x11-proto/inputproto - x11-proto/randrproto - >=dev-util/intltool-0.40.0 - >=app-text/scrollkeeper-0.1.4 - >=app-text/gnome-doc-utils-0.3.2 - virtual/pkgconfig" +" # XXX: These deps are from session and desktop files in data/ directory # at-spi:1 is needed for at-spi-registryd (spawned by simple-chooser) # 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-2.91.92 + >=gnome-base/gnome-session-3.6 x11-apps/xhost x11-themes/gnome-icon-theme-symbolic @@ -97,34 +89,20 @@ RDEPEND="${COMMON_DEPEND} app-crypt/coolkey sys-auth/pam_pkcs11 ) - !gnome-extra/fast-user-switch-applet" + !gnome-extra/fast-user-switch-applet +" +DEPEND="${COMMON_DEPEND} + app-text/docbook-xml-dtd:4.1.2 + >=dev-util/intltool-0.40.0 + >=sys-devel/gettext-0.17 + virtual/pkgconfig + x11-proto/inputproto + x11-proto/randrproto + test? ( >=dev-libs/check-0.9.4 ) + xinerama? ( x11-proto/xineramaproto ) +" pkg_setup() { - DOCS="AUTHORS ChangeLog NEWS README TODO" - - # 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 - G2CONF="${G2CONF} - --disable-static - --localstatedir=${EPREFIX}/var - --with-xdmcp=yes - --enable-authentication-scheme=pam - --with-pam-prefix=${EPREFIX}/etc - --with-at-spi-registryd-directory=${EPREFIX}/usr/libexec - $(use_with accessibility xevie) - $(use_with audit libaudit) - $(use_enable ipv6) - $(use_enable xklavier libxklavier) - $(use_with consolekit console-kit) - $(use_with plymouth) - $(use_with selinux) - $(use_with systemd) - $(use_with tcpd tcp-wrappers) - $(use_with xinerama)" - enewgroup gdm enewgroup video # Just in case it hasn't been created yet enewuser gdm -1 -1 /var/lib/gdm gdm,video @@ -142,14 +120,12 @@ pkg_setup() { } src_prepare() { - # remove unneeded linker directive for selinux, bug #41022 - epatch "${FILESDIR}/${PN}-2.32.0-selinux-remove-attr.patch" + # GDM grabs VT2 instead of VT7, bug 261339, bug 284053, bug 288852 + # XXX: We can now pass a hard-coded initial value; temporary fix + #epatch "${FILESDIR}/${PN}-2.32.0-fix-vt-problems.patch" # daemonize so that the boot process can continue, bug #236701 - epatch "${FILESDIR}/${PN}-2.32.0-fix-daemonize-regression.patch" - - # GDM grabs VT2 instead of VT7, bug 261339, bug 284053, bug 288852 - epatch "${FILESDIR}/${PN}-2.32.0-fix-vt-problems.patch" + epatch "${FILESDIR}/${PN}-3.6.0-fix-daemonize-regression.patch" # make custom session work, bug #216984 epatch "${FILESDIR}/${PN}-3.2.1.1-custom-session.patch" @@ -157,15 +133,8 @@ src_prepare() { # ssh-agent handling must be done at xinitrc.d, bug #220603 epatch "${FILESDIR}/${PN}-2.32.0-xinitrc-ssh-agent.patch" - # fix libxklavier automagic support - epatch "${FILESDIR}/${PN}-2.32.0-automagic-libxklavier-support.patch" - - # plymouth support (in next release) - epatch "${FILESDIR}/${P}-save-root-window.patch" - epatch "${FILESDIR}/${P}-plymouth.patch" - - # dconf-0.13.x compatibility (next release) - epatch "${FILESDIR}/${P}-dconf-0.13.patch" + # automagic selinux :/ + epatch "${FILESDIR}/${PN}-3.6.0-selinux-automagic.patch" # don't load accessibility support at runtime when USE=-accessibility use accessibility || epatch "${FILESDIR}/${PN}-3.3.92.1-disable-accessibility.patch" @@ -182,49 +151,76 @@ src_prepare() { gnome2_src_prepare } +src_configure() { + DOCS="AUTHORS ChangeLog NEWS README TODO" + + # 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 + G2CONF="${G2CONF} + --disable-static + --localstatedir=${EPREFIX}/var + --with-xdmcp=yes + --enable-authentication-scheme=pam + --with-pam-prefix=${EPREFIX}/etc + --with-default-pam-config=none + --with-at-spi-registryd-directory=${EPREFIX}/usr/libexec + --with-initial-vt=7 + $(use_with accessibility xevie) + $(use_with audit libaudit) + $(use_enable ipv6) + $(use_with consolekit console-kit) + $(use_with plymouth) + $(use_with selinux) + $(use_with systemd) + $(systemd_with_unitdir) + $(use_with tcpd tcp-wrappers) + $(use_with xinerama) + ITSTOOL=$(type -P true)" + gnome2_src_configure +} + src_install() { gnome2_src_install - # Install the systemd unit file - systemd_dounit "${FILESDIR}/3.4.1/gdm.service" - - # gdm-binary should be gdm to work with our init (#5598) - rm -f "${ED}/usr/sbin/gdm" - ln -sfn /usr/sbin/gdm-binary "${ED}/usr/sbin/gdm" # our x11's scripts point to /usr/bin/gdm - ln -sfn /usr/sbin/gdm-binary "${ED}/usr/bin/gdm" + dosym /usr/sbin/gdm-binary /usr/bin/gdm # log, etc. keepdir /var/log/gdm - # add xinitrc.d scripts - 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 - # install PAM files - mkdir "${T}/pam.d" || die "mkdir failed" - cp "${FILESDIR}/3.4.1"/gdm{,-autologin,-password,-fingerprint,-smartcard,-welcome} \ - "${T}/pam.d" || die "cp failed" - use gnome-keyring && sed -i "s:#Keyring=::g" "${T}/pam.d"/* - use ldap && sed -i "s:#LDAP=::g" "${T}/pam.d"/* - use systemd && sed -i "s:#Systemd=::g" "${T}/pam.d"/* - dopamd "${T}/pam.d"/* + cd "${WORKDIR}/${G_P}" + local LDAP + use ldap && LDAP=yes + emake GDM_WELCOME="gdm-launch-environment" LDAP=${LDAP} EPREFIX="${EPREFIX}" \ + SYSTEMD_UNITDIR="$(systemd_get_unitdir)" DESTDIR="${D}" install } pkg_postinst() { + local d ret + gnome2_pkg_postinst dbus-launch dconf update || die "'dconf update' failed" - ewarn - ewarn "This is an EXPERIMENTAL release, please bear with its bugs and" - ewarn "visit us on #gentoo-desktop if you have problems." - ewarn + # 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} elog "To make GDM start at boot, edit /etc/conf.d/xdm" elog "and then execute 'rc-update add xdm default'." @@ -237,33 +233,19 @@ pkg_postinst() { elog "the pam_env man page for more information." elog - if use gnome-keyring; then - elog "For autologin to unlock your keyring, you need to set an empty" - elog "password on your keyring. Use app-crypt/seahorse for that." + if has_version sys-auth/pambase[gnome-keyring]; then + elog "For passwordless login to unlock your keyring, you need to set an" + elog "empty password on your keyring. Use app-crypt/seahorse for that." + else + elog "To unlock your keyring on login, install sys-auth/pambase" + elog "with USE=gnome-keyring" fi - if [ -f "/etc/X11/gdm/gdm.conf" ]; then + if [[ -f "/etc/X11/gdm/gdm.conf" ]]; then elog "You had /etc/X11/gdm/gdm.conf which is the old configuration" elog "file. It has been moved to /etc/X11/gdm/gdm-pre-gnome-2.16" mv /etc/X11/gdm/gdm.conf /etc/X11/gdm/gdm-pre-gnome-2.16 fi - - # https://bugzilla.redhat.com/show_bug.cgi?id=513579 - # Lennart says this problem is fixed, but users are still reporting problems - # XXX: Do we want this elog? -# if has_version "media-libs/libcanberra[pulseaudio]" ; then -# elog -# elog "You have media-libs/libcanberra with the pulseaudio USE flag" -# elog "enabled. GDM will start a pulseaudio process to play sounds. This" -# elog "process should automatically terminate when a user logs into a" -# elog "desktop session. If GDM's pulseaudio fails to terminate and" -# elog "causes problems for users' audio, you can prevent GDM from" -# elog "starting pulseaudio by editing /var/lib/gdm/.pulse/client.conf" -# elog "so it contains the following two lines:" -# elog -# elog "autospawn = no" -# elog "daemon-binary = /bin/true" -# fi } pkg_postrm() { diff --git a/gnome-base/gdm/metadata.xml b/gnome-base/gdm/metadata.xml index baf8cbdf90e2..967ce1cbe067 100644 --- a/gnome-base/gdm/metadata.xml +++ b/gnome-base/gdm/metadata.xml @@ -7,14 +7,13 @@ <flag name="consolekit">Allow proper handling of removable media according to who is actually present on the machine.</flag> <flag name="dmx">Enables Distributed Multihead X (DMX) support</flag> + <flag name="fallback">Install <pkg>x11-wm/metacity</pkg> as fallback in case gnome-shell greeter fails to start</flag> <flag name="fprint">Enables experimental fingerprint authentication using <pkg>sys-auth/fprintd</pkg></flag> <flag name="gnome-shell">Enables a greeter based on GNOME Shell (uses OpenGL)</flag> - <flag name="introspection">Use <pkg>dev-libs/gobject-introspection</pkg> - for introspection</flag> <flag name="plymouth">Enable support for smooth transition from <pkg>sys-boot/plymouth</pkg></flag> <flag name="remote">Enables support for secure remote connections</flag> |