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