summaryrefslogtreecommitdiff
path: root/extra/gdm
diff options
context:
space:
mode:
authorNicolas Reynolds <fauno@kiwwwi.com.ar>2011-10-07 17:33:04 -0300
committerNicolas Reynolds <fauno@kiwwwi.com.ar>2011-10-07 17:33:04 -0300
commit2302f1d28510fadb2dcfa119f28ed28f164845bf (patch)
treee7040e1c743f46bc60a7844275516e4404f6ac30 /extra/gdm
parent2a9d1292ab60e8a2356fb3eeb36b8c3cfc22759b (diff)
parent5442e9b8f357932ed5d6cb46e90fcbf6f453469f (diff)
Merge branch 'master' of ssh://vparabola/home/parabola/abslibre-pre-mips64el
Conflicts: community/fotoxx/PKGBUILD community/gtkdialog/PKGBUILD community/hubbub/PKGBUILD community/libgdamm/PKGBUILD community/libparserutils/PKGBUILD community/mingw32-binutils/PKGBUILD community/mingw32-gcc-base/PKGBUILD community/mingw32-gcc/PKGBUILD community/mtpaint/PKGBUILD community/netsurf/PKGBUILD community/patchage/PKGBUILD community/qgo/PKGBUILD community/tomoyo-tools/PKGBUILD community/tre/PKGBUILD community/virtualbox/PKGBUILD core/net-tools/PKGBUILD core/openldap/PKGBUILD extra/epiphany/PKGBUILD extra/evince/PKGBUILD extra/evolution-data-server/PKGBUILD extra/evolution/PKGBUILD extra/exiv2/PKGBUILD extra/folks/PKGBUILD extra/gimp-ufraw/PKGBUILD extra/gnome-control-center/PKGBUILD extra/gnome-power-manager/PKGBUILD extra/gnome-python-desktop/PKGBUILD extra/gnome-python-extras/PKGBUILD extra/gvfs/PKGBUILD extra/jack/PKGBUILD extra/kdelibs/PKGBUILD extra/kdepim/PKGBUILD extra/koffice/PKGBUILD extra/libreoffice/PKGBUILD extra/libwebkit/PKGBUILD extra/mutter/PKGBUILD extra/nautilus/PKGBUILD extra/openmpi/PKGBUILD extra/pavucontrol/PKGBUILD extra/php/PKGBUILD extra/pidgin/PKGBUILD extra/postgresql/PKGBUILD extra/pulseaudio/PKGBUILD extra/pygobject2/PKGBUILD extra/swt/PKGBUILD extra/tomcat/PKGBUILD extra/totem/PKGBUILD extra/vigra/PKGBUILD extra/vte/PKGBUILD extra/xulrunner/PKGBUILD kde-unstable/calligra/PKGBUILD kde-unstable/kdebase-workspace/PKGBUILD multilib/lib32-atk/PKGBUILD multilib/lib32-gdk-pixbuf2/PKGBUILD multilib/lib32-glew/PKGBUILD multilib/lib32-glib2/PKGBUILD multilib/lib32-jack/PKGBUILD multilib/lib32-libpulse/PKGBUILD multilib/lib32-pango/PKGBUILD multilib/wine/PKGBUILD social/miniupnpc/PKGBUILD testing/icedtea-web-java7/PKGBUILD testing/sqlite3/PKGBUILD ~xihh/abiword/PKGBUILD
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 300eea479..61725c08e 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' 'mips64el')
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