Date: Friday, August 17, 2012 @ 19:22:35
  Author: heftig
Revision: 165393

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

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

-------------------------------------------------------+
 testing-i686/PKGBUILD                                 |   69 +++++++++
 testing-i686/fix_external_program_directories.patch   |   34 ++++
 testing-i686/gdm                                      |   36 ++++
 testing-i686/gdm-autologin.pam                        |   20 ++
 testing-i686/gdm-fingerprint.pam                      |   20 ++
 testing-i686/gdm-password.pam                         |   22 ++
 testing-i686/gdm-smartcard.pam                        |   20 ++
 testing-i686/gdm-vt-allocation-hack.patch             |  118 ++++++++++++++++
 testing-i686/gdm-welcome.pam                          |   12 +
 testing-i686/gdm.install                              |   30 ++++
 testing-i686/gdm.pam                                  |   10 +
 testing-i686/gdm.service                              |   10 +
 testing-x86_64/PKGBUILD                               |   69 +++++++++
 testing-x86_64/fix_external_program_directories.patch |   34 ++++
 testing-x86_64/gdm                                    |   36 ++++
 testing-x86_64/gdm-autologin.pam                      |   20 ++
 testing-x86_64/gdm-fingerprint.pam                    |   20 ++
 testing-x86_64/gdm-password.pam                       |   22 ++
 testing-x86_64/gdm-smartcard.pam                      |   20 ++
 testing-x86_64/gdm-vt-allocation-hack.patch           |  118 ++++++++++++++++
 testing-x86_64/gdm-welcome.pam                        |   12 +
 testing-x86_64/gdm.install                            |   30 ++++
 testing-x86_64/gdm.pam                                |   10 +
 testing-x86_64/gdm.service                            |   10 +
 24 files changed, 802 insertions(+)

Copied: gdm/repos/testing-i686/PKGBUILD (from rev 165392, gdm/trunk/PKGBUILD)
===================================================================
--- testing-i686/PKGBUILD                               (rev 0)
+++ testing-i686/PKGBUILD       2012-08-17 23:22:35 UTC (rev 165393)
@@ -0,0 +1,69 @@
+# $Id$
+# Maintainer: Jan de Groot <j...@archlinux.org>
+
+pkgname=gdm
+pkgver=3.4.1
+pkgrel=3
+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'
+            'fprintd: fingerprint authentication')
+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.service
+        gdm-autologin.pam gdm-fingerprint.pam gdm.pam gdm-password.pam 
gdm-smartcard.pam gdm-welcome.pam)
+sha256sums=('6292968dff5fc89877b5e1aaa3c7d1484dd3ed2d4f388e935841d053439be665'
+            'f68600ccf80f475deb417d58ab3306c4a1ba4622688e2901996c8549c85a9ee6'
+            '3c8b588d4af08d94dc93bcd5e4c2a983c3f4fbbbe40833bceac2a1df4f1e8215'
+            '272c08d8e8b50bf424d0705ac864d4c18c47ec4f6893b1af732c2efbc86c9550'
+            'b7b91c682ff4c7cfb2d395c65abeca9dad8c0997b399dcf22abdf481c3e61349'
+            '6a8b286d1ffa04150b3cc401f64e6ddec778c7b65f5bfc831031b64345d7e6b2'
+            'dd50f5bd28807a16c5ebe89fc868b7c47fa571138498e879f2b1c9da1ad6eb84'
+            'f1dfa4d88288d4b0a631a68a51b46c2da537bee8fe5a99f9f288c8ff75a50b19'
+            '1a1e9b3f26de4eb9f45d1e9a0b5d0db902ca734461ba46b4bb620b0298bb98aa'
+            '844d5fae0df59241d34099a3d458289bd95707b2aae976627c663904294043d8'
+            '39bf3824cc505043dc3136356da16dab9df9f369f1077435a324be2ac16cf834')
+
+build() {
+  cd "$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 \
+      --disable-schemas-compile \
+      --with-systemd=no
+  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 "$pkgname-$pkgver"
+  make DESTDIR="$pkgdir" install
+
+  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"
+  install -Dm644 "$srcdir/gdm.service" 
"$pkgdir/usr/lib/systemd/system/gdm.service"
+
+  chmod 1770 "$pkgdir/var/log/gdm"
+  chmod 700 "$pkgdir/var/lib/gdm/.config/dconf"
+  rm -rf "$pkgdir/var/run" "$pkgdir/var/gdm"
+}

