diff options
author | Maxime Gauduin | 2015-06-08 11:10:31 +0200 |
---|---|---|
committer | Maxime Gauduin | 2015-06-08 11:10:31 +0200 |
commit | 4d23336db5e4770883764c8426165364590894e8 (patch) | |
tree | 57b3795cc2cd5fe41f53157248f87318562a3cb7 | |
download | aur-4d23336db5e4770883764c8426165364590894e8.tar.gz |
Initial import
-rw-r--r-- | .SRCINFO | 69 | ||||
-rw-r--r-- | MKPKG | 3 | ||||
-rw-r--r-- | PKGBUILD | 138 | ||||
-rw-r--r-- | Xsession | 73 | ||||
-rw-r--r-- | lightdm-autologin.pam | 13 | ||||
-rw-r--r-- | lightdm-default-config.patch | 40 | ||||
-rw-r--r-- | lightdm.install | 17 | ||||
-rw-r--r-- | lightdm.pam | 7 | ||||
-rw-r--r-- | lightdm.rules | 15 | ||||
-rw-r--r-- | lightdm.service | 14 | ||||
-rw-r--r-- | lightdm.tmpfiles | 1 |
11 files changed, 390 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO new file mode 100644 index 000000000000..0d66dc257bd8 --- /dev/null +++ b/.SRCINFO @@ -0,0 +1,69 @@ +pkgbase = lightdm-devel + pkgdesc = A lightweight display manager + pkgver = 1.15.0 + pkgrel = 1 + url = https://launchpad.net/lightdm + arch = i686 + arch = x86_64 + license = GPL3 + license = LGPL3 + makedepends = gobject-introspection + makedepends = gtk-doc + makedepends = intltool + makedepends = itstool + makedepends = libxklavier + makedepends = polkit + makedepends = qt4 + makedepends = qt5-base + makedepends = systemd + source = https://launchpad.net/lightdm/1.15/1.15.0/+download/lightdm-1.15.0.tar.xz + source = lightdm.service + source = lightdm.tmpfiles + source = lightdm.pam + source = lightdm-autologin.pam + source = lightdm.rules + source = lightdm-default-config.patch + source = Xsession + sha256sums = 1a8a4a4bf81a00e44fb57e13cff475b7cfedf94a09c2be544b04e3b372140c38 + sha256sums = 0d2adba25cdbe59e97ffd302083db9d5e23920780f41e04f64512cd6b633289a + sha256sums = b29521fbd7a48a8f60b93ecca3b30c30bcb71560de8033c8d39b25c22c6f696f + sha256sums = e8c4c5fd3b801a390d201166fd1fb9730e78a5c62928768103b870b6bd980ea0 + sha256sums = 33e3c3d6e16c8d30756754ea3f31f5457c5be0343686aad287692be34958984a + sha256sums = a89566307e1c81c24f037d854cbd472d2f94f8a4b759877a01563a332319f7d6 + sha256sums = ed3dca57ef19d32499b72668bc78eaff0d9e772718b76f3816c5ee5f816b1891 + sha256sums = 7fb85a1b54406032a922e8fd6f45d869fcfe5681df630e74e8e50c040b786ee4 + +pkgname = lightdm-devel + install = lightdm.install + depends = libxklavier + depends = polkit + depends = systemd + optdepends = xorg-server-xephyr: LightDM test mode + optdepends = accountsservice: limit visible accounts + provides = lightdm=1.15.0 + conflicts = lightdm + backup = etc/apparmor.d/lightdm-guest-session + backup = etc/lightdm/keys.conf + backup = etc/lightdm/lightdm.conf + backup = etc/lightdm/users.conf + backup = etc/lightdm/Xsession + backup = etc/pam.d/lightdm + backup = etc/pam.d/lightdm-autologin + backup = etc/pam.d/lightdm-greeter + +pkgname = liblightdm-qt4-devel + pkgdesc = LightDM Qt client library + depends = lightdm + depends = qt4 + provides = liblightdm-qt4 + conflicts = liblightdm-qt4 + options = !emptydirs + +pkgname = liblightdm-qt5-devel + pkgdesc = LightDM Qt client library + depends = lightdm + depends = qt5-base + provides = liblightdm-qt5 + conflicts = liblightdm-qt5 + options = !emptydirs + diff --git a/MKPKG b/MKPKG new file mode 100644 index 000000000000..8af9fc215f80 --- /dev/null +++ b/MKPKG @@ -0,0 +1,3 @@ +pkgname=('lightdm-devel') + +# vim: ts=2 sw=2 et: diff --git a/PKGBUILD b/PKGBUILD new file mode 100644 index 000000000000..f8cfd104a267 --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,138 @@ +# Maintainer: Maxime Gauduin <alucryd@archlinux.org> +# Contributor: padfoot <padfoot@exemail.com.au> +# Contributor: Morfeo <morfeo89@hotmail.it> + +pkgbase=lightdm-devel +pkgname=('lightdm-devel' 'liblightdm-qt4-devel' 'liblightdm-qt5-devel') +pkgver=1.15.0 +pkgrel=1 +pkgdesc='A lightweight display manager' +arch=('i686' 'x86_64') +url='https://launchpad.net/lightdm' +license=('GPL3' 'LGPL3') +makedepends=('gobject-introspection' 'gtk-doc' 'intltool' 'itstool' + 'libxklavier' 'polkit' 'qt4' 'qt5-base' 'systemd') +source=("https://launchpad.net/lightdm/${pkgver%.*}/${pkgver}/+download/lightdm-${pkgver}.tar.xz" + 'lightdm.service' + 'lightdm.tmpfiles' + 'lightdm.pam' + 'lightdm-autologin.pam' + 'lightdm.rules' + 'lightdm-default-config.patch' + 'Xsession') +sha256sums=('1a8a4a4bf81a00e44fb57e13cff475b7cfedf94a09c2be544b04e3b372140c38' + '0d2adba25cdbe59e97ffd302083db9d5e23920780f41e04f64512cd6b633289a' + 'b29521fbd7a48a8f60b93ecca3b30c30bcb71560de8033c8d39b25c22c6f696f' + 'e8c4c5fd3b801a390d201166fd1fb9730e78a5c62928768103b870b6bd980ea0' + '33e3c3d6e16c8d30756754ea3f31f5457c5be0343686aad287692be34958984a' + 'a89566307e1c81c24f037d854cbd472d2f94f8a4b759877a01563a332319f7d6' + 'ed3dca57ef19d32499b72668bc78eaff0d9e772718b76f3816c5ee5f816b1891' + '7fb85a1b54406032a922e8fd6f45d869fcfe5681df630e74e8e50c040b786ee4') + +prepare() { + cd lightdm-${pkgver} + + patch -Np1 -i ../lightdm-default-config.patch +} + +build() { + cd lightdm-${pkgver} + + export MOC4='moc-qt4' + export MOC5='moc-qt5' + + ./configure \ + --prefix='/usr' \ + --libexecdir='/usr/lib/lightdm' \ + --localstatedir='/var' \ + --sbindir='/usr/bin' \ + --sysconfdir='/etc' \ + --with-greeter-session='lightdm-gtk-greeter' \ + --with-greeter-user='lightdm' \ + --disable-static \ + --disable-tests + make +} + +package_lightdm-devel() { +depends=('libxklavier' 'polkit' 'systemd') +optdepends=('xorg-server-xephyr: LightDM test mode' + 'accountsservice: limit visible accounts') +provides=("lightdm=${pkgver}") +conflicts=('lightdm') +backup=('etc/apparmor.d/lightdm-guest-session' + 'etc/lightdm/keys.conf' + 'etc/lightdm/lightdm.conf' + 'etc/lightdm/users.conf' + 'etc/lightdm/Xsession' + 'etc/pam.d/lightdm' + 'etc/pam.d/lightdm-autologin' + 'etc/pam.d/lightdm-greeter') +install='lightdm.install' + + cd lightdm-${pkgver} + + make DESTDIR="${pkgdir}" install + make DESTDIR="${pkgdir}" -C liblightdm-qt uninstall + install -m 755 ../Xsession "${pkgdir}"/etc/lightdm/Xsession + rm -rf "${pkgdir}"/etc/init + rm -rf "${pkgdir}"/usr/include/lightdm-qt{,5}-* + + install -dm 755 "${pkgdir}"/var/cache/lightdm + install -dm 770 "${pkgdir}"/var/lib/lightdm{,-data} + install -dm 711 "${pkgdir}"/var/log/lightdm + chmod +t "${pkgdir}"/var/{cache/lightdm,lib/lightdm{,-data}} + echo 'GDK_CORE_DEVICE_EVENTS=true' > "${pkgdir}"/var/lib/lightdm/.pam_environment + chmod 644 "${pkgdir}"/var/lib/lightdm/.pam_environment + chown 620:620 -R "${pkgdir}"/var/lib/lightdm{,-data} + chgrp 620 "${pkgdir}"/var/log/lightdm + +# 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 -o polkitd "${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-devel() { +pkgdesc='LightDM Qt client library' +depends=('lightdm' 'qt4') +provides=('liblightdm-qt4') +conflicts=('liblightdm-qt4') +options=('!emptydirs') + + cd lightdm-${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-devel() { +pkgdesc='LightDM Qt client library' +depends=('lightdm' 'qt5-base') +provides=('liblightdm-qt5') +conflicts=('liblightdm-qt5') +options=('!emptydirs') + + cd lightdm-${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: diff --git a/Xsession b/Xsession new file mode 100644 index 000000000000..58920534254f --- /dev/null +++ b/Xsession @@ -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 $@ diff --git a/lightdm-autologin.pam b/lightdm-autologin.pam new file mode 100644 index 000000000000..0b1f79e3e665 --- /dev/null +++ b/lightdm-autologin.pam @@ -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 diff --git a/lightdm-default-config.patch b/lightdm-default-config.patch new file mode 100644 index 000000000000..32a8f8cd86f1 --- /dev/null +++ b/lightdm-default-config.patch @@ -0,0 +1,40 @@ +diff -rupN lightdm-1.11.9.orig/data/lightdm.conf lightdm-1.11.9/data/lightdm.conf +--- lightdm-1.11.9.orig/data/lightdm.conf 2014-09-14 12:55:09.591944064 +0200 ++++ lightdm-1.11.9/data/lightdm.conf 2014-09-14 12:58:13.396791044 +0200 +@@ -20,13 +20,13 @@ + #start-default-seat=true + #greeter-user=lightdm + #minimum-display-number=0 +-#minimum-vt=7 ++minimum-vt=1 + #lock-memory=true + #user-authority-in-system-dir=false + #guest-account-script=guest-account + #logind-check-graphical=false + #log-directory=/var/log/lightdm +-#run-directory=/var/run/lightdm ++run-directory=/run/lightdm + #cache-directory=/var/cache/lightdm + #sessions-directory=/usr/share/lightdm/sessions:/usr/share/xsessions + #remote-sessions-directory=/usr/share/lightdm/remote-sessions +@@ -101,7 +101,7 @@ + #allow-user-switching=true + #allow-guest=true + #guest-session= +-#session-wrapper=lightdm-session ++session-wrapper=/etc/lightdm/Xsession + #greeter-wrapper= + #guest-wrapper= + #display-setup-script= +diff -rupN lightdm-1.11.9.orig/data/users.conf lightdm-1.11.9/data/users.conf +--- lightdm-1.11.9.orig/data/users.conf 2014-09-14 12:55:09.591944064 +0200 ++++ lightdm-1.11.9/data/users.conf 2014-09-14 12:59:21.426117548 +0200 +@@ -9,6 +9,6 @@ + # hidden-shells = Shells that indicate a user cannot login + # + [UserList] +-minimum-uid=500 ++minimum-uid=1000 + hidden-users=nobody nobody4 noaccess +-hidden-shells=/bin/false /usr/sbin/nologin ++hidden-shells=/bin/false /usr/bin/nologin diff --git a/lightdm.install b/lightdm.install new file mode 100644 index 000000000000..5b9b01b96342 --- /dev/null +++ b/lightdm.install @@ -0,0 +1,17 @@ +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 /usr/bin/nologin lightdm + passwd -l lightdm > /dev/null + systemd-tmpfiles --create /usr/lib/tmpfiles.d/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: diff --git a/lightdm.pam b/lightdm.pam new file mode 100644 index 000000000000..76b8869a2515 --- /dev/null +++ b/lightdm.pam @@ -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 diff --git a/lightdm.rules b/lightdm.rules new file mode 100644 index 000000000000..eda155bf304e --- /dev/null +++ b/lightdm.rules @@ -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; + } + } +}); diff --git a/lightdm.service b/lightdm.service new file mode 100644 index 000000000000..9b22f034c5da --- /dev/null +++ b/lightdm.service @@ -0,0 +1,14 @@ +[Unit] +Description=Light Display Manager +Documentation=man:lightdm(1) +Conflicts=getty@tty1.service +After=systemd-user-sessions.service getty@tty1.service plymouth-quit.service + +[Service] +ExecStart=/usr/bin/lightdm +Restart=always +IgnoreSIGPIPE=no +BusName=org.freedesktop.DisplayManager + +[Install] +Alias=display-manager.service diff --git a/lightdm.tmpfiles b/lightdm.tmpfiles new file mode 100644 index 000000000000..d8ef132d3daa --- /dev/null +++ b/lightdm.tmpfiles @@ -0,0 +1 @@ +d /run/lightdm 0711 lightdm lightdm |