[arch-commits] Commit in gdm/repos (24 files)

Ionut Biru ibiru at archlinux.org
Wed Oct 19 03:52:47 EDT 2011


    Date: Wednesday, October 19, 2011 @ 03:52:47
  Author: ibiru
Revision: 140780

archrelease: copy trunk to testing-i686, testing-x86_64

Added:
  gdm/repos/testing-i686/
  gdm/repos/testing-i686/PKGBUILD
    (from rev 140779, gdm/trunk/PKGBUILD)
  gdm/repos/testing-i686/fix_external_program_directories.patch
    (from rev 140779, gdm/trunk/fix_external_program_directories.patch)
  gdm/repos/testing-i686/gdm
    (from rev 140779, gdm/trunk/gdm)
  gdm/repos/testing-i686/gdm-autologin.pam
    (from rev 140779, gdm/trunk/gdm-autologin.pam)
  gdm/repos/testing-i686/gdm-fingerprint.pam
    (from rev 140779, gdm/trunk/gdm-fingerprint.pam)
  gdm/repos/testing-i686/gdm-password.pam
    (from rev 140779, gdm/trunk/gdm-password.pam)
  gdm/repos/testing-i686/gdm-smartcard.pam
    (from rev 140779, gdm/trunk/gdm-smartcard.pam)
  gdm/repos/testing-i686/gdm-vt-allocation-hack.patch
    (from rev 140779, gdm/trunk/gdm-vt-allocation-hack.patch)
  gdm/repos/testing-i686/gdm-welcome.pam
    (from rev 140779, gdm/trunk/gdm-welcome.pam)
  gdm/repos/testing-i686/gdm.install
    (from rev 140779, gdm/trunk/gdm.install)
  gdm/repos/testing-i686/gdm.pam
    (from rev 140779, gdm/trunk/gdm.pam)
  gdm/repos/testing-x86_64/
  gdm/repos/testing-x86_64/PKGBUILD
    (from rev 140779, gdm/trunk/PKGBUILD)
  gdm/repos/testing-x86_64/fix_external_program_directories.patch
    (from rev 140779, gdm/trunk/fix_external_program_directories.patch)
  gdm/repos/testing-x86_64/gdm
    (from rev 140779, gdm/trunk/gdm)
  gdm/repos/testing-x86_64/gdm-autologin.pam
    (from rev 140779, gdm/trunk/gdm-autologin.pam)
  gdm/repos/testing-x86_64/gdm-fingerprint.pam
    (from rev 140779, gdm/trunk/gdm-fingerprint.pam)
  gdm/repos/testing-x86_64/gdm-password.pam
    (from rev 140779, gdm/trunk/gdm-password.pam)
  gdm/repos/testing-x86_64/gdm-smartcard.pam
    (from rev 140779, gdm/trunk/gdm-smartcard.pam)
  gdm/repos/testing-x86_64/gdm-vt-allocation-hack.patch
    (from rev 140779, gdm/trunk/gdm-vt-allocation-hack.patch)
  gdm/repos/testing-x86_64/gdm-welcome.pam
    (from rev 140779, gdm/trunk/gdm-welcome.pam)
  gdm/repos/testing-x86_64/gdm.install
    (from rev 140779, gdm/trunk/gdm.install)
  gdm/repos/testing-x86_64/gdm.pam
    (from rev 140779, gdm/trunk/gdm.pam)

-------------------------------------------------------+
 testing-i686/PKGBUILD                                 |   66 ++++++++
 testing-i686/fix_external_program_directories.patch   |   34 ++++
 testing-i686/gdm                                      |   36 ++++
 testing-i686/gdm-autologin.pam                        |   18 ++
 testing-i686/gdm-fingerprint.pam                      |   18 ++
 testing-i686/gdm-password.pam                         |   20 ++
 testing-i686/gdm-smartcard.pam                        |   18 ++
 testing-i686/gdm-vt-allocation-hack.patch             |  118 ++++++++++++++++
 testing-i686/gdm-welcome.pam                          |   12 +
 testing-i686/gdm.install                              |   31 ++++
 testing-i686/gdm.pam                                  |   10 +
 testing-x86_64/PKGBUILD                               |   66 ++++++++
 testing-x86_64/fix_external_program_directories.patch |   34 ++++
 testing-x86_64/gdm                                    |   36 ++++
 testing-x86_64/gdm-autologin.pam                      |   18 ++
 testing-x86_64/gdm-fingerprint.pam                    |   18 ++
 testing-x86_64/gdm-password.pam                       |   20 ++
 testing-x86_64/gdm-smartcard.pam                      |   18 ++
 testing-x86_64/gdm-vt-allocation-hack.patch           |  118 ++++++++++++++++
 testing-x86_64/gdm-welcome.pam                        |   12 +
 testing-x86_64/gdm.install                            |   31 ++++
 testing-x86_64/gdm.pam                                |   10 +
 22 files changed, 762 insertions(+)