Copied: gdm/repos/testing-i686/fix_external_program_directories.patch (from rev 
165392, gdm/trunk/fix_external_program_directories.patch)
===================================================================
--- testing-i686/fix_external_program_directories.patch                         
(rev 0)
+++ testing-i686/fix_external_program_directories.patch 2012-08-17 23:22:35 UTC 
(rev 165393)
@@ -0,0 +1,34 @@
+diff -Nur gdm-3.3.92.orig/daemon/gdm-server.c gdm-3.3.92/daemon/gdm-server.c
+--- gdm-3.3.92.orig/daemon/gdm-server.c        2012-03-19 22:30:05.311490006 
+0000
++++ gdm-3.3.92/daemon/gdm-server.c     2012-03-19 22:30:17.004732251 +0000
+@@ -139,7 +139,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.3.92.orig/data/gdm-shell.session.in 
gdm-3.3.92/data/gdm-shell.session.in
+--- gdm-3.3.92.orig/data/gdm-shell.session.in  2012-03-19 22:30:05.311490006 
+0000
++++ gdm-3.3.92/data/gdm-shell.session.in       2012-03-19 22:30:17.004732251 
+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.3.92.orig/gui/simple-chooser/gdm-chooser-session.c 
gdm-3.3.92/gui/simple-chooser/gdm-chooser-session.c
+--- gdm-3.3.92.orig/gui/simple-chooser/gdm-chooser-session.c   2012-03-19 
22:30:05.304823391 +0000
++++ gdm-3.3.92/gui/simple-chooser/gdm-chooser-session.c        2012-03-19 
22:30:17.004732251 +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 165392, gdm/trunk/gdm)
===================================================================
--- testing-i686/gdm                            (rev 0)
+++ testing-i686/gdm    2012-08-17 23:22:35 UTC (rev 165393)
@@ -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 165392, 
gdm/trunk/gdm-autologin.pam)
===================================================================
--- testing-i686/gdm-autologin.pam                              (rev 0)
+++ testing-i686/gdm-autologin.pam      2012-08-17 23:22:35 UTC (rev 165393)
@@ -0,0 +1,20 @@
+#%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_access.so
+account         required        pam_time.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 165392, 
gdm/trunk/gdm-fingerprint.pam)
===================================================================
--- testing-i686/gdm-fingerprint.pam                            (rev 0)
+++ testing-i686/gdm-fingerprint.pam    2012-08-17 23:22:35 UTC (rev 165393)
@@ -0,0 +1,20 @@
+#%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_access.so
+account         required        pam_time.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 165392, 
gdm/trunk/gdm-password.pam)
===================================================================
--- testing-i686/gdm-password.pam                               (rev 0)
+++ testing-i686/gdm-password.pam       2012-08-17 23:22:35 UTC (rev 165393)
@@ -0,0 +1,22 @@
+#%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_access.so
+account         required        pam_time.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 165392, 
gdm/trunk/gdm-smartcard.pam)
===================================================================
--- testing-i686/gdm-smartcard.pam                              (rev 0)
+++ testing-i686/gdm-smartcard.pam      2012-08-17 23:22:35 UTC (rev 165393)
@@ -0,0 +1,20 @@
+#%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_access.so
+account         required        pam_time.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 165392, 
gdm/trunk/gdm-vt-allocation-hack.patch)
===================================================================
--- testing-i686/gdm-vt-allocation-hack.patch                           (rev 0)
+++ testing-i686/gdm-vt-allocation-hack.patch   2012-08-17 23:22:35 UTC (rev 
165393)
@@ -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 165392, 
gdm/trunk/gdm-welcome.pam)
===================================================================
--- testing-i686/gdm-welcome.pam                                (rev 0)
+++ testing-i686/gdm-welcome.pam        2012-08-17 23:22:35 UTC (rev 165393)
@@ -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 165392, 
gdm/trunk/gdm.install)
===================================================================
--- testing-i686/gdm.install                            (rev 0)
+++ testing-i686/gdm.install    2012-08-17 23:22:35 UTC (rev 165393)
@@ -0,0 +1,30 @@
+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
+
+  glib-compile-schemas /usr/share/glib-2.0/schemas
+  gtk-update-icon-cache -q -t -f /usr/share/icons/hicolor
+  dconf update
+}
+
+pre_upgrade() {
+  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 165392, gdm/trunk/gdm.pam)
===================================================================
--- testing-i686/gdm.pam                                (rev 0)
+++ testing-i686/gdm.pam        2012-08-17 23:22:35 UTC (rev 165393)
@@ -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-i686/gdm.service (from rev 165392, 
gdm/trunk/gdm.service)
===================================================================
--- testing-i686/gdm.service                            (rev 0)
+++ testing-i686/gdm.service    2012-08-17 23:22:35 UTC (rev 165393)
@@ -0,0 +1,10 @@
+[Unit]
+Description=Gnome Display Manager
+After=systemd-user-sessions.service
+
+[Service]
+ExecStart=/usr/sbin/gdm -nodaemon
+Restart=always
+
+[Install]
+Alias=display-manager.service

