diff options
author | Solomon Choina | 2017-12-18 14:45:25 -0500 |
---|---|---|
committer | Solomon Choina | 2017-12-18 14:45:25 -0500 |
commit | 62e2118ed423d7d2328038cbdfca5c88376dbf52 (patch) | |
tree | 4ff9d5e8fb60aa41e46bde7e52ec2787783c2ee1 | |
download | aur-62e2118ed423d7d2328038cbdfca5c88376dbf52.tar.gz |
initial commit
-rw-r--r-- | .SRCINFO | 73 | ||||
-rw-r--r-- | PKGBUILD | 145 | ||||
-rw-r--r-- | Xsession | 73 | ||||
-rw-r--r-- | lightdm-autologin.pam | 13 | ||||
-rw-r--r-- | lightdm-default-config.patch | 24 | ||||
-rw-r--r-- | lightdm.install | 18 | ||||
-rw-r--r-- | lightdm.pam | 7 | ||||
-rw-r--r-- | lightdm.rules | 15 | ||||
-rw-r--r-- | lightdm.service | 14 | ||||
-rw-r--r-- | lightdm.tmpfiles | 1 |
10 files changed, 383 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO new file mode 100644 index 000000000000..d03528688c52 --- /dev/null +++ b/.SRCINFO @@ -0,0 +1,73 @@ +# Generated by mksrcinfo v8 +# Mon Dec 18 19:45:15 UTC 2017 +pkgbase = lightdm-git + pkgdesc = A lightweight display manager + pkgver = 1.25.0.r25.g666ea0d6 + pkgrel = 1 + url = https://launchpad.net/lightdm + arch = i686 + arch = x86_64 + license = GPL3 + license = LGPL3 + makedepends = git + makedepends = gobject-introspection + makedepends = gtk-doc + makedepends = intltool + makedepends = itstool + makedepends = libxklavier + makedepends = polkit + makedepends = qt4 + makedepends = qt5-base + makedepends = systemd + makedepends = yelp-tools + source = git+https://github.com/CanonicalLtd/lightdm + source = lightdm.service + source = lightdm.tmpfiles + source = lightdm.pam + source = lightdm-autologin.pam + source = lightdm.rules + source = lightdm-default-config.patch + source = Xsession + sha256sums = SKIP + sha256sums = 0d2adba25cdbe59e97ffd302083db9d5e23920780f41e04f64512cd6b633289a + sha256sums = b29521fbd7a48a8f60b93ecca3b30c30bcb71560de8033c8d39b25c22c6f696f + sha256sums = e8c4c5fd3b801a390d201166fd1fb9730e78a5c62928768103b870b6bd980ea0 + sha256sums = 33e3c3d6e16c8d30756754ea3f31f5457c5be0343686aad287692be34958984a + sha256sums = a89566307e1c81c24f037d854cbd472d2f94f8a4b759877a01563a332319f7d6 + sha256sums = f1c4d1f29ac9f8aabe957d48a41be54d3a81c90360530b1061cbd13a6591315f + sha256sums = 7fb85a1b54406032a922e8fd6f45d869fcfe5681df630e74e8e50c040b786ee4 + +pkgname = lightdm-git + install = lightdm.install + depends = libxklavier + depends = polkit + depends = systemd + optdepends = xorg-server-xephyr: LightDM test mode + optdepends = accountsservice: limit visible accounts + provides = lightdm + 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-git + pkgdesc = LightDM Qt client library + depends = lightdm + depends = qt4 + provides = liblightdm-qt4 + conflicts = liblightdm-qt4 + options = !emptydirs + +pkgname = liblightdm-qt5-git + pkgdesc = LightDM Qt client library + depends = lightdm + depends = qt5-base + provides = liblightdm-qt5 + conflicts = liblightdm-qt5 + options = !emptydirs + diff --git a/PKGBUILD b/PKGBUILD new file mode 100644 index 000000000000..66f73db91ff1 --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,145 @@ +# Maintainer: Frederic Bezies <fredbezies at gmail dot com> +# Contributor: Maxime Gauduin <alucryd@archlinux.org> +# Contributor: eworm <arch@eworm.de> +# Contributor: pisuka <tekmon@gmail.com> + +pkgbase=lightdm-git +pkgname=('lightdm-git' 'liblightdm-qt4-git' 'liblightdm-qt5-git') +pkgver=1.25.0.r25.g666ea0d6 +pkgrel=1 +pkgdesc='A lightweight display manager' +arch=('i686' 'x86_64') +url='https://launchpad.net/lightdm' +license=('GPL3' 'LGPL3') +makedepends=('git' 'gobject-introspection' 'gtk-doc' 'intltool' 'itstool' + 'libxklavier' 'polkit' 'qt4' 'qt5-base' 'systemd' 'yelp-tools') +source=("git+https://github.com/CanonicalLtd/lightdm" + 'lightdm.service' + 'lightdm.tmpfiles' + 'lightdm.pam' + 'lightdm-autologin.pam' + 'lightdm.rules' + 'lightdm-default-config.patch' + 'Xsession') +sha256sums=('SKIP' + '0d2adba25cdbe59e97ffd302083db9d5e23920780f41e04f64512cd6b633289a' + 'b29521fbd7a48a8f60b93ecca3b30c30bcb71560de8033c8d39b25c22c6f696f' + 'e8c4c5fd3b801a390d201166fd1fb9730e78a5c62928768103b870b6bd980ea0' + '33e3c3d6e16c8d30756754ea3f31f5457c5be0343686aad287692be34958984a' + 'a89566307e1c81c24f037d854cbd472d2f94f8a4b759877a01563a332319f7d6' + 'f1c4d1f29ac9f8aabe957d48a41be54d3a81c90360530b1061cbd13a6591315f' + '7fb85a1b54406032a922e8fd6f45d869fcfe5681df630e74e8e50c040b786ee4') + +pkgver() { + cd $srcdir/lightdm + + git describe --long --tags | sed 's/\([^-]*-g\)/r\1/;s/-/./g' +} + +prepare() { + cd $srcdir/lightdm + + patch -Np1 -i ../lightdm-default-config.patch +} + +build() { + cd $srcdir/lightdm + + export MOC4='moc-qt4' + export MOC5='moc-qt5' + + ./autogen.sh \ + --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-git() { +depends=('libxklavier' 'polkit' 'systemd') +optdepends=('xorg-server-xephyr: LightDM test mode' + 'accountsservice: limit visible accounts') +provides=('lightdm') +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 $srcdir/lightdm + + 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-git() { +pkgdesc='LightDM Qt client library' +depends=('lightdm' 'qt4') +provides=('liblightdm-qt4') +conflicts=('liblightdm-qt4') +options=('!emptydirs') + + cd $srcdir/lightdm + + 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-git() { +pkgdesc='LightDM Qt client library' +depends=('lightdm' 'qt5-base') +provides=('liblightdm-qt5') +conflicts=('liblightdm-qt5') +options=('!emptydirs') + + cd $srcdir/lightdm + + 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..5ae2362ed855 --- /dev/null +++ b/lightdm-default-config.patch @@ -0,0 +1,24 @@ +diff -rupN lightdm.orig/data/lightdm.conf lightdm/data/lightdm.conf +--- lightdm.orig/data/lightdm.conf 2015-01-26 09:13:52.171349086 +0100 ++++ lightdm/data/lightdm.conf 2015-01-26 09:19:19.614233921 +0100 +@@ -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.orig/data/users.conf lightdm/data/users.conf +--- lightdm.orig/data/users.conf 2015-01-26 09:13:52.171349086 +0100 ++++ lightdm/data/users.conf 2015-01-26 09:19:50.269899299 +0100 +@@ -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..0339c65762bc --- /dev/null +++ b/lightdm.install @@ -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 /usr/bin/nologin lightdm + passwd -l lightdm > /dev/null + systemd-tmpfiles --create /usr/lib/tmpfiles.d/lightdm.conf + chown lightdm:lightdm /var/log/lightdm > /dev/null +} + +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 |