Copied: gdm/repos/testing-i686/PKGBUILD (from rev 140779, gdm/trunk/PKGBUILD)
===================================================================
--- testing-i686/PKGBUILD	                        (rev 0)
+++ testing-i686/PKGBUILD	2011-10-19 07:52:47 UTC (rev 140780)
@@ -0,0 +1,66 @@
+# $Id$
+# Maintainer: Jan de Groot <jgc at archlinux.org>
+
+pkgname=gdm
+pkgver=3.2.1
+pkgrel=1
+pkgdesc="Gnome Display Manager (a reimplementation of xdm)"
+arch=('i686' 'x86_64')
+license=('GPL')
+url="http://www.gnome.org"
+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' '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
+        fix_external_program_directories.patch
+        gdm-vt-allocation-hack.patch
+        gdm
+        gdm-autologin.pam gdm-fingerprint.pam gdm.pam gdm-password.pam gdm-smartcard.pam gdm-welcome.pam)
+sha256sums=('f98d00819d05185b20bd03c02f7b97ca63a63cab110b94fadfe8f58d4d4475f0'
+            '2014ae3a6077546f7c07e80a6acc8a1c80c6765ad319ec389f52500c5a4fb363'
+            '3c8b588d4af08d94dc93bcd5e4c2a983c3f4fbbbe40833bceac2a1df4f1e8215'
+            '272c08d8e8b50bf424d0705ac864d4c18c47ec4f6893b1af732c2efbc86c9550'
+            'b30dfa217718b43ff3aa4e8af08985963175b79ff30698ec54e8396d2905922d'
+            '5bc3ff3ea7b31219dfcb7d9fc0eb2819eca1c5573a0f426d288a17560a69633e'
+            'f1dfa4d88288d4b0a631a68a51b46c2da537bee8fe5a99f9f288c8ff75a50b19'
+            '92aded0804bad8a609fd150448ad4a2edb8166c17cb4e2b581559e80603bbb6c'
+            'df74b0dcfb17ea43cc1e268a27cd256c552672457db1af40b285452d16b3e2fd'
+            '39bf3824cc505043dc3136356da16dab9df9f369f1077435a324be2ac16cf834')
+
+build() {
+  cd "${srcdir}/${pkgname}-${pkgver}"
+  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-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
+}
+
+package() {
+  cd "${srcdir}/${pkgname}-${pkgver}"
+  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
+
+  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 -Dm755 "${srcdir}/gdm" "${pkgdir}/etc/rc.d/gdm"
+
+  chmod 1770 "${pkgdir}/var/log/gdm"
+  chmod 700 "${pkgdir}/var/lib/gdm/.config/dconf"
+  rm -rf "${pkgdir}/var/run" "${pkgdir}/var/gdm" "${pkgdir}/etc/gconf"
+}

Copied: gdm/repos/testing-i686/fix_external_program_directories.patch (from rev 140779, gdm/trunk/fix_external_program_directories.patch)
===================================================================
--- testing-i686/fix_external_program_directories.patch	                        (rev 0)
+++ testing-i686/fix_external_program_directories.patch	2011-10-19 07:52:47 UTC (rev 140780)
@@ -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);