Copied: gdm/repos/testing-x86_64/PKGBUILD (from rev 165392, gdm/trunk/PKGBUILD)
===================================================================
--- testing-x86_64/PKGBUILD                             (rev 0)
+++ testing-x86_64/PKGBUILD     2012-08-17 23:22:35 UTC (rev 165393)
@@ -0,0 +1,69 @@
+# $Id$
+# Maintainer: Jan de Groot <j...@archlinux.org>
+
+pkgname=gdm
+pkgver=3.4.1
+pkgrel=3
+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'
+            'fprintd: fingerprint authentication')
+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.service
+        gdm-autologin.pam gdm-fingerprint.pam gdm.pam gdm-password.pam 
gdm-smartcard.pam gdm-welcome.pam)
+sha256sums=('6292968dff5fc89877b5e1aaa3c7d1484dd3ed2d4f388e935841d053439be665'
+            'f68600ccf80f475deb417d58ab3306c4a1ba4622688e2901996c8549c85a9ee6'
+            '3c8b588d4af08d94dc93bcd5e4c2a983c3f4fbbbe40833bceac2a1df4f1e8215'
+            '272c08d8e8b50bf424d0705ac864d4c18c47ec4f6893b1af732c2efbc86c9550'
+            'b7b91c682ff4c7cfb2d395c65abeca9dad8c0997b399dcf22abdf481c3e61349'
+            '6a8b286d1ffa04150b3cc401f64e6ddec778c7b65f5bfc831031b64345d7e6b2'
+            'dd50f5bd28807a16c5ebe89fc868b7c47fa571138498e879f2b1c9da1ad6eb84'
+            'f1dfa4d88288d4b0a631a68a51b46c2da537bee8fe5a99f9f288c8ff75a50b19'
+            '1a1e9b3f26de4eb9f45d1e9a0b5d0db902ca734461ba46b4bb620b0298bb98aa'
+            '844d5fae0df59241d34099a3d458289bd95707b2aae976627c663904294043d8'
+            '39bf3824cc505043dc3136356da16dab9df9f369f1077435a324be2ac16cf834')
+
+build() {
+  cd "$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 \
+      --disable-schemas-compile \
+      --with-systemd=no
+  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 "$pkgname-$pkgver"
+  make DESTDIR="$pkgdir" install
+
+  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"
+  install -Dm644 "$srcdir/gdm.service" 
"$pkgdir/usr/lib/systemd/system/gdm.service"
+
+  chmod 1770 "$pkgdir/var/log/gdm"
+  chmod 700 "$pkgdir/var/lib/gdm/.config/dconf"
+  rm -rf "$pkgdir/var/run" "$pkgdir/var/gdm"
+}

