[arch-commits] Commit in lightdm/repos (22 files)

Maxime Gauduin alucryd at nymeria.archlinux.org
Sun May 12 10:40:13 UTC 2013


    Date: Sunday, May 12, 2013 @ 12:40:13
  Author: alucryd
Revision: 90427

archrelease: copy trunk to community-staging-i686, community-staging-x86_64

Added:
  lightdm/repos/community-staging-i686/
  lightdm/repos/community-staging-i686/PKGBUILD
    (from rev 90426, lightdm/trunk/PKGBUILD)
  lightdm/repos/community-staging-i686/lightdm-autologin.pam
    (from rev 90426, lightdm/trunk/lightdm-autologin.pam)
  lightdm/repos/community-staging-i686/lightdm-default-config.patch
    (from rev 90426, lightdm/trunk/lightdm-default-config.patch)
  lightdm/repos/community-staging-i686/lightdm-lock-screen-before-switch.patch
    (from rev 90426, lightdm/trunk/lightdm-lock-screen-before-switch.patch)
  lightdm/repos/community-staging-i686/lightdm.install
    (from rev 90426, lightdm/trunk/lightdm.install)
  lightdm/repos/community-staging-i686/lightdm.pam
    (from rev 90426, lightdm/trunk/lightdm.pam)
  lightdm/repos/community-staging-i686/lightdm.rules
    (from rev 90426, lightdm/trunk/lightdm.rules)
  lightdm/repos/community-staging-i686/lightdm.service
    (from rev 90426, lightdm/trunk/lightdm.service)
  lightdm/repos/community-staging-i686/lightdm.tmpfiles
    (from rev 90426, lightdm/trunk/lightdm.tmpfiles)
  lightdm/repos/community-staging-i686/xsession
    (from rev 90426, lightdm/trunk/xsession)
  lightdm/repos/community-staging-x86_64/
  lightdm/repos/community-staging-x86_64/PKGBUILD
    (from rev 90426, lightdm/trunk/PKGBUILD)
  lightdm/repos/community-staging-x86_64/lightdm-autologin.pam
    (from rev 90426, lightdm/trunk/lightdm-autologin.pam)
  lightdm/repos/community-staging-x86_64/lightdm-default-config.patch
    (from rev 90426, lightdm/trunk/lightdm-default-config.patch)
  lightdm/repos/community-staging-x86_64/lightdm-lock-screen-before-switch.patch
    (from rev 90426, lightdm/trunk/lightdm-lock-screen-before-switch.patch)
  lightdm/repos/community-staging-x86_64/lightdm.install
    (from rev 90426, lightdm/trunk/lightdm.install)
  lightdm/repos/community-staging-x86_64/lightdm.pam
    (from rev 90426, lightdm/trunk/lightdm.pam)
  lightdm/repos/community-staging-x86_64/lightdm.rules
    (from rev 90426, lightdm/trunk/lightdm.rules)
  lightdm/repos/community-staging-x86_64/lightdm.service
    (from rev 90426, lightdm/trunk/lightdm.service)
  lightdm/repos/community-staging-x86_64/lightdm.tmpfiles
    (from rev 90426, lightdm/trunk/lightdm.tmpfiles)
  lightdm/repos/community-staging-x86_64/xsession
    (from rev 90426, lightdm/trunk/xsession)

------------------------------------------------------------------+
 community-staging-i686/PKGBUILD                                  |  118 ++++++++++
 community-staging-i686/lightdm-autologin.pam                     |   13 +
 community-staging-i686/lightdm-default-config.patch              |   43 +++
 community-staging-i686/lightdm-lock-screen-before-switch.patch   |   55 ++++
 community-staging-i686/lightdm.install                           |   18 +
 community-staging-i686/lightdm.pam                               |    7 
 community-staging-i686/lightdm.rules                             |   15 +
 community-staging-i686/lightdm.service                           |   14 +
 community-staging-i686/lightdm.tmpfiles                          |    1 
 community-staging-i686/xsession                                  |   73 ++++++
 community-staging-x86_64/PKGBUILD                                |  118 ++++++++++
 community-staging-x86_64/lightdm-autologin.pam                   |   13 +
 community-staging-x86_64/lightdm-default-config.patch            |   43 +++
 community-staging-x86_64/lightdm-lock-screen-before-switch.patch |   55 ++++
 community-staging-x86_64/lightdm.install                         |   18 +
 community-staging-x86_64/lightdm.pam                             |    7 
 community-staging-x86_64/lightdm.rules                           |   15 +
 community-staging-x86_64/lightdm.service                         |   14 +
 community-staging-x86_64/lightdm.tmpfiles                        |    1 
 community-staging-x86_64/xsession                                |   73 ++++++
 20 files changed, 714 insertions(+)