Copied: gdm/repos/testing-i686/gdm (from rev 140779, gdm/trunk/gdm)
===================================================================
--- testing-i686/gdm	                        (rev 0)
+++ testing-i686/gdm	2011-10-19 07:52:47 UTC (rev 140780)
@@ -0,0 +1,36 @@
+#!/bin/bash
+
+. /etc/rc.conf
+. /etc/rc.d/functions
+
+case "$1" in
+  start)
+    stat_busy "Starting GDM"
+    /usr/sbin/gdm &
+    if [ $? -gt 0 ]; then
+      stat_fail
+    else
+      
+      add_daemon gdm
+      stat_done
+    fi
+    ;;
+  stop)
+    stat_busy "Stopping GDM"
+    [ -f /var/run/gdm.pid ] && kill `cat /var/run/gdm.pid` &> /dev/null
+    if [ $? -gt 0 ]; then
+      stat_fail
+    else
+      rm_daemon gdm
+      stat_done
+    fi
+    ;;
+  restart)
+    $0 stop
+    sleep 2
+    $0 start
+    ;;
+  *)
+    echo "usage: $0 {start|stop|restart}"  
+esac
+exit 0

Copied: gdm/repos/testing-i686/gdm-autologin.pam (from rev 140779, gdm/trunk/gdm-autologin.pam)
===================================================================
--- testing-i686/gdm-autologin.pam	                        (rev 0)
+++ testing-i686/gdm-autologin.pam	2011-10-19 07:52:47 UTC (rev 140780)
@@ -0,0 +1,18 @@
+#%PAM-1.0
+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

Copied: gdm/repos/testing-i686/gdm-fingerprint.pam (from rev 140779, gdm/trunk/gdm-fingerprint.pam)
===================================================================
--- testing-i686/gdm-fingerprint.pam	                        (rev 0)
+++ testing-i686/gdm-fingerprint.pam	2011-10-19 07:52:47 UTC (rev 140780)
@@ -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

Copied: gdm/repos/testing-i686/gdm-password.pam (from rev 140779, gdm/trunk/gdm-password.pam)
===================================================================
--- testing-i686/gdm-password.pam	                        (rev 0)
+++ testing-i686/gdm-password.pam	2011-10-19 07:52:47 UTC (rev 140780)
@@ -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 force revoke
+session         required        pam_limits.so
+session         required        pam_unix.so
+session         optional        pam_gnome_keyring.so auto_start

Copied: gdm/repos/testing-i686/gdm-smartcard.pam (from rev 140779, gdm/trunk/gdm-smartcard.pam)
===================================================================
--- testing-i686/gdm-smartcard.pam	                        (rev 0)
+++ testing-i686/gdm-smartcard.pam	2011-10-19 07:52:47 UTC (rev 140780)
@@ -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

