diff options
author | horsemanoffaith | 2016-09-11 22:09:43 -0700 |
---|---|---|
committer | horsemanoffaith | 2016-09-11 22:09:43 -0700 |
commit | 9e83d769dc2d41789a9ba10ce27b6af38d62beb1 (patch) | |
tree | 961af588eaf36dddd84aded86fa6f5be6e6bd568 | |
parent | 2b133dfad623abfe7e5da88a5793494aea949b89 (diff) | |
download | aur-9e83d769dc2d41789a9ba10ce27b6af38d62beb1.tar.gz |
update to version 1.19.3
-rw-r--r-- | .SRCINFO | 86 | ||||
-rw-r--r-- | 0001-guest-account-Add-default-GSettings-support.patch | 33 | ||||
-rw-r--r-- | PKGBUILD | 287 | ||||
-rw-r--r-- | Xsession | 64 | ||||
-rw-r--r-- | lightdm-autologin.pam | 3 | ||||
-rw-r--r-- | lightdm-default-config.patch | 40 | ||||
-rw-r--r-- | lightdm.install | 73 | ||||
-rw-r--r-- | lightdm.pam | 2 | ||||
-rw-r--r-- | lightdm.service | 11 | ||||
-rw-r--r-- | lightdm.tmpfiles | 1 |
10 files changed, 376 insertions, 224 deletions
@@ -1,52 +1,88 @@ pkgbase = lightdm-ubuntu pkgdesc = A lightweight display manager - pkgver = 1.18.0 + pkgver = 1.19.3 pkgrel = 1 url = https://launchpad.net/lightdm - install = lightdm.install arch = i686 arch = x86_64 groups = unity license = GPL3 license = LGPL3 - makedepends = gnome-common + makedepends = glib2 makedepends = gobject-introspection makedepends = gtk-doc - makedepends = gtk3-ubuntu makedepends = intltool + makedepends = itstool + makedepends = libgcrypt + makedepends = libx11 + makedepends = libxcb + makedepends = libxdmcp + makedepends = libxklavier + makedepends = pam + makedepends = polkit makedepends = qt4 makedepends = qt5-base - makedepends = yelp-tools + makedepends = vala + source = https://launchpad.net/ubuntu/+archive/primary/+files/lightdm_1.19.3-0ubuntu1.tar.gz + source = lightdm.service + source = lightdm.tmpfiles + source = lightdm.pam + source = lightdm-autologin.pam + source = lightdm.rules + source = lightdm-default-config.patch + source = Xsession + source = 0001-guest-account-Add-default-GSettings-support.patch + sha512sums = 4c43309a5f0520047108646dcc8c5ede6da5f1478fd2ed7df30da738efe36129b1c98ab1872391a04b64ccf38afc3d28f99137a92fa824b3d0e60838490e2c97 + sha512sums = d49344e79f6468ef06538068cbb12c37e313e02ade28984a75dad4d50e1e962372451908e9910ae60c74bd5230ae45e6a6346bb0f7c6af83c346a691f5714556 + sha512sums = c359dbea59d9a38faa244fc52fa7fbe2a099984bdaa015e38046abfef71ed4941230b86a238c1691f04bda6f7608f403e99b04018a7cd5b7217fa89fc703af9f + sha512sums = cb912013a294f0801b357a43f3e5313ffa9ac5fcc493b2318843983388eb0b839c84060a97c355e12ca03f3b056644aa4a2bb8a74ed73a0f2405816b8d6efdc0 + sha512sums = 61115380c8eb07b855c074f0c83f2f1f78a9c0ea0458cbb1e8cb1271db72e751ce6b54f80a591906c792f247cac463e8af2cc4707d3d6c1d43cb70e394fde104 + sha512sums = 8d6aa12c4d129c25e56ecf2904db4e294d46631d11bd8bec2f20a76c871ba758094abb24616d3d2038a684fbb736ee61d1f80697d525d62c4dc68113e101194f + sha512sums = 62ef6fd02664d539c6169000774978c9780156d1483fabf25474073c221dc2d943f21c81b5225030f9b375eab1a83ccdefaf289d4a40a71b1fe91397da7d1425 + sha512sums = 5e0f47e6d338e35548235dcfdb8b22622b749ffd69d5d6a4463021f51df0c679d1d78e0be17bbc072239d9916a027669aac9c6456afabe0ca3fde881b611b576 + sha512sums = 393ede18563aab484aace26c6c470b07e16f79025fec5eec03e0f1072e39316bc73a73d45da843c6b76f356e8b069fda66fa3863f39d1106dbf1f3ff7e4175a6 + +pkgname = lightdm-ubuntu + install = lightdm.install + depends = glib2 depends = libgcrypt + depends = libx11 depends = libxcb depends = libxdmcp depends = libxklavier + depends = pam + depends = polkit optdepends = accountsservice: DBus interface for querying user information + optdepends = bindfs: Used for guest session to avoid copying skeleton dotfiles optdepends = gnome-keyring: For pam_gnome_keyring.so in the greeter PAM config optdepends = gtk3: For using the GTK greeter - optdepends = lightdm-unity-greeter: Default Ubuntu 16.04 Greeter - provides = lightdm=1.18.0 + optdepends = lightdm-gtk-greeter: GTK greeter + optdepends = lightdm-kde-greeter: Qt greeter + optdepends = lightdm-unity-greeter: Default Ubuntu Greeter + provides = lightdm=1.19.3 conflicts = lightdm - options = emptydirs + backup = etc/apparmor.d/lightdm-guest-session backup = etc/lightdm/keys.conf backup = etc/lightdm/lightdm.conf backup = etc/lightdm/users.conf - source = https://launchpad.net/ubuntu/+archive/primary/+files/lightdm_1.18.0-0ubuntu1.tar.gz - source = lightdm.service - source = lightdm.tmpfiles.d - source = lightdm.pam - source = lightdm-autologin.pam - source = lightdm-greeter.pam - source = lightdm.rules - source = 0001-guest-account-Use-cross-distro-commands.patch - sha512sums = a0d203c0acdcd6bbc068341bea847d1b7a037b8d361357197933a2413438282da705e40b637f7cbc34aeeb0920d0518df1c5e6019ffae4c6cd33d59a743cf4d8 - sha512sums = 26bb333e58ee63a6a0d472bb0a7f9006b93c7de629780399b1dff4af3aaccea02aa74ed0410b8fa6ba55b285f7c7bb6180db059928feba56f779c5b8f3ba8b86 - sha512sums = 81a76a49eb208b1d33f5ac0184d87a377cd37c522d74a93ccd3d96b3d6e32c44872a65873b91fec3daba0846cdb5a938b51944697e636c045d03259bd5424644 - sha512sums = 1067bcb25b6d6d01256b176b5854d1ace700ba2b7323b4af257aa95d2f47d5043ac22811f65e99f1e961772cd1e81c153ef69b162918827bd9d7d50d458908df - sha512sums = 6f59d97515b37d53fb4f56de0f65994710e02c197c6d4c096aa7cdb9fe518d29223960018ae4ad8003056fed3210f47f3aa459c85b8efca80089f2046196892c - sha512sums = 3b482f7e551df20a5c5d9331a420275d1dad5bb6aad287247baea82dc40dc31dca22db4da180fbb950865e37cf94f1737fa1ee7ec2f5233540f82f2f570a408b - sha512sums = 8d6aa12c4d129c25e56ecf2904db4e294d46631d11bd8bec2f20a76c871ba758094abb24616d3d2038a684fbb736ee61d1f80697d525d62c4dc68113e101194f - sha512sums = 67c32e5d0865efd6d8a8bad42efa52eaa36ad4ec5c31e083edb908a5ef5ff489905ca34a46714d83e2875dcc5c96606d63d1c42fad3e555b48cbc6bd9f559ead + backup = etc/lightdm/Xsession + backup = etc/pam.d/lightdm + backup = etc/pam.d/lightdm-autologin + backup = etc/pam.d/lightdm-greeter -pkgname = lightdm-ubuntu +pkgname = liblightdm-qt4-ubuntu + pkgdesc = LightDM Qt4 client library + depends = lightdm-ubuntu + depends = qt4 + provides = liblightdm-qt4=1.19.3 + conflicts = liblightdm-qt4 + options = !emptydirs + +pkgname = liblightdm-qt5-ubuntu + pkgdesc = LightDM Qt5 client library + depends = lightdm-ubuntu + depends = qt5-base + provides = liblightdm-qt5=1.19.3 + conflicts = liblightdm-qt5 + options = !emptydirs diff --git a/0001-guest-account-Add-default-GSettings-support.patch b/0001-guest-account-Add-default-GSettings-support.patch new file mode 100644 index 000000000000..18b8d62c60b0 --- /dev/null +++ b/0001-guest-account-Add-default-GSettings-support.patch @@ -0,0 +1,33 @@ +From 225320fe7d992e5452a3342ed36b9beca36395ec Mon Sep 17 00:00:00 2001 +From: Xiao-Long Chen <chenxiaolong@cxl.epac.to> +Date: Sun, 13 Apr 2014 01:02:42 -0400 +Subject: [PATCH] guest-account: Add default GSettings support + +--- + debian/guest-account.sh | 10 ++++++++++ + 1 file changed, 10 insertions(+) + +diff --git a/debian/guest-account.sh b/debian/guest-account.sh +index 675eb77..f5552bc 100644 +--- a/debian/guest-account.sh ++++ b/debian/guest-account.sh +@@ -132,6 +132,16 @@ add_account () + chown -R ${GUEST_USER}:${GUEST_USER} ${GUEST_HOME} + fi + ++ # Load default dconf settings ++ mkdir -p "${GUEST_HOME}/.config/" "${GUEST_HOME}/.cache/" ++ chown -R ${GUEST_USER}:${GUEST_USER} "${GUEST_HOME}/.config/" "${GUEST_HOME}/.cache/" ++ if [ -d /etc/guest-session/gsettings/ ]; then ++ for i in /etc/guest-session/gsettings/*; do ++ cat "${i}" | sed '/^\[.*\]$/ s/\./\//g' | \ ++ su - ${GUEST_USER} -c 'dbus-launch dconf load /' ++ done ++ fi ++ + # setup session + su ${GUEST_USER} -c "env HOME=${GUEST_HOME} site_gs=${site_gs} ${dist_gs}/setup.sh" + +-- +2.7.0 + @@ -1,16 +1,13 @@ -# Maintainer: Michael Healy <horsemanoffaith@gmail.com> - -# This package no longer depends on a specific toolkit. It will build the GTK and -# Qt libraries and recommend the installation of those respective tookits using -# optdepends. +# Maintainer: Xiao-Long Chen <chenxiaolong@cxl.epac.to> # vercheck-pkgbuild: auto -# vercheck-ubuntu: name=${pkgname%-*}, repo=xenial +# vercheck-ubuntu: name=${pkgname%-*}, repo=yakkety # vercheck-launchpad: name=${pkgname%-*} -pkgname=lightdm-ubuntu +pkgbase=lightdm-ubuntu +pkgname=(lightdm-ubuntu liblightdm-qt4-ubuntu liblightdm-qt5-ubuntu) _ubuntu_rel=0ubuntu1 -pkgver=1.18.0 +pkgver=1.19.3 pkgrel=1 pkgdesc="A lightweight display manager" arch=(i686 x86_64) @@ -18,140 +15,178 @@ url="https://launchpad.net/lightdm" # Libraries are LGPLv3+, everything else is GPLv3+ license=(GPL3 LGPL3) groups=(unity) -depends=(libgcrypt libxcb libxdmcp libxklavier) -# Useful dependencies, but not required -#depends=('gnome-themes-standard' 'gnome-backgrounds' 'gnome-icon-theme' 'webkitgtk3') -makedepends=(gnome-common gobject-introspection gtk-doc gtk3-ubuntu intltool qt4 qt5-base yelp-tools) -optdepends=('accountsservice: DBus interface for querying user information' - 'gnome-keyring: For pam_gnome_keyring.so in the greeter PAM config' - 'gtk3: For using the GTK greeter' - 'lightdm-unity-greeter: Default Ubuntu 16.04 Greeter') -provides=("lightdm=${pkgver}") -conflicts=(lightdm) -options=(emptydirs) -backup=(etc/lightdm/keys.conf - etc/lightdm/lightdm.conf - etc/lightdm/users.conf) -install=lightdm.install +makedepends=(glib2 gobject-introspection gtk-doc intltool itstool libgcrypt + libx11 libxcb libxdmcp libxklavier pam polkit qt4 qt5-base vala) source=("https://launchpad.net/ubuntu/+archive/primary/+files/lightdm_${pkgver}-${_ubuntu_rel}.tar.gz" lightdm.service - lightdm.tmpfiles.d + lightdm.tmpfiles lightdm.pam lightdm-autologin.pam - lightdm-greeter.pam lightdm.rules - 0001-guest-account-Use-cross-distro-commands.patch) -sha512sums=('a0d203c0acdcd6bbc068341bea847d1b7a037b8d361357197933a2413438282da705e40b637f7cbc34aeeb0920d0518df1c5e6019ffae4c6cd33d59a743cf4d8' - '26bb333e58ee63a6a0d472bb0a7f9006b93c7de629780399b1dff4af3aaccea02aa74ed0410b8fa6ba55b285f7c7bb6180db059928feba56f779c5b8f3ba8b86' - '81a76a49eb208b1d33f5ac0184d87a377cd37c522d74a93ccd3d96b3d6e32c44872a65873b91fec3daba0846cdb5a938b51944697e636c045d03259bd5424644' - '1067bcb25b6d6d01256b176b5854d1ace700ba2b7323b4af257aa95d2f47d5043ac22811f65e99f1e961772cd1e81c153ef69b162918827bd9d7d50d458908df' - '6f59d97515b37d53fb4f56de0f65994710e02c197c6d4c096aa7cdb9fe518d29223960018ae4ad8003056fed3210f47f3aa459c85b8efca80089f2046196892c' - '3b482f7e551df20a5c5d9331a420275d1dad5bb6aad287247baea82dc40dc31dca22db4da180fbb950865e37cf94f1737fa1ee7ec2f5233540f82f2f570a408b' + lightdm-default-config.patch + Xsession + 0001-guest-account-Add-default-GSettings-support.patch) +sha512sums=('4c43309a5f0520047108646dcc8c5ede6da5f1478fd2ed7df30da738efe36129b1c98ab1872391a04b64ccf38afc3d28f99137a92fa824b3d0e60838490e2c97' + 'd49344e79f6468ef06538068cbb12c37e313e02ade28984a75dad4d50e1e962372451908e9910ae60c74bd5230ae45e6a6346bb0f7c6af83c346a691f5714556' + 'c359dbea59d9a38faa244fc52fa7fbe2a099984bdaa015e38046abfef71ed4941230b86a238c1691f04bda6f7608f403e99b04018a7cd5b7217fa89fc703af9f' + 'cb912013a294f0801b357a43f3e5313ffa9ac5fcc493b2318843983388eb0b839c84060a97c355e12ca03f3b056644aa4a2bb8a74ed73a0f2405816b8d6efdc0' + '61115380c8eb07b855c074f0c83f2f1f78a9c0ea0458cbb1e8cb1271db72e751ce6b54f80a591906c792f247cac463e8af2cc4707d3d6c1d43cb70e394fde104' '8d6aa12c4d129c25e56ecf2904db4e294d46631d11bd8bec2f20a76c871ba758094abb24616d3d2038a684fbb736ee61d1f80697d525d62c4dc68113e101194f' - '67c32e5d0865efd6d8a8bad42efa52eaa36ad4ec5c31e083edb908a5ef5ff489905ca34a46714d83e2875dcc5c96606d63d1c42fad3e555b48cbc6bd9f559ead') + '62ef6fd02664d539c6169000774978c9780156d1483fabf25474073c221dc2d943f21c81b5225030f9b375eab1a83ccdefaf289d4a40a71b1fe91397da7d1425' + '5e0f47e6d338e35548235dcfdb8b22622b749ffd69d5d6a4463021f51df0c679d1d78e0be17bbc072239d9916a027669aac9c6456afabe0ca3fde881b611b576' + '393ede18563aab484aace26c6c470b07e16f79025fec5eec03e0f1072e39316bc73a73d45da843c6b76f356e8b069fda66fa3863f39d1106dbf1f3ff7e4175a6') prepare() { - cd "lightdm-${pkgver}" - - #patch -p1 -i "../lightdm_${pkgver}-${_ubuntu_rel}.diff" + cd "lightdm-${pkgver}" - # Apply Ubuntu patches + patch -p1 -i "${srcdir}"/lightdm-default-config.patch - # Disable patches # Do not use Ubuntu's language-tools - sed -i '/04_language_handling.patch/d' debian/patches/series + sed -i '/04_language_handling.patch/d' debian/patches/series - for i in $(grep -v '#' debian/patches/series); do - patch -p1 -i "debian/patches/${i}" - done + for i in $(grep -v '#' debian/patches/series); do + patch -p1 -i "debian/patches/${i}" + done - # Do not depend on Debian/Ubuntu specific adduser package - patch -p1 -i ../0001-guest-account-Use-cross-distro-commands.patch + # Add support for settings GSettings/dconf defaults in the guest session. Just + # put the files in /etc/guest-session/gsettings/. The file format is the same + # as the regular GSettings override files. + patch -p1 -i ../0001-guest-account-Add-default-GSettings-support.patch } build() { - cd "lightdm-${pkgver}" - - export MOC4=moc-qt4 - export MOC5=moc-qt5 - - gtkdocize - aclocal --install --force - autoreconf -vfi - intltoolize -f - - ./configure \ - --prefix=/usr \ - --sysconfdir=/etc \ - --sbindir=/usr/bin \ - --disable-static \ - --libexecdir=/usr/lib/lightdm \ - --localstatedir=/var \ - --with-user-session=ubuntu \ - --with-greeter-user=lightdm - - make + cd "lightdm-${pkgver}" + + export MOC4=moc-qt4 + export MOC5=moc-qt5 + + gtkdocize + aclocal --install --force + autoreconf -vfi + intltoolize -f + + ./configure \ + --prefix=/usr \ + --libexecdir=/usr/lib/lightdm \ + --localstatedir=/var \ + --sbindir=/usr/bin \ + --sysconfdir=/etc \ + --with-greeter-user=lightdm \ + --with-greeter-session=lightdm-gtk-greeter \ + --with-user-session=ubuntu \ + --disable-static \ + --disable-tests + + make +} + +package_lightdm-ubuntu() { + depends=(glib2 libgcrypt libx11 libxcb libxdmcp libxklavier pam polkit) + optdepends=('accountsservice: DBus interface for querying user information' + 'bindfs: Used for guest session to avoid copying skeleton dotfiles' + 'gnome-keyring: For pam_gnome_keyring.so in the greeter PAM config' + 'gtk3: For using the GTK greeter' + 'lightdm-gtk-greeter: GTK greeter' + 'lightdm-kde-greeter: Qt greeter' + 'lightdm-unity-greeter: Default Ubuntu Greeter') + 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 -m755 ../Xsession "${pkgdir}"/etc/lightdm/Xsession + rm -rf "${pkgdir}"/etc/init + rm -rf "${pkgdir}"/usr/include/lightdm-qt{,5}-* + + install -dm755 "${pkgdir}"/var/cache/lightdm + install -dm770 "${pkgdir}"/var/lib/lightdm{,-data} + install -dm711 "${pkgdir}"/var/log/lightdm + chmod +t "${pkgdir}"/var/{cache/lightdm,lib/lightdm{,-data}} + chown 620:620 -R "${pkgdir}"/var/lib/lightdm{,-data} + chgrp 620 "${pkgdir}"/var/log/lightdm + + # PAM + install -m644 ../lightdm.pam "${pkgdir}"/etc/pam.d/lightdm + install -m644 ../lightdm-autologin.pam "${pkgdir}"/etc/pam.d/lightdm-autologin + + # PolicyKit + install -dm750 -g102 "${pkgdir}"/usr/share/polkit-1/rules.d + install -m644 ../lightdm.rules "${pkgdir}"/usr/share/polkit-1/rules.d/lightdm.rules + + # Systemd + install -dm755 "${pkgdir}"/usr/lib/{systemd/system,tmpfiles.d} + install -m644 ../lightdm.service "${pkgdir}"/usr/lib/systemd/system/lightdm.service + install -m644 ../lightdm.tmpfiles "${pkgdir}"/usr/lib/tmpfiles.d/lightdm.conf + + # Additional LightDM configuration files + install -dm755 "${pkgdir}"/etc/lightdm/lightdm.conf.d/ + install -m644 debian/50-{xserver-command,greeter-wrapper,guest-wrapper,disable-log-backup}.conf \ + "${pkgdir}"/etc/lightdm/lightdm.conf.d/ + + # Install binaries and scripts + install -dm755 "${pkgdir}"/usr/bin/ + install -m755 debian/guest-account.sh "${pkgdir}"/usr/bin/guest-account + install -m755 debian/guest-session-auto.sh "${pkgdir}"/usr/lib/lightdm/ + install -m755 debian/lightdm-session "${pkgdir}"/usr/bin/ + install -m755 debian/lightdm-greeter-session "${pkgdir}"/usr/lib/lightdm/ + install -m755 debian/config-error-dialog.sh "${pkgdir}"/usr/lib/lightdm/ + + # Skeleton files for guest account + install -dm755 "${pkgdir}"/usr/share/lightdm/guest-session/skel/.config/autostart/ + install -m644 debian/guest-session-startup.desktop \ + "${pkgdir}"/usr/share/lightdm/guest-session/skel/.config/autostart/ + install -m755 debian/guest-session-setup.sh \ + "${pkgdir}"/usr/share/lightdm/guest-session/setup.sh + + # Create GSettings defaults directory + install -dm755 "${pkgdir}"/etc/guest-session/gsettings/ + + # Remove apparmor stuff + rm -rvf "${pkgdir}"/etc/apparmor.d/ +} + +package_liblightdm-qt4-ubuntu() { + pkgdesc='LightDM Qt4 client library' + depends=(lightdm-ubuntu qt4) + provides=("liblightdm-qt4=${pkgver}") + 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() { - cd "lightdm-${pkgver}" - make DESTDIR="${pkgdir}/" install - - install -dm755 "${pkgdir}/usr/lib/systemd/system/" - - # Additional LightDM configuration files - install -dm755 "${pkgdir}"/etc/lightdm/lightdm.conf.d/ - install -m644 debian/50-{xserver-command,greeter-wrapper,guest-wrapper}.conf \ - "${pkgdir}"/etc/lightdm/lightdm.conf.d/ - - # Install PAM service - install -dm755 "${pkgdir}"/etc/pam.d/ - install -m644 "${srcdir}"/lightdm.pam "${pkgdir}"/etc/pam.d/lightdm - install -m644 "${srcdir}"/lightdm-autologin.pam \ - "${pkgdir}"/etc/pam.d/lightdm-autologin - install -m644 "${srcdir}"/lightdm-greeter.pam \ - "${pkgdir}"/etc/pam.d/lightdm-greeter - - # Install configuration files - install -dm755 "${pkgdir}"/usr/share/doc/lightdm/ - install -m644 "${pkgdir}"/etc/lightdm/lightdm.conf \ - "${pkgdir}"/usr/share/doc/lightdm/ - install -m644 "${pkgdir}"/etc/lightdm/keys.conf \ - "${pkgdir}"/usr/share/doc/lightdm/ - - # Install binaries and scripts - install -dm755 "${pkgdir}"/usr/bin/ - install -m755 debian/guest-account.sh "${pkgdir}"/usr/bin/guest-account - install -m755 debian/lightdm-session "${pkgdir}"/usr/bin/ - install -m755 debian/lightdm-greeter-session "${pkgdir}"/usr/lib/lightdm/ - install -m755 debian/config-error-dialog.sh "${pkgdir}"/usr/lib/lightdm/ - - # Install systemd service - install -m644 "${srcdir}"/lightdm.service "${pkgdir}"/usr/lib/systemd/system/ - - # Install systemd tmpfiles.d file - install -dm755 "${pkgdir}"/usr/lib/tmpfiles.d/ - install -m644 "${srcdir}"/lightdm.tmpfiles.d \ - "${pkgdir}"/usr/lib/tmpfiles.d/lightdm.conf - - # Install PolicyKit rules from Fedora which allow the lightdm user to access - # the systemd-logind, consolekit, and upower DBus interfaces - install -dm700 "${pkgdir}"/usr/share/polkit-1/rules.d/ - install -m644 "${srcdir}"/lightdm.rules \ - "${pkgdir}"/usr/share/polkit-1/rules.d/ - - # Configuration settings that differ from Ubuntu - sed -i \ - -e 's/^\(minimum-uid=\).*$/\11000/g' \ - -e 's@/usr\(/sbin/nologin\)$@\1@g' \ - "${pkgdir}"/etc/lightdm/users.conf - - # Configuration files specific to Ubuntu - rm -rvf "${pkgdir}"/etc/init/ - - # Create GSettings defaults directory - install -dm755 "${pkgdir}"/etc/guest-session/gsettings/ - - # Remove apparmor stuff - rm -rvf "${pkgdir}"/etc/apparmor.d/ +package_liblightdm-qt5-ubuntu() { + pkgdesc='LightDM Qt5 client library' + depends=(lightdm-ubuntu qt5-base) + provides=("liblightdm-qt5=${pkgver}") + 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 {} + } diff --git a/Xsession b/Xsession new file mode 100644 index 000000000000..4a2a25ea118d --- /dev/null +++ b/Xsession @@ -0,0 +1,64 @@ +#!/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 -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 + +# Run user xsession shell script +script="$HOME/.xsession" +if [ -x "$script" -a ! -d "$script" ]; then + echo "Loading xsession script $script" + . "$script" +fi + +echo "X session wrapper complete, running session $@" + +exec $@ diff --git a/lightdm-autologin.pam b/lightdm-autologin.pam index bdb87ea9804e..0b1f79e3e665 100644 --- a/lightdm-autologin.pam +++ b/lightdm-autologin.pam @@ -3,10 +3,11 @@ 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_ck_connector.so -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..a92e56c41926 --- /dev/null +++ b/lightdm-default-config.patch @@ -0,0 +1,40 @@ +diff -rupN lightdm-1.16.7.orig/data/lightdm.conf lightdm-1.16.7/data/lightdm.conf +--- lightdm-1.16.7.orig/data/lightdm.conf 2016-02-07 10:44:47.229197400 +0100 ++++ lightdm-1.16.7/data/lightdm.conf 2016-02-07 10:47:36.011855600 +0100 +@@ -21,13 +21,13 @@ + #start-default-seat=true + #greeter-user=lightdm + #minimum-display-number=0 +-#minimum-vt=7 ++#minimum-vt=7 # Setting this to a value < 7 implies security issues, see FS#46799 + #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:/usr/share/wayland-sessions + #remote-sessions-directory=/usr/share/lightdm/remote-sessions +@@ -110,7 +110,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.16.7.orig/data/users.conf lightdm-1.16.7/data/users.conf +--- lightdm-1.16.7.orig/data/users.conf 2016-02-07 10:44:47.224423000 +0100 ++++ lightdm-1.16.7/data/users.conf 2016-02-07 10:44:53.660216200 +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 index ce36d4b27137..c130f4771ccc 100644 --- a/lightdm.install +++ b/lightdm.install @@ -1,72 +1,17 @@ -# The UID and GID for the lightdm package in [community] is 620 (for whatever -# reason), so we'll keep that - post_install() { - if ! getent group lightdm >/dev/null; then - groupadd -g 620 lightdm - fi - - if ! getent passwd lightdm >/dev/null; then - useradd -u 620 -c "Light Display Manager" -g lightdm -d /var/lib/lightdm -s /sbin/nologin lightdm - fi - - if ! getent group nopasswdlogin >/dev/null; then - groupadd --system nopasswdlogin - fi - - if [ ! -d /var/lib/lightdm ]; then - mkdir -p /var/lib/lightdm - fi - - chown -R lightdm:lightdm /var/lib/lightdm - chmod -R 0750 /var/lib/lightdm - - systemd-tmpfiles --create /usr/lib/tmpfiles.d/lightdm.conf -} - -post_upgrade() { - if getent group lightdm >/dev/null; then - if [ "x$(id -g lightdm 2>/dev/null)" != "x620" ]; then - userdel lightdm &>/dev/null || : - groupdel lightdm &>/dev/null || : - groupadd -g 620 lightdm + if ! getent group lightdm &>/dev/null; then + groupadd -g 620 lightdm fi - fi - if ! getent passwd lightdm >/dev/null; then - if [ "x$(id -u lightdm 2>/dev/null)" != "x620" ]; then - userdel lightdm &>/dev/null || : - useradd -u 620 -c "Light Display Manager" -g lightdm -d /var/lib/lightdm -s /sbin/nologin lightdm + if ! getent passwd lightdm &>/dev/null; then + useradd -c 'Light Display Manager' -u 620 -g lightdm -d /var/lib/lightdm -s /usr/bin/nologin lightdm fi - fi - - chown -R lightdm:lightdm /var/lib/lightdm - chmod -R 0750 /var/lib/lightdm -} - -post_remove() { - rm -f /etc/lightdm.conf - if [ -d /var/lib/lightdm ]; then - rm -r /var/lib/lightdm - fi + passwd -l lightdm > /dev/null - if [ -d /var/log/lightdm ]; then - rm -r /var/log/lightdm - fi - - if [ -d /var/cache/lightdm ]; then - rm -r /var/cache/lightdm - fi - - if [ -d /var/run/lightdm/authority ]; then - rm -r /var/run/lightdm/authority - fi + systemd-tmpfiles --create /usr/lib/tmpfiles.d/lightdm.conf +} - if getent passwd lightdm >/dev/null; then - userdel -r -f lightdm - fi - if getent group lightdm >/dev/null; then - groupdel lightdm - fi +post_upgrade() { + post_install } diff --git a/lightdm.pam b/lightdm.pam index 21b6e1695b54..76b8869a2515 100644 --- a/lightdm.pam +++ b/lightdm.pam @@ -1,9 +1,7 @@ #%PAM-1.0 auth include system-login -auth sufficient pam_succeed_if.so user ingroup nopasswdlogin -auth optional pam_gnome_keyring.so account include system-login password include system-login session include system-login --session optional pam_ck_connector.so -session optional pam_gnome_keyring.so auto_start diff --git a/lightdm.service b/lightdm.service index a24003998099..4a793031be3a 100644 --- a/lightdm.service +++ b/lightdm.service @@ -1,13 +1,12 @@ [Unit] -Description=LightDM Display Manager +Description=Light Display Manager Documentation=man:lightdm(1) -After=systemd-user-sessions.service +Conflicts=getty@tty1.service +After=getty@tty1.service systemd-user-sessions.service plymouth-quit.service acpid.service [Service] -ExecStart=/usr/sbin/lightdm -StandardOutput=syslog -# Don't want a continuous loop if X fails to start -#Restart=always +ExecStart=/usr/bin/lightdm +Restart=always IgnoreSIGPIPE=no BusName=org.freedesktop.DisplayManager 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 |