Copied: lightdm/repos/community-staging-i686/PKGBUILD (from rev 90426, lightdm/trunk/PKGBUILD)
===================================================================
--- community-staging-i686/PKGBUILD	                        (rev 0)
+++ community-staging-i686/PKGBUILD	2013-05-12 10:40:13 UTC (rev 90427)
@@ -0,0 +1,118 @@
+# $Id$
+# Maintainer: Maxime Gauduin <alucryd at gmail.com>
+# Contributor: Morfeo <morfeo89 at hotmail.it>
+
+pkgbase=lightdm
+pkgname=('lightdm' 'liblightdm-qt4' 'liblightdm-qt5')
+pkgver=1.6.0
+pkgrel=2
+epoch=1
+pkgdesc="A lightweight display manager"
+arch=('i686' 'x86_64')
+url="https://launchpad.net/lightdm"
+license=('GPL3' 'LGPL3')
+groups=('lightdm')
+makedepends=('gobject-introspection' 'gtk-doc' 'intltool' 'itstool' 'libxklavier' 'qt4' 'qt5-base' 'yelp-tools')
+options=('!emptydirs' '!libtool')
+source=("https://launchpad.net/lightdm/1.6/${pkgver}/+download/${pkgbase}-${pkgver}.tar.xz"
+        'lightdm.service'
+        'lightdm.tmpfiles'
+        'lightdm.pam'
+        'lightdm-autologin.pam'
+        'lightdm.rules'
+        'lightdm-default-config.patch'
+        'lightdm-lock-screen-before-switch.patch'
+        'xsession')
+sha256sums=('882ece568df0d81c0b6e399ff00b3f89eee6d50efc09ad1c52c61d8753efb419'
+            '3daf2f7e1b751415eab9b2aa92d78d8e00c3447a77fa31f7e75863136286a86f'
+            'b29521fbd7a48a8f60b93ecca3b30c30bcb71560de8033c8d39b25c22c6f696f'
+            'e8c4c5fd3b801a390d201166fd1fb9730e78a5c62928768103b870b6bd980ea0'
+            '33e3c3d6e16c8d30756754ea3f31f5457c5be0343686aad287692be34958984a'
+            'a89566307e1c81c24f037d854cbd472d2f94f8a4b759877a01563a332319f7d6'
+            '6d5a754f41e9c7e52c51d2ff018b926ddaabb807e9a0b88c4a7bde1acffa3b1c'
+            '4793eaee5915f5c519f569a4cd9158822d4c57c8b6e405895d2eddf82fa00822'
+            '7fb85a1b54406032a922e8fd6f45d869fcfe5681df630e74e8e50c040b786ee4')
+
+prepare() {
+  cd "${srcdir}"/${pkgbase}-${pkgver}
+
+  patch -Np1 -i ../lightdm-default-config.patch
+  patch -Np1 -i ../lightdm-lock-screen-before-switch.patch
+  sed -i 's/MOC5 --qt=qt5/MOC5/' configure
+}
+
+build() {
+  cd "${srcdir}"/${pkgbase}-${pkgver}
+
+   ./configure --prefix=/usr --sbindir=/usr/bin --sysconfdir=/etc --localstatedir=/var --libexecdir=/usr/lib/${pkgbase} --with-greeter-user=lightdm --with-greeter-session=lightdm-gtk-greeter --disable-{static,tests}
+   make
+}
+
+package_lightdm() {
+depends=('libxklavier' 'systemd')
+optdepends=('xorg-server-xephyr: LightDM test mode'
+            'accountsservice: limit visible accounts')
+backup=('etc/apparmor.d/lightdm-guest-session'
+        'etc/lightdm/keys.conf'
+        'etc/lightdm/lightdm.conf'
+        'etc/lightdm/users.conf')
+install=${pkgbase}.install
+
+  cd "${srcdir}"/${pkgbase}-${pkgver}
+
+  make DESTDIR="${pkgdir}" install
+  make DESTDIR="${pkgdir}" -C liblightdm-qt uninstall
+  rm -rf "${pkgdir}"/etc/init
+
+# Persistent home
+  install -dm 770 "${pkgdir}"/var/lib/lightdm
+  chmod +t "${pkgdir}"/var/lib/lightdm
+  echo 'GDK_CORE_DEVICE_EVENTS=true' > "${pkgdir}"/var/lib/lightdm/.pam_environment
+  chmod 644 "${pkgdir}"/var/lib/lightdm/.pam_environment
+
+# Session wrapper
+  install -m 755 ../xsession "${pkgdir}"/etc/lightdm/xsession
+
+# PAM
+  install -m 644 ../lightdm.pam "${pkgdir}"/etc/pam.d/lightdm
+  install -m 644 ../lightdm-autologin.pam "${pkgdir}"/etc/pam.d/lightdm-autologin
+
+# PolicyKit
+  install -dm 700 "${pkgdir}"/usr/share/polkit-1/rules.d
+  install -m 644 ../lightdm.rules "${pkgdir}"/usr/share/polkit-1/rules.d/lightdm.rules
+
+# Systemd
+  install -dm 755 "${pkgdir}"/usr/lib/{systemd/system,tmpfiles.d}
+  install -m 644 ../lightdm.service "${pkgdir}"/usr/lib/systemd/system/lightdm.service
+  install -m 644 ../lightdm.tmpfiles "${pkgdir}"/usr/lib/tmpfiles.d/lightdm.conf
+}
+
+package_liblightdm-qt4() {
+pkgdesc=('LightDM Qt client library')
+depends=('lightdm' 'qt4')
+
+  cd "${srcdir}"/${pkgbase}-${pkgver}
+
+  make DESTDIR="${pkgdir}" -C liblightdm-gobject install
+  make DESTDIR="${pkgdir}" -C liblightdm-qt install
+  make DESTDIR="${pkgdir}" -C liblightdm-gobject uninstall
+  find "${pkgdir}" -type d -name *qt5* -exec rm -rf {} +
+  find "${pkgdir}" -type f  -name *qt5* -exec rm {} +
+  find "${pkgdir}" -type l  -name *qt5* -exec rm {} +
+}
+
+package_liblightdm-qt5() {
+pkgdesc=('LightDM Qt client library')
+depends=('lightdm' 'qt5-base')
+
+  cd "${srcdir}"/${pkgbase}-${pkgver}
+
+  make DESTDIR="${pkgdir}" -C liblightdm-gobject install
+  make DESTDIR="${pkgdir}" -C liblightdm-qt install
+  make DESTDIR="${pkgdir}" -C liblightdm-gobject uninstall
+  find "${pkgdir}" -type d -name *qt[!5]* -exec rm -rf {} +
+  find "${pkgdir}" -type f  -name *qt[!5]* -exec rm {} +
+  find "${pkgdir}" -type l  -name *qt[!5]* -exec rm {} +
+}
+
+# vim: ts=2 sw=2 et:

Copied: lightdm/repos/community-staging-i686/lightdm-autologin.pam (from rev 90426, lightdm/trunk/lightdm-autologin.pam)
===================================================================
--- community-staging-i686/lightdm-autologin.pam	                        (rev 0)
+++ community-staging-i686/lightdm-autologin.pam	2013-05-12 10:40:13 UTC (rev 90427)
@@ -0,0 +1,13 @@
+#%PAM-1.0
+auth        required    pam_env.so
+auth        required    pam_tally.so file=/var/log/faillog onerr=succeed
+auth        required    pam_shells.so
+auth        required    pam_nologin.so
+auth        [success=1 default=ignore]  pam_succeed_if.so user ingroup autologin
+auth        required    pam_unix.so
+auth        required    pam_permit.so
+-auth       optional    pam_gnome_keyring.so
+account     include     system-local-login
+password    include     system-local-login
+session     include     system-local-login
+-session    optional    pam_gnome_keyring.so auto_start

Copied: lightdm/repos/community-staging-i686/lightdm-default-config.patch (from rev 90426, lightdm/trunk/lightdm-default-config.patch)
===================================================================
--- community-staging-i686/lightdm-default-config.patch	                        (rev 0)
+++ community-staging-i686/lightdm-default-config.patch	2013-05-12 10:40:13 UTC (rev 90427)
@@ -0,0 +1,43 @@
+diff -rupN lightdm-1.5.1.orig/data/lightdm.conf lightdm-1.5.1/data/lightdm.conf
+--- lightdm-1.5.1.orig/data/lightdm.conf	2013-03-06 03:40:10.000000000 +0100
++++ lightdm-1.5.1/data/lightdm.conf	2013-03-12 22:59:22.494743200 +0100
+@@ -24,7 +24,7 @@
+ #user-authority-in-system-dir=false
+ #guest-account-script=guest-account
+ #log-directory=/var/log/lightdm
+-#run-directory=/var/run/lightdm
++run-directory=/run/lightdm
+ #cache-directory=/var/cache/lightdm
+ #xsessions-directory=/usr/share/xsessions
+ #remote-sessions-directory=/usr/share/lightdm/remote-sessions
+@@ -77,7 +77,7 @@
+ #user-session=default
+ #allow-guest=true
+ #guest-session=UNIMPLEMENTED
+-#session-wrapper=lightdm-session
++session-wrapper=/etc/lightdm/xsession
+ #display-setup-script=
+ #greeter-setup-script=
+ #session-setup-script=
+@@ -86,6 +86,7 @@
+ #autologin-user=
+ #autologin-user-timeout=0
+ #autologin-session=UNIMPLEMENTED
++pam-service=lightdm-autologin
+ #exit-on-failure=false
+
+ #
+diff -rupN lightdm-1.5.1.orig/data/users.conf lightdm-1.5.1/data/users.conf
+--- lightdm-1.5.1.orig/data/users.conf	2013-03-06 03:40:10.000000000 +0100
++++ lightdm-1.5.1/data/users.conf	2013-03-12 22:54:29.398854700 +0100
+@@ -8,7 +8,7 @@
+ # hidden-users = Users that are not shown to the user
+ # hidden-shells = Shells that indicate a user cannot login
+ #
+-[UserAccounts]
+-minimum-uid=500
++[UserList]
++minimum-uid=1000
+ hidden-users=nobody nobody4 noaccess
+-hidden-shells=/bin/false /usr/sbin/nologin
++hidden-shells=/bin/false /sbin/nologin

