summaryrefslogtreecommitdiff
path: root/extra/gdm
diff options
context:
space:
mode:
authorroot <root@rshg054.dnsready.net>2011-10-02 23:14:32 +0000
committerroot <root@rshg054.dnsready.net>2011-10-02 23:14:32 +0000
commitad84169d66d20378d28533c216b73c9a6646d6d7 (patch)
tree2746e102687e113dd81d632b51933b62ff458934 /extra/gdm
parent0f78806d775c4d46c649425fcb67964d53531db8 (diff)
Sun Oct 2 23:14:32 UTC 2011
Diffstat (limited to 'extra/gdm')
-rw-r--r--extra/gdm/PKGBUILD55
-rw-r--r--extra/gdm/check-for-shell.patch26
-rw-r--r--extra/gdm/fix_external_program_directories.patch34
-rw-r--r--extra/gdm/gdm-autologin.pam24
-rw-r--r--extra/gdm/gdm-fingerprint.pam18
-rw-r--r--extra/gdm/gdm-password.pam20
-rw-r--r--extra/gdm/gdm-smartcard.pam18
-rw-r--r--extra/gdm/gdm-welcome.pam12
-rw-r--r--extra/gdm/gdm.install2
9 files changed, 178 insertions, 31 deletions
diff --git a/extra/gdm/PKGBUILD b/extra/gdm/PKGBUILD
index cb697cfd8..ec6fcff81 100644
--- a/extra/gdm/PKGBUILD
+++ b/extra/gdm/PKGBUILD
@@ -1,45 +1,53 @@
-# $Id: PKGBUILD 131658 2011-07-13 12:36:38Z ibiru $
+# $Id: PKGBUILD 139472 2011-10-02 01:28:00Z ibiru $
# Maintainer: Jan de Groot <jgc@archlinux.org>
+
pkgname=gdm
-pkgver=3.0.4
+pkgver=3.2.0
pkgrel=2
pkgdesc="Gnome Display Manager (a reimplementation of xdm)"
arch=('i686' 'x86_64')
license=('GPL')
url="http://www.gnome.org"
-backup=('etc/pam.d/gdm' 'etc/pam.d/gdm-autologin' 'etc/gdm/custom.conf')
+backup=('etc/pam.d/gdm-autologin' 'etc/pam.d/gdm-fingerprint' 'etc/pam.d/gdm' 'etc/pam.d/gdm-password'
+ 'etc/pam.d/gdm-smartcard' 'etc/pam.d/gdm-welcome' 'etc/gdm/custom.conf')
groups=('gnome-extra')
options=('!libtool')
-depends=('libcanberra' 'libxklavier' 'gnome-session' 'upower' 'accountsservice' 'consolekit' 'xorg-xrdb')
-makedepends=('intltool' 'gnome-doc-utils' 'xorg-server')
-conflicts=('fast-user-switch-applet')
-replaces=('fast-user-switch-applet')
+depends=('libcanberra' 'libxklavier' 'gnome-session' 'gnome-settings-daemon' 'metacity' 'upower' 'accountsservice' 'consolekit' 'xorg-xrdb' 'nss')
+makedepends=('intltool' 'gnome-doc-utils' 'xorg-server' 'gobject-introspection')
+optdepends=('gnome-shell: new login interface')
install=gdm.install
source=(http://ftp.gnome.org/pub/gnome/sources/${pkgname}/${pkgver%.*}/${pkgname}-${pkgver}.tar.xz
- 2.91_fix_external_program_directories.patch
+ fix_external_program_directories.patch
gdm-vt-allocation-hack.patch
- gdm.pam
- gdm-autologin.pam
- gdm)
-sha256sums=('7d2947fbc96c43cc94fd5915882655820c5453a1b1b11643b3c1be361f4288fd'
- '92c5eb913b9556cffe9b5bb89e5c3435703e929addfb98145442f58af5d532c1'
+ gdm
+ gdm-autologin.pam gdm-fingerprint.pam gdm.pam gdm-password.pam gdm-smartcard.pam gdm-welcome.pam
+ check-for-shell.patch::http://git.gnome.org/browse/gdm/patch/?id=64e6b10f98fe7226a2f41807268dae3afa80236d)
+sha256sums=('f827f5500827acef94ad2d60f02ec489bc35cb6392d8f4a60ec814599c2991b7'
+ '2014ae3a6077546f7c07e80a6acc8a1c80c6765ad319ec389f52500c5a4fb363'
'3c8b588d4af08d94dc93bcd5e4c2a983c3f4fbbbe40833bceac2a1df4f1e8215'
+ '272c08d8e8b50bf424d0705ac864d4c18c47ec4f6893b1af732c2efbc86c9550'
+ 'b30dfa217718b43ff3aa4e8af08985963175b79ff30698ec54e8396d2905922d'
+ '5bc3ff3ea7b31219dfcb7d9fc0eb2819eca1c5573a0f426d288a17560a69633e'
'f1dfa4d88288d4b0a631a68a51b46c2da537bee8fe5a99f9f288c8ff75a50b19'
- '3daff680ff6b7ea56f84f40843e46e72477c81e9e405028203c942af04d07ae5'
- '272c08d8e8b50bf424d0705ac864d4c18c47ec4f6893b1af732c2efbc86c9550')
+ '0dbb37b4e2a2a2dd2305f0f69cf32d63d353d34aacaf805d2c2ec52fbe558bb4'
+ 'df74b0dcfb17ea43cc1e268a27cd256c552672457db1af40b285452d16b3e2fd'
+ '39bf3824cc505043dc3136356da16dab9df9f369f1077435a324be2ac16cf834'
+ 'ae54f11e593e97e031d2dd7b33ce9899038356cef87b354f3c4c596a3153155d')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
- patch -Np1 -i "${srcdir}/2.91_fix_external_program_directories.patch"
+ patch -Np1 -i "${srcdir}/check-for-shell.patch"
+ patch -Np1 -i "${srcdir}/fix_external_program_directories.patch"
patch -Np1 -i "${srcdir}/gdm-vt-allocation-hack.patch"
./configure --prefix=/usr --sysconfdir=/etc \
--libexecdir=/usr/lib/gdm \
--localstatedir=/var \
- --with-at-spi-registryd-directory=/usr/lib/at-spi \
+ --with-at-spi-registryd-directory=/usr/lib/at-spi2-core \
--disable-scrollkeeper \
--disable-static \
--without-tcp-wrappers
+ sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0 /g' -e 's/ if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then/ func_append compile_command " -Wl,-O1,--as-needed"\n func_append finalize_command " -Wl,-O1,--as-needed"\n\0/' libtool
make
}
@@ -48,15 +56,14 @@ package() {
make GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL=1 DESTDIR="${pkgdir}" install
install -m755 -d "${pkgdir}/usr/share/gconf/schemas"
gconf-merge-schema "${pkgdir}/usr/share/gconf/schemas/${pkgname}.schemas" --domain gdm ${pkgdir}/etc/gconf/schemas/*.schemas
- rm -r "${pkgdir}/etc/gconf/schemas/"
- install -m644 "${srcdir}/gdm.pam" "${pkgdir}/etc/pam.d/gdm"
- install -m644 "${srcdir}/gdm-autologin.pam" "${pkgdir}/etc/pam.d/gdm-autologin"
+ for i in gdm-autologin.pam gdm-fingerprint.pam gdm.pam gdm-password.pam gdm-smartcard.pam gdm-welcome.pam;do
+ install -m644 "${srcdir}/${i}" "${pkgdir}/etc/pam.d/${i%.pam}"
+ done
- install -m755 -d "${pkgdir}/etc/rc.d"
- install -m755 "${srcdir}/gdm" "${pkgdir}/etc/rc.d/"
+ install -Dm755 "${srcdir}/gdm" "${pkgdir}/etc/rc.d/gdm"
- rmdir "${pkgdir}/var/gdm"
chmod 1770 "${pkgdir}/var/log/gdm"
- rm -rf "${pkgdir}/var/run"
+ chmod 700 "${pkgdir}/var/lib/gdm/.config/dconf"
+ rm -rf "${pkgdir}/var/run" "${pkgdir}/var/gdm" "${pkgdir}/etc/gconf"
}
diff --git a/extra/gdm/check-for-shell.patch b/extra/gdm/check-for-shell.patch
new file mode 100644
index 000000000..f3ac9cf9a
--- /dev/null
+++ b/extra/gdm/check-for-shell.patch
@@ -0,0 +1,26 @@
+From 64e6b10f98fe7226a2f41807268dae3afa80236d Mon Sep 17 00:00:00 2001
+From: György Balló <ballogy@freestart.hu>
+Date: Fri, 30 Sep 2011 21:48:40 +0000
+Subject: data: add back check for gnome-shell before running gdm-shell session
+
+Add back commit 4892c9447324f2248ce944f150abe3143f78eaa3
+
+This commit does a quick check to make sure gnome-shell is
+installed, and supports --gdm-mode. If either of those fail,
+then fall back to the old greeter.
+
+https://bugzilla.gnome.org/show_bug.cgi?id=660409
+---
+diff --git a/data/gdm-shell.session.in b/data/gdm-shell.session.in
+index 3d408c3..496cc10 100644
+--- a/data/gdm-shell.session.in
++++ b/data/gdm-shell.session.in
+@@ -1,5 +1,5 @@
+ [GNOME Session]
+ Name=Display Manager
+ RequiredComponents=gnome-shell;gnome-settings-daemon;
+-IsRunnableHelper=@libexecdir@/gnome-session-check-accelerated
++IsRunnableHelper=bash -c 'gnome-shell --help | grep -q gdm-mode && @libexecdir@/gnome-session-check-accelerated'
+ FallbackSession=gdm-fallback
+--
+cgit v0.9.0.2
diff --git a/extra/gdm/fix_external_program_directories.patch b/extra/gdm/fix_external_program_directories.patch
new file mode 100644
index 000000000..997ea5405
--- /dev/null
+++ b/extra/gdm/fix_external_program_directories.patch
@@ -0,0 +1,34 @@
+diff -Nur gdm-3.2.0.orig/daemon/gdm-server.c gdm-3.2.0/daemon/gdm-server.c
+--- gdm-3.2.0.orig/daemon/gdm-server.c 2011-10-02 01:13:37.772372528 +0000
++++ gdm-3.2.0/daemon/gdm-server.c 2011-10-02 01:14:58.036444496 +0000
+@@ -131,7 +131,7 @@
+ g_return_val_if_fail (GDM_IS_SERVER (server), NULL);
+
+ error = NULL;
+- command = g_strdup_printf (LIBEXECDIR "/ck-get-x11-display-device --display %s",
++ command = g_strdup_printf ("/usr/lib/ConsoleKit/ck-get-x11-display-device --display %s",
+ server->priv->display_name);
+
+ g_debug ("GdmServer: Running helper %s", command);
+diff -Nur gdm-3.2.0.orig/data/gdm-shell.session.in gdm-3.2.0/data/gdm-shell.session.in
+--- gdm-3.2.0.orig/data/gdm-shell.session.in 2011-10-02 01:17:01.394246573 +0000
++++ gdm-3.2.0/data/gdm-shell.session.in 2011-10-02 01:16:22.210552560 +0000
+@@ -1,5 +1,5 @@
+ [GNOME Session]
+ Name=Display Manager
+ RequiredComponents=gnome-shell;gnome-settings-daemon;
+-IsRunnableHelper=bash -c 'gnome-shell --help | grep -q gdm-mode && @libexecdir@/gnome-session-check-accelerated'
++IsRunnableHelper=bash -c 'gnome-shell --help | grep -q gdm-mode && /usr/lib/gnome-session/gnome-session-check-accelerated'
+ FallbackSession=gdm-fallback
+diff -Nur gdm-3.2.0.orig/gui/simple-chooser/gdm-chooser-session.c gdm-3.2.0/gui/simple-chooser/gdm-chooser-session.c
+--- gdm-3.2.0.orig/gui/simple-chooser/gdm-chooser-session.c 2011-10-02 01:13:37.775705892 +0000
++++ gdm-3.2.0/gui/simple-chooser/gdm-chooser-session.c 2011-10-02 01:14:58.036444496 +0000
+@@ -131,7 +131,7 @@
+ ret = FALSE;
+
+ error = NULL;
+- g_spawn_command_line_async (LIBEXECDIR "/gnome-settings-daemon", &error);
++ g_spawn_command_line_async ("/usr/lib/gnome-settings-daemon/gnome-settings-daemon", &error);
+ if (error != NULL) {
+ g_warning ("Error starting settings daemon: %s", error->message);
+ g_error_free (error);
diff --git a/extra/gdm/gdm-autologin.pam b/extra/gdm/gdm-autologin.pam
index 7c2f9a985..c77c78917 100644
--- a/extra/gdm/gdm-autologin.pam
+++ b/extra/gdm/gdm-autologin.pam
@@ -1,8 +1,18 @@
#%PAM-1.0
-auth requisite pam_nologin.so
-auth required pam_env.so
-auth required pam_permit.so
-account required pam_unix.so
-password required pam_unix.so
-session required pam_limits.so
-session required pam_unix.so
+auth requisite pam_nologin.so
+auth required pam_env.so
+
+auth requisite pam_permit.so
+
+auth sufficient pam_succeed_if.so uid >= 1000 quiet
+auth required pam_deny.so
+
+account required pam_unix.so
+
+password required pam_deny.so
+
+session required pam_loginuid.so
+-session optional pam_systemd.so
+session optional pam_keyinit.so revoke
+session required pam_limits.so
+session required pam_unix.so
diff --git a/extra/gdm/gdm-fingerprint.pam b/extra/gdm/gdm-fingerprint.pam
new file mode 100644
index 000000000..5b74bf6d6
--- /dev/null
+++ b/extra/gdm/gdm-fingerprint.pam
@@ -0,0 +1,18 @@
+#%PAM-1.0
+auth requisite pam_nologin.so
+auth required pam_env.so
+
+auth requisite pam_fprintd.so
+
+auth sufficient pam_succeed_if.so uid >= 1000 quiet
+auth required pam_deny.so
+
+account required pam_unix.so
+
+password required pam_deny.so
+
+session required pam_loginuid.so
+-session optional pam_systemd.so
+session optional pam_keyinit.so revoke
+session required pam_limits.so
+session required pam_unix.so
diff --git a/extra/gdm/gdm-password.pam b/extra/gdm/gdm-password.pam
new file mode 100644
index 000000000..7beda835a
--- /dev/null
+++ b/extra/gdm/gdm-password.pam
@@ -0,0 +1,20 @@
+#%PAM-1.0
+auth requisite pam_nologin.so
+auth required pam_env.so
+
+auth requisite pam_unix.so nullok
+auth optional pam_gnome_keyring.so
+
+auth sufficient pam_succeed_if.so uid >= 1000 quiet
+auth required pam_deny.so
+
+account required pam_unix.so
+
+password required pam_unix.so
+
+session required pam_loginuid.so
+-session optional pam_systemd.so
+session optional pam_keyinit.so revoke
+session required pam_limits.so
+session required pam_unix.so
+session optional pam_gnome_keyring.so auto_start
diff --git a/extra/gdm/gdm-smartcard.pam b/extra/gdm/gdm-smartcard.pam
new file mode 100644
index 000000000..baacb8bed
--- /dev/null
+++ b/extra/gdm/gdm-smartcard.pam
@@ -0,0 +1,18 @@
+#%PAM-1.0
+auth requisite pam_nologin.so
+auth required pam_env.so
+
+auth requisite pam_pkcs11.so wait_for_card card_only
+
+auth sufficient pam_succeed_if.so uid >= 1000 quiet
+auth required pam_deny.so
+
+account required pam_unix.so
+
+password required pam_pkcs11.so
+
+session required pam_loginuid.so
+-session optional pam_systemd.so
+session optional pam_keyinit.so revoke
+session required pam_limits.so
+session required pam_unix.so
diff --git a/extra/gdm/gdm-welcome.pam b/extra/gdm/gdm-welcome.pam
new file mode 100644
index 000000000..cc3811c19
--- /dev/null
+++ b/extra/gdm/gdm-welcome.pam
@@ -0,0 +1,12 @@
+#%PAM-1.0
+auth required pam_env.so
+auth required pam_permit.so
+
+account required pam_nologin.so
+account required pam_unix.so
+
+password required pam_deny.so
+
+session required pam_loginuid.so
+-session optional pam_systemd.so
+session optional pam_keyinit.so force revoke
diff --git a/extra/gdm/gdm.install b/extra/gdm/gdm.install
index 6cd981d77..b9732be50 100644
--- a/extra/gdm/gdm.install
+++ b/extra/gdm/gdm.install
@@ -8,6 +8,7 @@ post_install() {
gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
gconfpkg --install ${pkgname}
+ glib-compile-schemas usr/share/glib-2.0/schemas
}
pre_remove() {
@@ -21,6 +22,7 @@ post_upgrade() {
}
post_remove() {
+ glib-compile-schemas usr/share/glib-2.0/schemas
gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
getent passwd gdm >/dev/null 2>&1 && userdel gdm
getent group gdm >/dev/null 2>&1 && groupdel gdm