Add lightdm and KDE greeter
authorRobert Piasek <dagger@gentoo.org>
Mon, 23 Apr 2012 11:53:40 +0000 (12:53 +0100)
committerRobert Piasek <dagger@gentoo.org>
Mon, 23 Apr 2012 11:53:40 +0000 (12:53 +0100)
12 files changed:
x11-misc/lightdm-kde-greeter/Manifest [new file with mode: 0644]
x11-misc/lightdm-kde-greeter/lightdm-kde-greeter-0.1.0.ebuild [new file with mode: 0644]
x11-misc/lightdm-kde-greeter/metadata.xml [new file with mode: 0644]
x11-misc/lightdm/Manifest [new file with mode: 0644]
x11-misc/lightdm/files/Xsession [new file with mode: 0644]
x11-misc/lightdm/files/lightdm [new file with mode: 0644]
x11-misc/lightdm/files/lightdm-1.0.6-pkglibexec.patch [new file with mode: 0644]
x11-misc/lightdm/files/lightdm-1.2.0-fix-configure.patch [new file with mode: 0644]
x11-misc/lightdm/files/lightdm-autologin [new file with mode: 0644]
x11-misc/lightdm/files/session-wrapper-lightdm.patch [new file with mode: 0644]
x11-misc/lightdm/lightdm-1.2.0.ebuild [new file with mode: 0644]
x11-misc/lightdm/metadata.xml [new file with mode: 0644]