Copied: lightdm/repos/community-staging-i686/lightdm-lock-screen-before-switch.patch (from rev 90426, lightdm/trunk/lightdm-lock-screen-before-switch.patch)
===================================================================
--- community-staging-i686/lightdm-lock-screen-before-switch.patch	                        (rev 0)
+++ community-staging-i686/lightdm-lock-screen-before-switch.patch	2013-05-12 10:40:13 UTC (rev 90427)
@@ -0,0 +1,55 @@
+# HG changeset patch
+# Parent b329fa1badaa454239690c3feb93d53324134915
+try to lock the screen before switching users
+
+diff --git a/utils/gdmflexiserver b/utils/gdmflexiserver
+--- a/utils/gdmflexiserver
++++ b/utils/gdmflexiserver
+@@ -9,9 +9,47 @@
+ #
+ # See http://www.gnu.org/copyleft/gpl.html for the full text of the license.
+ 
++PATH=/usr/local/bin:/bin:/usr/bin
++export PATH
++
+ if [ -z "$XDG_SEAT_PATH" ]; then
+   # something went wrong
+   exit 1
+ fi
+ 
++find_command () {
++    cmd="$1"
++    oIFS="${IFS}"; IFS=:
++    set -- ${PATH}
++    IFS="${oIFS}"
++
++    for part; do
++        [ -x "${part}/${cmd}" ] && return 0
++    done
++    return 1
++}
++
++lock_screen () {
++    for lock_cmd in \
++        "xscreensaver-command -lock" \
++        "gnome-screensaver-command --lock" \
++        "dbus-send --session --dest=org.freedesktop.ScreenSaver --type=method_call /ScreenSaver org.freedesktop.ScreenSaver.Lock"
++    do
++        ${lock_cmd} >/dev/null 2>&1 && return
++    done
++
++    for lock_cmd in \
++        "slock" \
++        "xlock -mode blank"
++    do
++        set -- ${lock_cmd}
++        if find_command "$1"; then
++            ${lock_cmd} >/dev/null 2>&1 &
++            return
++        fi
++    done
++}
++
++lock_screen
++
+ dbus-send --system --type=method_call --print-reply --dest=org.freedesktop.DisplayManager $XDG_SEAT_PATH org.freedesktop.DisplayManager.Seat.SwitchToGreeter

Copied: lightdm/repos/community-staging-i686/lightdm.install (from rev 90426, lightdm/trunk/lightdm.install)
===================================================================
--- community-staging-i686/lightdm.install	                        (rev 0)
+++ community-staging-i686/lightdm.install	2013-05-12 10:40:13 UTC (rev 90427)
@@ -0,0 +1,18 @@
+post_install() {
+  getent group lightdm > /dev/null 2>&1 || groupadd -g 620 lightdm
+  getent passwd lightdm > /dev/null 2>&1 || useradd -c 'Light Display Manager' -u 620 -g lightdm -d /var/lib/lightdm -s /sbin/nologin lightdm
+  passwd -l lightdm > /dev/null
+  chown -R lightdm:lightdm /var/lib/lightdm > /dev/null
+  systemd-tmpfiles --create lightdm.conf
+}
+
+post_upgrade() {
+  post_install
+}
+
+post_remove() {
+  getent passwd lightdm > /dev/null 2>&1 && userdel lightdm
+  getent group lightdm > /dev/null 2>&1 && groupdel lightdm
+}
+
+# vim: ts=2 sw=2 et:

Copied: lightdm/repos/community-staging-i686/lightdm.pam (from rev 90426, lightdm/trunk/lightdm.pam)
===================================================================
--- community-staging-i686/lightdm.pam	                        (rev 0)
+++ community-staging-i686/lightdm.pam	2013-05-12 10:40:13 UTC (rev 90427)
@@ -0,0 +1,7 @@
+#%PAM-1.0
+auth        include     system-login
+-auth       optional    pam_gnome_keyring.so
+account     include     system-login
+password    include     system-login
+session     include     system-login
+-session    optional    pam_gnome_keyring.so auto_start

Copied: lightdm/repos/community-staging-i686/lightdm.rules (from rev 90426, lightdm/trunk/lightdm.rules)
===================================================================
--- community-staging-i686/lightdm.rules	                        (rev 0)
+++ community-staging-i686/lightdm.rules	2013-05-12 10:40:13 UTC (rev 90427)
@@ -0,0 +1,15 @@
+polkit.addRule(function(action, subject) {
+    if (subject.user == "lightdm") {
+        polkit.log("action=" + action);
+        polkit.log("subject=" + subject);
+        if (action.id.indexOf("org.freedesktop.login1.") == 0) {
+            return polkit.Result.YES;
+        }
+        if (action.id.indexOf("org.freedesktop.consolekit.system.") == 0) {
+            return polkit.Result.YES;
+        }
+        if (action.id.indexOf("org.freedesktop.upower.") == 0) {
+            return polkit.Result.YES;
+        }
+    }
+});

Copied: lightdm/repos/community-staging-i686/lightdm.service (from rev 90426, lightdm/trunk/lightdm.service)
===================================================================
--- community-staging-i686/lightdm.service	                        (rev 0)
+++ community-staging-i686/lightdm.service	2013-05-12 10:40:13 UTC (rev 90427)
@@ -0,0 +1,14 @@
+[Unit]
+Description=Light Display Manager
+Documentation=man:lightdm(1)
+After=systemd-user-sessions.service
+
+[Service]
+ExecStart=/usr/bin/lightdm
+StandardOutput=syslog
+Restart=always
+IgnoreSIGPIPE=no
+BusName=org.freedesktop.DisplayManager
+
+[Install]
+Alias=display-manager.service

Copied: lightdm/repos/community-staging-i686/lightdm.tmpfiles (from rev 90426, lightdm/trunk/lightdm.tmpfiles)
===================================================================
--- community-staging-i686/lightdm.tmpfiles	                        (rev 0)
+++ community-staging-i686/lightdm.tmpfiles	2013-05-12 10:40:13 UTC (rev 90427)
@@ -0,0 +1 @@
+d /run/lightdm 0711 lightdm lightdm