Copied: gdm/repos/testing-i686/gdm-vt-allocation-hack.patch (from rev 140779, gdm/trunk/gdm-vt-allocation-hack.patch)
===================================================================
--- testing-i686/gdm-vt-allocation-hack.patch	                        (rev 0)
+++ testing-i686/gdm-vt-allocation-hack.patch	2011-10-19 07:52:47 UTC (rev 140780)
@@ -0,0 +1,118 @@
+diff --git a/daemon/gdm-server.c b/daemon/gdm-server.c
+index 39def47..03488fd 100644
+--- a/daemon/gdm-server.c
++++ b/daemon/gdm-server.c
+@@ -33,6 +33,8 @@
+ #include <grp.h>
+ #include <signal.h>
+ #include <sys/resource.h>
++#include <sys/ioctl.h>
++#include <sys/vt.h>
+ 
+ #include <glib.h>
+ #include <glib/gi18n.h>
+@@ -150,6 +152,92 @@ _gdm_server_query_ck_for_display_device (GdmServer *server)
+         return out;
+ }
+ 
++#ifndef O_NOCTTY
++# define O_NOCTTY 0
++#endif
++
++static int
++open_vt (int vtno)
++{
++	char *vtname;
++	int fd;
++
++	vtname = g_strdup_printf ("/dev/tty%d", vtno);
++
++	do {
++		errno = 0;
++		fd = open (vtname, O_RDWR | O_NOCTTY, 0);
++	} while (errno == EINTR);
++
++	g_free (vtname);
++	return fd;
++}
++
++static gint
++find_first_probably_free_vt (void)
++{
++	int fd, fdv;
++	int vtno;
++	unsigned short vtmask;
++	struct vt_stat vtstat;
++	guint v_state;
++
++	fdv = -1;
++
++	do {
++		errno = 0;
++		fd = open ("/dev/console", O_WRONLY | O_NOCTTY, 0);
++	} while (errno == EINTR);
++
++	if (fd >= 0) {
++		if (ioctl (fd, VT_GETSTATE, &vtstat) >= 0) {
++			v_state = vtstat.v_state;
++		} else {
++			close (fd);
++			v_state = 0;
++			fd = -1;
++		}
++	} else {
++		v_state = 0;
++	}
++
++	if (fd < 0) {
++		do {
++			errno = 0;
++			fd = open ("/dev/console", O_RDONLY | O_NOCTTY, 0);
++		} while (errno == EINTR);
++
++		if (fd >= 0) {
++			if (ioctl (fd, VT_GETSTATE, &vtstat) >= 0)
++				v_state = vtstat.v_state;
++		}
++	}
++
++	for (vtno = 7, vtmask = 1 << vtno; vtmask; vtno++, vtmask <<= 1) {
++		/* Is this console in use? */
++		if (v_state & vtmask)
++			continue;
++
++		/* No, try to open it */
++		fdv = open_vt (vtno);
++		if (fdv >= 0)
++			break;
++
++		/* If we're here, kernel indicated that the console was free,
++		 * but we failed to open it. Just go on to higher VTs. */
++	}
++
++        if (fdv >= 0)
++                close (fdv);
++        else
++		vtno = -1;
++
++	if (fd >= 0)
++		close (fd);
++
++	return vtno;
++}
++
+ char *
+ gdm_server_get_display_device (GdmServer *server)
+ {
+@@ -310,6 +398,11 @@ gdm_server_resolve_command_line (GdmServer  *server,
+ 
+         if (vtarg != NULL && ! gotvtarg) {
+                 argv[len++] = g_strdup (vtarg);
++        } else if (!query_in_arglist && !gotvtarg) {
++                gint vtnum = find_first_probably_free_vt ();
++
++                if (vtnum > 0)
++                        argv [len++] = g_strdup_printf ("vt%d", vtnum);
+         }
+ 
+         argv[len++] = NULL;

Copied: gdm/repos/testing-i686/gdm-welcome.pam (from rev 140779, gdm/trunk/gdm-welcome.pam)
===================================================================
--- testing-i686/gdm-welcome.pam	                        (rev 0)
+++ testing-i686/gdm-welcome.pam	2011-10-19 07:52:47 UTC (rev 140780)
@@ -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

Copied: gdm/repos/testing-i686/gdm.install (from rev 140779, gdm/trunk/gdm.install)
===================================================================
--- testing-i686/gdm.install	                        (rev 0)
+++ testing-i686/gdm.install	2011-10-19 07:52:47 UTC (rev 140780)
@@ -0,0 +1,31 @@
+pkgname=gdm
+
+post_install() {
+  getent group gdm >/dev/null 2>&1 || groupadd -g 120 gdm
+  getent passwd gdm > /dev/null 2>&1 || usr/sbin/useradd -c 'Gnome Display Manager' -u 120 -g gdm -d /var/lib/gdm -s /sbin/nologin gdm
+  passwd -l gdm > /dev/null
+  chown -R gdm:gdm /var/lib/gdm > /dev/null
+
+  gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+  gconfpkg --install ${pkgname}
+  glib-compile-schemas usr/share/glib-2.0/schemas
+  dconf update
+}
+
+pre_remove() {
+  if [ -f usr/share/gconf/schemas/${pkgname}.schemas ]; then
+    gconfpkg --uninstall ${pkgname}
+  fi
+}
+
+post_upgrade() {
+  post_install
+}
+
+post_remove() {
+  glib-compile-schemas usr/share/glib-2.0/schemas
+  dconf update
+  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
+}

Copied: gdm/repos/testing-i686/gdm.pam (from rev 140779, gdm/trunk/gdm.pam)
===================================================================
--- testing-i686/gdm.pam	                        (rev 0)
+++ testing-i686/gdm.pam	2011-10-19 07:52:47 UTC (rev 140780)
@@ -0,0 +1,10 @@
+#%PAM-1.0
+auth            requisite       pam_nologin.so
+auth            required        pam_env.so
+auth            required        pam_unix.so
+auth            optional        pam_gnome_keyring.so
+account         required        pam_unix.so
+session         required        pam_limits.so
+session         required        pam_unix.so
+session         optional        pam_gnome_keyring.so auto_start
+password        required        pam_unix.so

Copied: gdm/repos/testing-x86_64/PKGBUILD (from rev 140779, gdm/trunk/PKGBUILD)
===================================================================
--- testing-x86_64/PKGBUILD	                        (rev 0)
+++ testing-x86_64/PKGBUILD	2011-10-19 07:52:47 UTC (rev 140780)
@@ -0,0 +1,66 @@
+# $Id$
+# Maintainer: Jan de Groot <jgc at archlinux.org>
+
+pkgname=gdm
+pkgver=3.2.1
+pkgrel=1
+pkgdesc="Gnome Display Manager (a reimplementation of xdm)"
+arch=('i686' 'x86_64')
+license=('GPL')
+url="http://www.gnome.org"
+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' '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
+        fix_external_program_directories.patch
+        gdm-vt-allocation-hack.patch
+        gdm
+        gdm-autologin.pam gdm-fingerprint.pam gdm.pam gdm-password.pam gdm-smartcard.pam gdm-welcome.pam)
+sha256sums=('f98d00819d05185b20bd03c02f7b97ca63a63cab110b94fadfe8f58d4d4475f0'
+            '2014ae3a6077546f7c07e80a6acc8a1c80c6765ad319ec389f52500c5a4fb363'
+            '3c8b588d4af08d94dc93bcd5e4c2a983c3f4fbbbe40833bceac2a1df4f1e8215'
+            '272c08d8e8b50bf424d0705ac864d4c18c47ec4f6893b1af732c2efbc86c9550'
+            'b30dfa217718b43ff3aa4e8af08985963175b79ff30698ec54e8396d2905922d'
+            '5bc3ff3ea7b31219dfcb7d9fc0eb2819eca1c5573a0f426d288a17560a69633e'
+            'f1dfa4d88288d4b0a631a68a51b46c2da537bee8fe5a99f9f288c8ff75a50b19'
+            '92aded0804bad8a609fd150448ad4a2edb8166c17cb4e2b581559e80603bbb6c'
+            'df74b0dcfb17ea43cc1e268a27cd256c552672457db1af40b285452d16b3e2fd'
+            '39bf3824cc505043dc3136356da16dab9df9f369f1077435a324be2ac16cf834')
+
+build() {
+  cd "${srcdir}/${pkgname}-${pkgver}"
+  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-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
+}
+
+package() {
+  cd "${srcdir}/${pkgname}-${pkgver}"
+  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
+
+  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 -Dm755 "${srcdir}/gdm" "${pkgdir}/etc/rc.d/gdm"
+
+  chmod 1770 "${pkgdir}/var/log/gdm"
+  chmod 700 "${pkgdir}/var/lib/gdm/.config/dconf"
+  rm -rf "${pkgdir}/var/run" "${pkgdir}/var/gdm" "${pkgdir}/etc/gconf"
+}

Copied: gdm/repos/testing-x86_64/fix_external_program_directories.patch (from rev 140779, gdm/trunk/fix_external_program_directories.patch)
===================================================================
--- testing-x86_64/fix_external_program_directories.patch	                        (rev 0)
+++ testing-x86_64/fix_external_program_directories.patch	2011-10-19 07:52:47 UTC (rev 140780)
@@ -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);