Copied: gdm/repos/testing-x86_64/fix_external_program_directories.patch (from 
rev 165392, 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       2012-08-17 
23:22:35 UTC (rev 165393)
@@ -0,0 +1,34 @@
+diff -Nur gdm-3.3.92.orig/daemon/gdm-server.c gdm-3.3.92/daemon/gdm-server.c
+--- gdm-3.3.92.orig/daemon/gdm-server.c        2012-03-19 22:30:05.311490006 
+0000
++++ gdm-3.3.92/daemon/gdm-server.c     2012-03-19 22:30:17.004732251 +0000
+@@ -139,7 +139,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.3.92.orig/data/gdm-shell.session.in 
gdm-3.3.92/data/gdm-shell.session.in
+--- gdm-3.3.92.orig/data/gdm-shell.session.in  2012-03-19 22:30:05.311490006 
+0000
++++ gdm-3.3.92/data/gdm-shell.session.in       2012-03-19 22:30:17.004732251 
+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.3.92.orig/gui/simple-chooser/gdm-chooser-session.c 
gdm-3.3.92/gui/simple-chooser/gdm-chooser-session.c
+--- gdm-3.3.92.orig/gui/simple-chooser/gdm-chooser-session.c   2012-03-19 
22:30:05.304823391 +0000
++++ gdm-3.3.92/gui/simple-chooser/gdm-chooser-session.c        2012-03-19 
22:30:17.004732251 +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 165392, gdm/trunk/gdm)
===================================================================
--- testing-x86_64/gdm                          (rev 0)
+++ testing-x86_64/gdm  2012-08-17 23:22:35 UTC (rev 165393)
@@ -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 165392, 
gdm/trunk/gdm-autologin.pam)
===================================================================
--- testing-x86_64/gdm-autologin.pam                            (rev 0)
+++ testing-x86_64/gdm-autologin.pam    2012-08-17 23:22:35 UTC (rev 165393)
@@ -0,0 +1,20 @@
+#%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_access.so
+account         required        pam_time.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 165392, 
gdm/trunk/gdm-fingerprint.pam)
===================================================================
--- testing-x86_64/gdm-fingerprint.pam                          (rev 0)
+++ testing-x86_64/gdm-fingerprint.pam  2012-08-17 23:22:35 UTC (rev 165393)
@@ -0,0 +1,20 @@
+#%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_access.so
+account         required        pam_time.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 165392, 
gdm/trunk/gdm-password.pam)
===================================================================
--- testing-x86_64/gdm-password.pam                             (rev 0)
+++ testing-x86_64/gdm-password.pam     2012-08-17 23:22:35 UTC (rev 165393)
@@ -0,0 +1,22 @@
+#%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_access.so
+account         required        pam_time.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 165392, 
gdm/trunk/gdm-smartcard.pam)
===================================================================
--- testing-x86_64/gdm-smartcard.pam                            (rev 0)
+++ testing-x86_64/gdm-smartcard.pam    2012-08-17 23:22:35 UTC (rev 165393)
@@ -0,0 +1,20 @@
+#%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_access.so
+account         required        pam_time.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 165392, 
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 2012-08-17 23:22:35 UTC (rev 
165393)
@@ -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 165392, 
gdm/trunk/gdm-welcome.pam)
===================================================================
--- testing-x86_64/gdm-welcome.pam                              (rev 0)
+++ testing-x86_64/gdm-welcome.pam      2012-08-17 23:22:35 UTC (rev 165393)
@@ -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 165392, 
gdm/trunk/gdm.install)
===================================================================
--- testing-x86_64/gdm.install                          (rev 0)
+++ testing-x86_64/gdm.install  2012-08-17 23:22:35 UTC (rev 165393)
@@ -0,0 +1,30 @@
+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
+
+  glib-compile-schemas /usr/share/glib-2.0/schemas
+  gtk-update-icon-cache -q -t -f /usr/share/icons/hicolor
+  dconf update
+}
+
+pre_upgrade() {
+  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 165392, gdm/trunk/gdm.pam)
===================================================================
--- testing-x86_64/gdm.pam                              (rev 0)
+++ testing-x86_64/gdm.pam      2012-08-17 23:22:35 UTC (rev 165393)
@@ -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/gdm.service (from rev 165392, 
gdm/trunk/gdm.service)
===================================================================
--- testing-x86_64/gdm.service                          (rev 0)
+++ testing-x86_64/gdm.service  2012-08-17 23:22:35 UTC (rev 165393)
@@ -0,0 +1,10 @@
+[Unit]
+Description=Gnome Display Manager
+After=systemd-user-sessions.service
+
+[Service]
+ExecStart=/usr/sbin/gdm -nodaemon
+Restart=always
+
+[Install]
+Alias=display-manager.service

Reply via email to