Copied: lightdm/repos/community-staging-i686/xsession (from rev 90426, lightdm/trunk/xsession)
===================================================================
--- community-staging-i686/xsession	                        (rev 0)
+++ community-staging-i686/xsession	2013-05-12 10:40:13 UTC (rev 90427)
@@ -0,0 +1,73 @@
+#!/bin/sh
+#
+# LightDM wrapper to run around X sessions.
+
+echo "Running X session wrapper"
+
+# Load profile
+for file in "/etc/profile" "$HOME/.profile" "/etc/xprofile" "$HOME/.xprofile"; do
+    if [ -f "$file" ]; then
+        echo "Loading profile from $file";
+        . "$file"
+    fi
+done
+
+# Load resources
+for file in "/etc/X11/Xresources" "$HOME/.Xresources"; do
+    if [ -f "$file" ]; then
+        echo "Loading resource: $file"
+        xrdb -nocpp -merge "$file"
+    fi
+done
+
+# Load keymaps
+for file in "/etc/X11/Xkbmap" "$HOME/.Xkbmap"; do
+    if [ -f "$file" ]; then
+        echo "Loading keymap: $file"
+        setxkbmap `cat "$file"`
+        XKB_IN_USE=yes
+    fi
+done
+
+# Load xmodmap if not using XKB
+if [ -z "$XKB_IN_USE" ]; then
+    for file in "/etc/X11/Xmodmap" "$HOME/.Xmodmap"; do
+        if [ -f "$file" ]; then
+           echo "Loading modmap: $file"
+           xmodmap "$file"
+        fi
+    done
+fi
+
+unset XKB_IN_USE
+
+# Run all system xinitrc shell scripts.
+xinitdir="/etc/X11/xinit/xinitrc.d"
+if [ -d "$xinitdir" ]; then
+    for script in $xinitdir/*; do
+        echo "Loading xinit script $script"
+        if [ -x "$script" -a ! -d "$script" ]; then
+            . "$script"
+        fi
+    done
+fi
+
+# Load xsession scripts
+xsessionddir="/etc/X11/xsession.d"
+if [ -d "$xsessionddir" ]; then
+    for i in `ls $xsessionddir`; do
+        script="$xsessionddir/$i"
+        echo "Loading X session script $script"
+        if [ -r "$script"  -a -f "$script" ] && expr "$i" : '^[[:alnum:]_-]\+$' > /dev/null; then
+            . "$script"
+        fi
+    done
+fi
+if [ -x "$HOME/.xsession" -a -f "$HOME/.xsession" ]; then
+    echo "Loading user X session script"
+        . "$HOME/.xsession"
+fi
+
+echo "X session wrapper complete, running session $@"
+
+exec $@

Copied: lightdm/repos/community-staging-x86_64/PKGBUILD (from rev 90426, lightdm/trunk/PKGBUILD)
===================================================================
--- community-staging-x86_64/PKGBUILD	                        (rev 0)
+++ community-staging-x86_64/PKGBUILD	2013-05-12 10:40:13 UTC (rev 90427)
@@ -0,0 +1,118 @@
+# $Id$
+# Maintainer: Maxime Gauduin <alucryd at gmail.com>
+# Contributor: Morfeo <morfeo89 at hotmail.it>
+
+pkgbase=lightdm
+pkgname=('lightdm' 'liblightdm-qt4' 'liblightdm-qt5')
+pkgver=1.6.0
+pkgrel=2
+epoch=1
+pkgdesc="A lightweight display manager"
+arch=('i686' 'x86_64')
+url="https://launchpad.net/lightdm"
+license=('GPL3' 'LGPL3')
+groups=('lightdm')
+makedepends=('gobject-introspection' 'gtk-doc' 'intltool' 'itstool' 'libxklavier' 'qt4' 'qt5-base' 'yelp-tools')
+options=('!emptydirs' '!libtool')
+source=("https://launchpad.net/lightdm/1.6/${pkgver}/+download/${pkgbase}-${pkgver}.tar.xz"
+        'lightdm.service'
+        'lightdm.tmpfiles'
+        'lightdm.pam'
+        'lightdm-autologin.pam'
+        'lightdm.rules'
+        'lightdm-default-config.patch'
+        'lightdm-lock-screen-before-switch.patch'
+        'xsession')
+sha256sums=('882ece568df0d81c0b6e399ff00b3f89eee6d50efc09ad1c52c61d8753efb419'
+            '3daf2f7e1b751415eab9b2aa92d78d8e00c3447a77fa31f7e75863136286a86f'
+            'b29521fbd7a48a8f60b93ecca3b30c30bcb71560de8033c8d39b25c22c6f696f'
+            'e8c4c5fd3b801a390d201166fd1fb9730e78a5c62928768103b870b6bd980ea0'
+            '33e3c3d6e16c8d30756754ea3f31f5457c5be0343686aad287692be34958984a'
+            'a89566307e1c81c24f037d854cbd472d2f94f8a4b759877a01563a332319f7d6'
+            '6d5a754f41e9c7e52c51d2ff018b926ddaabb807e9a0b88c4a7bde1acffa3b1c'
+            '4793eaee5915f5c519f569a4cd9158822d4c57c8b6e405895d2eddf82fa00822'
+            '7fb85a1b54406032a922e8fd6f45d869fcfe5681df630e74e8e50c040b786ee4')
+
+prepare() {
+  cd "${srcdir}"/${pkgbase}-${pkgver}
+
+  patch -Np1 -i ../lightdm-default-config.patch
+  patch -Np1 -i ../lightdm-lock-screen-before-switch.patch
+  sed -i 's/MOC5 --qt=qt5/MOC5/' configure
+}
+
+build() {
+  cd "${srcdir}"/${pkgbase}-${pkgver}
+
+   ./configure --prefix=/usr --sbindir=/usr/bin --sysconfdir=/etc --localstatedir=/var --libexecdir=/usr/lib/${pkgbase} --with-greeter-user=lightdm --with-greeter-session=lightdm-gtk-greeter --disable-{static,tests}
+   make
+}
+
+package_lightdm() {
+depends=('libxklavier' 'systemd')
+optdepends=('xorg-server-xephyr: LightDM test mode'
+            'accountsservice: limit visible accounts')
+backup=('etc/apparmor.d/lightdm-guest-session'
+        'etc/lightdm/keys.conf'
+        'etc/lightdm/lightdm.conf'
+        'etc/lightdm/users.conf')
+install=${pkgbase}.install
+
+  cd "${srcdir}"/${pkgbase}-${pkgver}
+
+  make DESTDIR="${pkgdir}" install
+  make DESTDIR="${pkgdir}" -C liblightdm-qt uninstall
+  rm -rf "${pkgdir}"/etc/init
+
+# Persistent home
+  install -dm 770 "${pkgdir}"/var/lib/lightdm
+  chmod +t "${pkgdir}"/var/lib/lightdm
+  echo 'GDK_CORE_DEVICE_EVENTS=true' > "${pkgdir}"/var/lib/lightdm/.pam_environment
+  chmod 644 "${pkgdir}"/var/lib/lightdm/.pam_environment
+
+# Session wrapper
+  install -m 755 ../xsession "${pkgdir}"/etc/lightdm/xsession
+
+# PAM
+  install -m 644 ../lightdm.pam "${pkgdir}"/etc/pam.d/lightdm
+  install -m 644 ../lightdm-autologin.pam "${pkgdir}"/etc/pam.d/lightdm-autologin
+
+# PolicyKit
+  install -dm 700 "${pkgdir}"/usr/share/polkit-1/rules.d
+  install -m 644 ../lightdm.rules "${pkgdir}"/usr/share/polkit-1/rules.d/lightdm.rules
+
+# Systemd
+  install -dm 755 "${pkgdir}"/usr/lib/{systemd/system,tmpfiles.d}
+  install -m 644 ../lightdm.service "${pkgdir}"/usr/lib/systemd/system/lightdm.service
+  install -m 644 ../lightdm.tmpfiles "${pkgdir}"/usr/lib/tmpfiles.d/lightdm.conf
+}
+
+package_liblightdm-qt4() {
+pkgdesc=('LightDM Qt client library')
+depends=('lightdm' 'qt4')
+
+  cd "${srcdir}"/${pkgbase}-${pkgver}
+
+  make DESTDIR="${pkgdir}" -C liblightdm-gobject install
+  make DESTDIR="${pkgdir}" -C liblightdm-qt install
+  make DESTDIR="${pkgdir}" -C liblightdm-gobject uninstall
+  find "${pkgdir}" -type d -name *qt5* -exec rm -rf {} +
+  find "${pkgdir}" -type f  -name *qt5* -exec rm {} +
+  find "${pkgdir}" -type l  -name *qt5* -exec rm {} +
+}
+
+package_liblightdm-qt5() {
+pkgdesc=('LightDM Qt client library')
+depends=('lightdm' 'qt5-base')
+
+  cd "${srcdir}"/${pkgbase}-${pkgver}
+
+  make DESTDIR="${pkgdir}" -C liblightdm-gobject install
+  make DESTDIR="${pkgdir}" -C liblightdm-qt install
+  make DESTDIR="${pkgdir}" -C liblightdm-gobject uninstall
+  find "${pkgdir}" -type d -name *qt[!5]* -exec rm -rf {} +
+  find "${pkgdir}" -type f  -name *qt[!5]* -exec rm {} +
+  find "${pkgdir}" -type l  -name *qt[!5]* -exec rm {} +
+}
+
+# vim: ts=2 sw=2 et:

Copied: lightdm/repos/community-staging-x86_64/lightdm-autologin.pam (from rev 90426, lightdm/trunk/lightdm-autologin.pam)
===================================================================
--- community-staging-x86_64/lightdm-autologin.pam	                        (rev 0)
+++ community-staging-x86_64/lightdm-autologin.pam	2013-05-12 10:40:13 UTC (rev 90427)
@@ -0,0 +1,13 @@
+#%PAM-1.0
+auth        required    pam_env.so
+auth        required    pam_tally.so file=/var/log/faillog onerr=succeed
+auth        required    pam_shells.so
+auth        required    pam_nologin.so
+auth        [success=1 default=ignore]  pam_succeed_if.so user ingroup autologin
+auth        required    pam_unix.so
+auth        required    pam_permit.so
+-auth       optional    pam_gnome_keyring.so
+account     include     system-local-login
+password    include     system-local-login
+session     include     system-local-login
+-session    optional    pam_gnome_keyring.so auto_start

Copied: lightdm/repos/community-staging-x86_64/lightdm-default-config.patch (from rev 90426, lightdm/trunk/lightdm-default-config.patch)
===================================================================
--- community-staging-x86_64/lightdm-default-config.patch	                        (rev 0)
+++ community-staging-x86_64/lightdm-default-config.patch	2013-05-12 10:40:13 UTC (rev 90427)
@@ -0,0 +1,43 @@
+diff -rupN lightdm-1.5.1.orig/data/lightdm.conf lightdm-1.5.1/data/lightdm.conf
+--- lightdm-1.5.1.orig/data/lightdm.conf	2013-03-06 03:40:10.000000000 +0100
++++ lightdm-1.5.1/data/lightdm.conf	2013-03-12 22:59:22.494743200 +0100
+@@ -24,7 +24,7 @@
+ #user-authority-in-system-dir=false
+ #guest-account-script=guest-account
+ #log-directory=/var/log/lightdm
+-#run-directory=/var/run/lightdm
++run-directory=/run/lightdm
+ #cache-directory=/var/cache/lightdm
+ #xsessions-directory=/usr/share/xsessions
+ #remote-sessions-directory=/usr/share/lightdm/remote-sessions
+@@ -77,7 +77,7 @@
+ #user-session=default
+ #allow-guest=true
+ #guest-session=UNIMPLEMENTED
+-#session-wrapper=lightdm-session
++session-wrapper=/etc/lightdm/xsession
+ #display-setup-script=
+ #greeter-setup-script=
+ #session-setup-script=
+@@ -86,6 +86,7 @@
+ #autologin-user=
+ #autologin-user-timeout=0
+ #autologin-session=UNIMPLEMENTED
++pam-service=lightdm-autologin
+ #exit-on-failure=false
+
+ #
+diff -rupN lightdm-1.5.1.orig/data/users.conf lightdm-1.5.1/data/users.conf
+--- lightdm-1.5.1.orig/data/users.conf	2013-03-06 03:40:10.000000000 +0100
++++ lightdm-1.5.1/data/users.conf	2013-03-12 22:54:29.398854700 +0100
+@@ -8,7 +8,7 @@
+ # hidden-users = Users that are not shown to the user
+ # hidden-shells = Shells that indicate a user cannot login
+ #
+-[UserAccounts]
+-minimum-uid=500
++[UserList]
++minimum-uid=1000
+ hidden-users=nobody nobody4 noaccess
+-hidden-shells=/bin/false /usr/sbin/nologin
++hidden-shells=/bin/false /sbin/nologin

Copied: lightdm/repos/community-staging-x86_64/lightdm-lock-screen-before-switch.patch (from rev 90426, lightdm/trunk/lightdm-lock-screen-before-switch.patch)
===================================================================
--- community-staging-x86_64/lightdm-lock-screen-before-switch.patch	                        (rev 0)
+++ community-staging-x86_64/lightdm-lock-screen-before-switch.patch	2013-05-12 10:40:13 UTC (rev 90427)
@@ -0,0 +1,55 @@
+# HG changeset patch
+# Parent b329fa1badaa454239690c3feb93d53324134915
+try to lock the screen before switching users
+
+diff --git a/utils/gdmflexiserver b/utils/gdmflexiserver
+--- a/utils/gdmflexiserver
++++ b/utils/gdmflexiserver
+@@ -9,9 +9,47 @@
+ #
+ # See http://www.gnu.org/copyleft/gpl.html for the full text of the license.
+ 
++PATH=/usr/local/bin:/bin:/usr/bin
++export PATH
++
+ if [ -z "$XDG_SEAT_PATH" ]; then
+   # something went wrong
+   exit 1
+ fi
+ 
++find_command () {
++    cmd="$1"
++    oIFS="${IFS}"; IFS=:
++    set -- ${PATH}
++    IFS="${oIFS}"
++
++    for part; do
++        [ -x "${part}/${cmd}" ] && return 0
++    done
++    return 1
++}
++
++lock_screen () {
++    for lock_cmd in \
++        "xscreensaver-command -lock" \
++        "gnome-screensaver-command --lock" \
++        "dbus-send --session --dest=org.freedesktop.ScreenSaver --type=method_call /ScreenSaver org.freedesktop.ScreenSaver.Lock"
++    do
++        ${lock_cmd} >/dev/null 2>&1 && return
++    done
++
++    for lock_cmd in \
++        "slock" \
++        "xlock -mode blank"
++    do
++        set -- ${lock_cmd}
++        if find_command "$1"; then
++            ${lock_cmd} >/dev/null 2>&1 &
++            return
++        fi
++    done
++}
++
++lock_screen
++
+ dbus-send --system --type=method_call --print-reply --dest=org.freedesktop.DisplayManager $XDG_SEAT_PATH org.freedesktop.DisplayManager.Seat.SwitchToGreeter

Copied: lightdm/repos/community-staging-x86_64/lightdm.install (from rev 90426, lightdm/trunk/lightdm.install)
===================================================================
--- community-staging-x86_64/lightdm.install	                        (rev 0)
+++ community-staging-x86_64/lightdm.install	2013-05-12 10:40:13 UTC (rev 90427)
@@ -0,0 +1,18 @@
+post_install() {
+  getent group lightdm > /dev/null 2>&1 || groupadd -g 620 lightdm
+  getent passwd lightdm > /dev/null 2>&1 || useradd -c 'Light Display Manager' -u 620 -g lightdm -d /var/lib/lightdm -s /sbin/nologin lightdm
+  passwd -l lightdm > /dev/null
+  chown -R lightdm:lightdm /var/lib/lightdm > /dev/null
+  systemd-tmpfiles --create lightdm.conf
+}
+
+post_upgrade() {
+  post_install
+}
+
+post_remove() {
+  getent passwd lightdm > /dev/null 2>&1 && userdel lightdm
+  getent group lightdm > /dev/null 2>&1 && groupdel lightdm
+}
+
+# vim: ts=2 sw=2 et:

Copied: lightdm/repos/community-staging-x86_64/lightdm.pam (from rev 90426, lightdm/trunk/lightdm.pam)
===================================================================
--- community-staging-x86_64/lightdm.pam	                        (rev 0)
+++ community-staging-x86_64/lightdm.pam	2013-05-12 10:40:13 UTC (rev 90427)
@@ -0,0 +1,7 @@
+#%PAM-1.0
+auth        include     system-login
+-auth       optional    pam_gnome_keyring.so
+account     include     system-login
+password    include     system-login
+session     include     system-login
+-session    optional    pam_gnome_keyring.so auto_start

Copied: lightdm/repos/community-staging-x86_64/lightdm.rules (from rev 90426, lightdm/trunk/lightdm.rules)
===================================================================
--- community-staging-x86_64/lightdm.rules	                        (rev 0)
+++ community-staging-x86_64/lightdm.rules	2013-05-12 10:40:13 UTC (rev 90427)
@@ -0,0 +1,15 @@
+polkit.addRule(function(action, subject) {
+    if (subject.user == "lightdm") {
+        polkit.log("action=" + action);
+        polkit.log("subject=" + subject);
+        if (action.id.indexOf("org.freedesktop.login1.") == 0) {
+            return polkit.Result.YES;
+        }
+        if (action.id.indexOf("org.freedesktop.consolekit.system.") == 0) {
+            return polkit.Result.YES;
+        }
+        if (action.id.indexOf("org.freedesktop.upower.") == 0) {
+            return polkit.Result.YES;
+        }
+    }
+});

Copied: lightdm/repos/community-staging-x86_64/lightdm.service (from rev 90426, lightdm/trunk/lightdm.service)
===================================================================
--- community-staging-x86_64/lightdm.service	                        (rev 0)
+++ community-staging-x86_64/lightdm.service	2013-05-12 10:40:13 UTC (rev 90427)
@@ -0,0 +1,14 @@
+[Unit]
+Description=Light Display Manager
+Documentation=man:lightdm(1)
+After=systemd-user-sessions.service
+
+[Service]
+ExecStart=/usr/bin/lightdm
+StandardOutput=syslog
+Restart=always
+IgnoreSIGPIPE=no
+BusName=org.freedesktop.DisplayManager
+
+[Install]
+Alias=display-manager.service

Copied: lightdm/repos/community-staging-x86_64/lightdm.tmpfiles (from rev 90426, lightdm/trunk/lightdm.tmpfiles)
===================================================================
--- community-staging-x86_64/lightdm.tmpfiles	                        (rev 0)
+++ community-staging-x86_64/lightdm.tmpfiles	2013-05-12 10:40:13 UTC (rev 90427)
@@ -0,0 +1 @@
+d /run/lightdm 0711 lightdm lightdm

Copied: lightdm/repos/community-staging-x86_64/xsession (from rev 90426, lightdm/trunk/xsession)
===================================================================
--- community-staging-x86_64/xsession	                        (rev 0)
+++ community-staging-x86_64/xsession	2013-05-12 10:40:13 UTC (rev 90427)
@@ -0,0 +1,73 @@
+#!/bin/sh
+#
+# LightDM wrapper to run around X sessions.
+
+echo "Running X session wrapper"
+
+# Load profile
+for file in "/etc/profile" "$HOME/.profile" "/etc/xprofile" "$HOME/.xprofile"; do
+    if [ -f "$file" ]; then
+        echo "Loading profile from $file";
+        . "$file"
+    fi
+done
+
+# Load resources
+for file in "/etc/X11/Xresources" "$HOME/.Xresources"; do
+    if [ -f "$file" ]; then
+        echo "Loading resource: $file"
+        xrdb -nocpp -merge "$file"
+    fi
+done
+
+# Load keymaps
+for file in "/etc/X11/Xkbmap" "$HOME/.Xkbmap"; do
+    if [ -f "$file" ]; then
+        echo "Loading keymap: $file"
+        setxkbmap `cat "$file"`
+        XKB_IN_USE=yes
+    fi
+done
+
+# Load xmodmap if not using XKB
+if [ -z "$XKB_IN_USE" ]; then
+    for file in "/etc/X11/Xmodmap" "$HOME/.Xmodmap"; do
+        if [ -f "$file" ]; then
+           echo "Loading modmap: $file"
+           xmodmap "$file"
+        fi
+    done
+fi
+
+unset XKB_IN_USE
+
+# Run all system xinitrc shell scripts.
+xinitdir="/etc/X11/xinit/xinitrc.d"
+if [ -d "$xinitdir" ]; then
+    for script in $xinitdir/*; do
+        echo "Loading xinit script $script"
+        if [ -x "$script" -a ! -d "$script" ]; then
+            . "$script"
+        fi
+    done
+fi
+
+# Load xsession scripts
+xsessionddir="/etc/X11/xsession.d"
+if [ -d "$xsessionddir" ]; then
+    for i in `ls $xsessionddir`; do
+        script="$xsessionddir/$i"
+        echo "Loading X session script $script"
+        if [ -r "$script"  -a -f "$script" ] && expr "$i" : '^[[:alnum:]_-]\+$' > /dev/null; then
+            . "$script"
+        fi
+    done
+fi
+if [ -x "$HOME/.xsession" -a -f "$HOME/.xsession" ]; then
+    echo "Loading user X session script"
+        . "$HOME/.xsession"
+fi
+
+echo "X session wrapper complete, running session $@"
+
+exec $@




More information about the arch-commits mailing list