Copied: gdm/repos/testing-x86_64/gdm (from rev 140779, gdm/trunk/gdm)
===================================================================
--- testing-x86_64/gdm	                        (rev 0)
+++ testing-x86_64/gdm	2011-10-19 07:52:47 UTC (rev 140780)
@@ -0,0 +1,36 @@
+#!/bin/bash
+
+. /etc/rc.conf
+. /etc/rc.d/functions
+
+case "$1" in
+  start)
+    stat_busy "Starting GDM"
+    /usr/sbin/gdm &
+    if [ $? -gt 0 ]; then
+      stat_fail
+    else
+      
+      add_daemon gdm
+      stat_done
+    fi
+    ;;
+  stop)
+    stat_busy "Stopping GDM"
+    [ -f /var/run/gdm.pid ] && kill `cat /var/run/gdm.pid` &> /dev/null
+    if [ $? -gt 0 ]; then
+      stat_fail
+    else
+      rm_daemon gdm
+      stat_done
+    fi
+    ;;
+  restart)
+    $0 stop
+    sleep 2
+    $0 start
+    ;;
+  *)
+    echo "usage: $0 {start|stop|restart}"  
+esac
+exit 0

Copied: gdm/repos/testing-x86_64/gdm-autologin.pam (from rev 140779, gdm/trunk/gdm-autologin.pam)
===================================================================
--- testing-x86_64/gdm-autologin.pam	                        (rev 0)
+++ testing-x86_64/gdm-autologin.pam	2011-10-19 07:52:47 UTC (rev 140780)
@@ -0,0 +1,18 @@
+#%PAM-1.0
+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