diff --git a/x11-misc/lightdm-kde-greeter/Manifest b/x11-misc/lightdm-kde-greeter/Manifest
new file mode 100644 (file)
index 0000000..00a2afb
--- /dev/null
@@ -0,0 +1,3 @@
+DIST lightdm-kde-0.1.0.tar.bz2 1332328 RMD160 d3ad92824133810f686767cc33d07ad4e1e64e90 SHA1 704e661abb95bf86a9abf49d4544d072b4e8d5a8 SHA256 828a9bcc568c1ad3c73c07ba5ae944480dc8cccfb554a7872fc1040cf825ab7a
+EBUILD lightdm-kde-greeter-0.1.0.ebuild 482 RMD160 69097c998349f62fdd0aef2d4afb60bf848bd812 SHA1 3fbda60db23afbf81652432b04da246f5d4fcbed SHA256 50c50327a3fcf531f33f048fd3e3bef10a5f52f51e1b905c3b53b0f0054ebdd0
+MISC metadata.xml 274 RMD160 ae28ff6638557ed97b9947b13886e263e06ef276 SHA1 c81e74c4d3ae8698717ae4c45fc3b44c840fe60d SHA256 e432f84f1603c8b8b7fca3f8f5ddfbdabae0a1cf26e77f78b87a56158ad12373
diff --git a/x11-misc/lightdm-kde-greeter/lightdm-kde-greeter-0.1.0.ebuild b/x11-misc/lightdm-kde-greeter/lightdm-kde-greeter-0.1.0.ebuild
new file mode 100644 (file)
index 0000000..059584e
--- /dev/null
@@ -0,0 +1,28 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI=4
+
+KDE_MINIMAL="4.8"
+
+inherit kde4-base
+
+MY_PN=${PN/-greeter/}
+MY_P=${MY_PN}-${PV}
+
+DESCRIPTION="LightDM KDE Greeter"
+HOMEPAGE="http://kde.org/"
+SRC_URI="http://download.kde.org/unstable/${MY_PN}/src/${MY_P}.tar.bz2"
+
+LICENSE="GPL-2 LGPL-2"
+KEYWORDS="~amd64"
+SLOT="0"
+IUSE="debug"
+
+S=$WORKDIR/${MY_P}
+
+DEPEND="
+       x11-misc/lightdm[qt4]
+"
+RDEPEND="${DEPEND}"
diff --git a/x11-misc/lightdm-kde-greeter/metadata.xml b/x11-misc/lightdm-kde-greeter/metadata.xml
new file mode 100644 (file)
index 0000000..d8d7559
--- /dev/null
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer>
+<email>dagger@gentoo.org</email>
+<name>Robert Piasek</name>
+</maintainer>
+<longdescription lang="en">
+</longdescription>
+</pkgmetadata>
+
diff --git a/x11-misc/lightdm/Manifest b/x11-misc/lightdm/Manifest
new file mode 100644 (file)
index 0000000..58c81b4
--- /dev/null
@@ -0,0 +1,10 @@
+AUX Xsession 1641 RMD160 fec5ca0ab491c2d23a631d7bab4bfa634788841d SHA1 7261a104c145025c63f8febfcecc189badfd3e86 SHA256 fb38b265420e55b2fd96f003ab00ad2a2d2cd1902984c84239c8ca84eb9b66a9
+AUX lightdm 257 RMD160 85f6b3f74ce06fdd8ee9a5c550ec6c9a1cb75345 SHA1 1b93afa7fa26d5b7ad0292c49be274aa7b2ab932 SHA256 c43240d1fbdb76d219d11ffbb8ad406bcbd7c78c8eba9c03c0feb353b6671c27
+AUX lightdm-1.0.6-pkglibexec.patch 757 RMD160 ac773aa01efd79af1bba9b1c5467493653a11164 SHA1 870dd5ba429c844a1323ca862bb1bf350105a051 SHA256 c00d7c1c3463a96ed69da7159f8c410ff55cebe10c78554dea9d5bad56c41a55
+AUX lightdm-1.2.0-fix-configure.patch 333 RMD160 c527113271fc3701b63f8b0ed49302a8f1c5dc87 SHA1 421321d8c2160bfa936365fcdf42bd98a3283ee5 SHA256 da47ccb4a9be4c5daf7c132d0141c268692c37e60120adc60e132f522d992b56
+AUX lightdm-autologin 369 RMD160 2adb17241b378ad4ca10e6241cb21b5a679c0973 SHA1 8372a199f5e00fb0d9d2630d0ced060f190d2af2 SHA256 e964a100e72a8eccea4ed8e1558ae70cbe5b7cbea67415651d0c0bdcea2d06c8
+AUX session-wrapper-lightdm.patch 419 RMD160 899fd1b62b77ff1d3dcd46c35092486391f8bc2b SHA1 a609ddf728296ed8c139e2750ad3557e2a8bfec0 SHA256 de5504221cd31c6d25ccbb21f4559780564ce908e2306238d92dd4ac481e687a
+DIST introspection-20110205.m4.tar.bz2 1220 RMD160 c520adf7edf0e56012138208b45bed9df2a3e62f SHA1 092adcee1acce39e89069db0f3e8b4cb7ad89dea SHA256 4394a606d380ae5315872ede35387f104da5fad96794d29c45c444a9d481d8b2
+DIST lightdm-1.2.0.tar.gz 644000 RMD160 6363295c97ee2e6a504e935364d37f786d129c18 SHA1 853736ec927eceedfcf2211744dda8bb0bb028a9 SHA256 15fcf72926f400ff7ee597a069c328043822e26885328115ac16cc362a75fe73
+EBUILD lightdm-1.2.0.ebuild 2939 RMD160 1b680435a6052a4add2c286eda3654d7665b6c85 SHA1 fe0fe4cbfb80b406f806047e03e5901ec78e83ba SHA256 7edf763541f3d6fc0c912da9a1f853a33ab6563f302d979b844c7e46305f1eda
+MISC metadata.xml 432 RMD160 e158b5372af23f90a20b4fa480e6bf923c625f37 SHA1 90620650fc962a628ab51bb31cb6896792f67a5f SHA256 ecff31747259e3f1e6ffd6a2304ed15a911a8c6861b7a7ee935ffc753bdb6a4b
diff --git a/x11-misc/lightdm/files/Xsession b/x11-misc/lightdm/files/Xsession
new file mode 100644 (file)
index 0000000..5da041e
--- /dev/null
@@ -0,0 +1,69 @@
+#!/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
+
+echo "X session wrapper complete, running session $@"
+
+exec $@
diff --git a/x11-misc/lightdm/files/lightdm b/x11-misc/lightdm/files/lightdm
new file mode 100644 (file)
index 0000000..6286d6a
--- /dev/null
@@ -0,0 +1,8 @@
+#%PAM-1.0
+auth       optional            pam_env.so
+auth       include             system-login
+auth       required            pam_nologin.so
+account    include             system-login
+password   include             system-login
+session    optional             pam_loginuid.so
+session    include             system-auth
diff --git a/x11-misc/lightdm/files/lightdm-1.0.6-pkglibexec.patch b/x11-misc/lightdm/files/lightdm-1.0.6-pkglibexec.patch
new file mode 100644 (file)
index 0000000..ef208a7
--- /dev/null
@@ -0,0 +1,25 @@
+Install dir:
+    /usr/libexec/lightdm-guest-session-wrapper
+    /usr/libexec/lightdm-set-defaults
+    /usr/libexec/lightdm/gdmflexiserver
+
+Due to the following change, pkglibexec_SCRIPTS is invalid:
+    http://git.savannah.gnu.org/cgit/automake.git/commit/?id=9ca632642b006ac6b0fc4ce0ae5b34023faa8cbf
+
+---
+ utils/Makefile.am |    3 ++-
+ 1 files changed, 2 insertions(+), 1 deletions(-)
+
+diff --git a/utils/Makefile.am b/utils/Makefile.am
+index 41df48b..ee527cf 100644
+--- a/utils/Makefile.am
++++ b/utils/Makefile.am
+@@ -1,6 +1,7 @@
+ bin_PROGRAMS = dm-tool
+ libexec_PROGRAMS = lightdm-set-defaults
+-dist_pkglibexec_SCRIPTS = gdmflexiserver
++ldmlibexecdir = $(libexecdir)/@PACKAGE@
++dist_ldmlibexec_SCRIPTS = gdmflexiserver
+ dm_tool_SOURCES = \
+       dm-tool.c
diff --git a/x11-misc/lightdm/files/lightdm-1.2.0-fix-configure.patch b/x11-misc/lightdm/files/lightdm-1.2.0-fix-configure.patch
new file mode 100644 (file)
index 0000000..c8c795e
--- /dev/null
@@ -0,0 +1,10 @@
+--- configure.ac~      2012-04-23 12:12:44.000000000 +0100
++++ configure.ac       2012-04-23 12:25:51.050999668 +0100
+@@ -93,6 +93,7 @@
+     PKG_CHECK_MODULES(LIBLIGHTDM_QT, [
+         QtCore
+         QtDBus
++        QtGui
+     ])
+     QT4_BINDIR=`$PKG_CONFIG Qt --variable bindir`
+     AC_CHECK_TOOLS(MOC, [moc-qt4 moc],, [$QT4_BINDIR:$PATH])
diff --git a/x11-misc/lightdm/files/lightdm-autologin b/x11-misc/lightdm/files/lightdm-autologin
new file mode 100644 (file)
index 0000000..9d165d6
--- /dev/null
@@ -0,0 +1,10 @@
+#%PAM-1.0
+auth       optional            pam_env.so
+auth       required            pam_nologin.so
+auth       required            pam_permit.so
+account    include             system-login
+password   include             system-login
+session    include             system-auth
+# For the keyring to unlock with autologin, you need to set an empty
+# password on the keyring.
+#Keyring=session    optional           pam_gnome_keyring.so auto_start
diff --git a/x11-misc/lightdm/files/session-wrapper-lightdm.patch b/x11-misc/lightdm/files/session-wrapper-lightdm.patch
new file mode 100644 (file)
index 0000000..9f41816
--- /dev/null
@@ -0,0 +1,13 @@
+Index: lightdm-1.0.6/data/lightdm.conf
+===================================================================
+--- lightdm-1.0.6.orig/data/lightdm.conf
++++ lightdm-1.0.6/data/lightdm.conf
+@@ -65,7 +65,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=
diff --git a/x11-misc/lightdm/lightdm-1.2.0.ebuild b/x11-misc/lightdm/lightdm-1.2.0.ebuild
new file mode 100644 (file)
index 0000000..fbfae29
--- /dev/null
@@ -0,0 +1,104 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/x11-misc/lightdm/lightdm-1.2.0.ebuild,v 1.1 2012/04/11 13:45:50 hwoarang Exp $
+
+EAPI=4
+inherit autotools eutils pam systemd
+
+DESCRIPTION="A lightweight display manager"
+HOMEPAGE="http://www.freedesktop.org/wiki/Software/LightDM"
+SRC_URI="http://launchpad.net/${PN}/1.2/${PV}/+download/${P}.tar.gz
+       mirror://gentoo/introspection-20110205.m4.tar.bz2"
+
+LICENSE="GPL-3 LGPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="+introspection qt4"
+
+RDEPEND="dev-libs/glib:2
+       virtual/pam
+       x11-libs/libxklavier
+       x11-libs/libX11
+       dev-libs/libxml2
+       introspection? ( dev-libs/gobject-introspection )
+       qt4? ( x11-libs/qt-gui )
+       sys-apps/accountsservice"
+DEPEND="${RDEPEND}
+       dev-util/intltool
+       dev-util/pkgconfig
+       gnome-base/gnome-common
+       sys-devel/gettext
+       dev-util/gtk-doc-am"
+PDEPEND="qt4? ( x11-misc/lightdm-kde-greeter )
+       !qt4? ( x11-misc/lightdm-gtk-greeter )"
+
+DOCS=( NEWS )
+
+src_prepare() {
+       sed -i -e "/minimum-uid/s:500:1000:" data/users.conf || die
+       sed -i -e "s:gtk+-3.0:gtk+-2.0:" configure.ac || die
+       epatch "${FILESDIR}"/session-wrapper-${PN}.patch
+       epatch "${FILESDIR}/${P}"-fix-configure.patch
+       if has_version dev-libs/gobject-introspection; then
+               eautoreconf
+       else
+               AT_M4DIR=${WORKDIR} eautoreconf
+       fi
+}
+
+src_configure() {
+       # Maybe in the future, we can support some automatic session and user
+       # recognition. Until then, use default values
+       local default=gnome user=root greeter
+
+       # There is no qt greeter, so use gtk anyway
+       # use gtk && greeter=lightdm-gtk-greeter
+       if use qt4 ; then
+               greeter=lightdm-kde-greeter
+       else
+               greeter=lightdm-gtk-greeter
+       fi
+
+       # Let user know how lightdm is configured
+       einfo "Gentoo configuration"
+       einfo "Default greeter: ${greeter}"
+       einfo "Default session: ${default}"
+       einfo "Greeter user: ${user}"
+
+       # do the actual configuration
+       econf --localstatedir=/var \
+               --disable-static \
+               $(use_enable introspection) \
+               $(use_enable qt4 liblightdm-qt) \
+               --with-user-session=${user} \
+               --with-greeter-session=${greeter} \
+               --with-greeter-user=${user} \
+               --with-html-dir="${EPREFIX}"/usr/share/doc/${PF}/html
+}
+
+src_install() {
+       default
+
+       # Install missing files
+       insinto /etc/${PN}/
+       doins "${S}"/data/{${PN},users,keys}.conf
+       doins "${FILESDIR}"/Xsession
+       fperms +x /etc/${PN}/Xsession
+       # remove .la files
+       find "${ED}" -name "*.la" -exec rm -rf {} +
+       rm -Rf "${ED}"/etc/init || die
+
+       dopamd "${FILESDIR}"/${PN}
+       dopamd "${FILESDIR}"/${PN}-autologin
+}
+
+pkg_postinst() {
+       elog
+       elog "Even though the default /etc/${PN}/${PN}.conf will work for"
+       elog "most users, make sure you configure it to suit your needs"
+       elog "before using ${PN} for the first time."
+       elog "You can test the configuration file using the following"
+       elog "command: ${PN} --test-mode -c /etc/${PN}/${PN}.conf. This"
+       elog "requires xorg-server to be built with the 'kdrive' useflag."
+       elog
+}
diff --git a/x11-misc/lightdm/metadata.xml b/x11-misc/lightdm/metadata.xml
new file mode 100644 (file)
index 0000000..9612888
--- /dev/null
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer>
+<email>hwoarang@gentoo.org</email>
+<name>Markos Chandras</name>
+</maintainer>
+<use>
+       <flag name="introspection">Use dev-libs/gobject-introspection for introspection</flag>
+        <flag name="qt4">Enable QT4 bindings</flag>
+       </use>
+<longdescription lang="en">
+</longdescription>
+</pkgmetadata>
+