Copied: gdm/repos/testing-x86_64/gdm-fingerprint.pam (from rev 140779, gdm/trunk/gdm-fingerprint.pam)
===================================================================
--- testing-x86_64/gdm-fingerprint.pam	                        (rev 0)
+++ testing-x86_64/gdm-fingerprint.pam	2011-10-19 07:52:47 UTC (rev 140780)
@@ -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

Copied: gdm/repos/testing-x86_64/gdm-password.pam (from rev 140779, gdm/trunk/gdm-password.pam)
===================================================================
--- testing-x86_64/gdm-password.pam	                        (rev 0)
+++ testing-x86_64/gdm-password.pam	2011-10-19 07:52:47 UTC (rev 140780)
@@ -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 force revoke
+session         required        pam_limits.so
+session         required        pam_unix.so
+session         optional        pam_gnome_keyring.so auto_start

Copied: gdm/repos/testing-x86_64/gdm-smartcard.pam (from rev 140779, gdm/trunk/gdm-smartcard.pam)
===================================================================
--- testing-x86_64/gdm-smartcard.pam	                        (rev 0)
+++ testing-x86_64/gdm-smartcard.pam	2011-10-19 07:52:47 UTC (rev 140780)
@@ -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

Copied: gdm/repos/testing-x86_64/gdm-vt-allocation-hack.patch (from rev 140779, gdm/trunk/gdm-vt-allocation-hack.patch)
===================================================================
--- testing-x86_64/gdm-vt-allocation-hack.patch	                        (rev 0)
+++ testing-x86_64/gdm-vt-allocation-hack.patch	2011-10-19 07:52:47 UTC (rev 140780)
@@ -0,0 +1,118 @@
+diff --git a/daemon/gdm-server.c b/daemon/gdm-server.c
+index 39def47..03488fd 100644
+--- a/daemon/gdm-server.c
++++ b/daemon/gdm-server.c
+@@ -33,6 +33,8 @@
+ #include <grp.h>
+ #include <signal.h>
+ #include <sys/resource.h>
++#include <sys/ioctl.h>
++#include <sys/vt.h>
+ 
+ #include <glib.h>
+ #include <glib/gi18n.h>
+@@ -150,6 +152,92 @@ _gdm_server_query_ck_for_display_device (GdmServer *server)
+         return out;
+ }
+ 
++#ifndef O_NOCTTY
++# define O_NOCTTY 0
++#endif
++
++static int
++open_vt (int vtno)
++{
++	char *vtname;
++	int fd;
++
++	vtname = g_strdup_printf ("/dev/tty%d", vtno);
++
++	do {
++		errno = 0;
++		fd = open (vtname, O_RDWR | O_NOCTTY, 0);
++	} while (errno == EINTR);
++
++	g_free (vtname);
++	return fd;
++}
++
++static gint
++find_first_probably_free_vt (void)
++{
++	int fd, fdv;
++	int vtno;
++	unsigned short vtmask;
++	struct vt_stat vtstat;
++	guint v_state;
++
++	fdv = -1;
++
++	do {
++		errno = 0;
++		fd = open ("/dev/console", O_WRONLY | O_NOCTTY, 0);
++	} while (errno == EINTR);
++
++	if (fd >= 0) {
++		if (ioctl (fd, VT_GETSTATE, &vtstat) >= 0) {
++			v_state = vtstat.v_state;
++		} else {
++			close (fd);
++			v_state = 0;
++			fd = -1;
++		}
++	} else {
++		v_state = 0;
++	}
++
++	if (fd < 0) {
++		do {
++			errno = 0;
++			fd = open ("/dev/console", O_RDONLY | O_NOCTTY, 0);
++		} while (errno == EINTR);
++
++		if (fd >= 0) {
++			if (ioctl (fd, VT_GETSTATE, &vtstat) >= 0)
++				v_state = vtstat.v_state;
++		}
++	}
++
++	for (vtno = 7, vtmask = 1 << vtno; vtmask; vtno++, vtmask <<= 1) {
++		/* Is this console in use? */
++		if (v_state & vtmask)
++			continue;
++
++		/* No, try to open it */
++		fdv = open_vt (vtno);
++		if (fdv >= 0)
++			break;
++
++		/* If we're here, kernel indicated that the console was free,
++		 * but we failed to open it. Just go on to higher VTs. */
++	}
++
++        if (fdv >= 0)
++                close (fdv);
++        else
++		vtno = -1;
++
++	if (fd >= 0)
++		close (fd);
++
++	return vtno;
++}
++
+ char *
+ gdm_server_get_display_device (GdmServer *server)
+ {
+@@ -310,6 +398,11 @@ gdm_server_resolve_command_line (GdmServer  *server,
+ 
+         if (vtarg != NULL && ! gotvtarg) {
+                 argv[len++] = g_strdup (vtarg);
++        } else if (!query_in_arglist && !gotvtarg) {
++                gint vtnum = find_first_probably_free_vt ();
++
++                if (vtnum > 0)
++                        argv [len++] = g_strdup_printf ("vt%d", vtnum);
+         }
+ 
+         argv[len++] = NULL;

Copied: gdm/repos/testing-x86_64/gdm-welcome.pam (from rev 140779, gdm/trunk/gdm-welcome.pam)
===================================================================
--- testing-x86_64/gdm-welcome.pam	                        (rev 0)
+++ testing-x86_64/gdm-welcome.pam	2011-10-19 07:52:47 UTC (rev 140780)
@@ -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

Copied: gdm/repos/testing-x86_64/gdm.install (from rev 140779, gdm/trunk/gdm.install)
===================================================================
--- testing-x86_64/gdm.install	                        (rev 0)
+++ testing-x86_64/gdm.install	2011-10-19 07:52:47 UTC (rev 140780)
@@ -0,0 +1,31 @@
+pkgname=gdm
+
+post_install() {
+  getent group gdm >/dev/null 2>&1 || groupadd -g 120 gdm
+  getent passwd gdm > /dev/null 2>&1 || usr/sbin/useradd -c 'Gnome Display Manager' -u 120 -g gdm -d /var/lib/gdm -s /sbin/nologin gdm
+  passwd -l gdm > /dev/null
+  chown -R gdm:gdm /var/lib/gdm > /dev/null
+
+  gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+  gconfpkg --install ${pkgname}
+  glib-compile-schemas usr/share/glib-2.0/schemas
+  dconf update
+}
+
+pre_remove() {
+  if [ -f usr/share/gconf/schemas/${pkgname}.schemas ]; then
+    gconfpkg --uninstall ${pkgname}
+  fi
+}
+
+post_upgrade() {
+  post_install
+}
+
+post_remove() {
+  glib-compile-schemas usr/share/glib-2.0/schemas
+  dconf update
+  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
+}

Copied: gdm/repos/testing-x86_64/gdm.pam (from rev 140779, gdm/trunk/gdm.pam)
===================================================================
--- testing-x86_64/gdm.pam	                        (rev 0)
+++ testing-x86_64/gdm.pam	2011-10-19 07:52:47 UTC (rev 140780)
@@ -0,0 +1,10 @@
+#%PAM-1.0
+auth            requisite       pam_nologin.so
+auth            required        pam_env.so
+auth            required        pam_unix.so
+auth            optional        pam_gnome_keyring.so
+account         required        pam_unix.so
+session         required        pam_limits.so
+session         required        pam_unix.so
+session         optional        pam_gnome_keyring.so auto_start
+password        required        pam_unix.so



More information about the arch-commits mailing list