From aa06f94f2d200c87b755b9dd75963aa3cafb8253 Mon Sep 17 00:00:00 2001 From: Robert Piasek Date: Mon, 23 Apr 2012 12:53:40 +0100 Subject: Add lightdm and KDE greeter --- x11-misc/lightdm-kde-greeter/Manifest | 3 + .../lightdm-kde-greeter-0.1.0.ebuild | 28 ++++++ x11-misc/lightdm-kde-greeter/metadata.xml | 11 +++ x11-misc/lightdm/Manifest | 10 ++ x11-misc/lightdm/files/Xsession | 69 ++++++++++++++ x11-misc/lightdm/files/lightdm | 8 ++ .../lightdm/files/lightdm-1.0.6-pkglibexec.patch | 25 +++++ .../files/lightdm-1.2.0-fix-configure.patch | 10 ++ x11-misc/lightdm/files/lightdm-autologin | 10 ++ .../lightdm/files/session-wrapper-lightdm.patch | 13 +++ x11-misc/lightdm/lightdm-1.2.0.ebuild | 104 +++++++++++++++++++++ x11-misc/lightdm/metadata.xml | 15 +++ 12 files changed, 306 insertions(+) create mode 100644 x11-misc/lightdm-kde-greeter/Manifest create mode 100644 x11-misc/lightdm-kde-greeter/lightdm-kde-greeter-0.1.0.ebuild create mode 100644 x11-misc/lightdm-kde-greeter/metadata.xml create mode 100644 x11-misc/lightdm/Manifest create mode 100644 x11-misc/lightdm/files/Xsession create mode 100644 x11-misc/lightdm/files/lightdm create mode 100644 x11-misc/lightdm/files/lightdm-1.0.6-pkglibexec.patch create mode 100644 x11-misc/lightdm/files/lightdm-1.2.0-fix-configure.patch create mode 100644 x11-misc/lightdm/files/lightdm-autologin create mode 100644 x11-misc/lightdm/files/session-wrapper-lightdm.patch create mode 100644 x11-misc/lightdm/lightdm-1.2.0.ebuild create mode 100644 x11-misc/lightdm/metadata.xml diff --git a/x11-misc/lightdm-kde-greeter/Manifest b/x11-misc/lightdm-kde-greeter/Manifest new file mode 100644 index 0000000..00a2afb --- /dev/null +++ b/x11-misc/lightdm-kde-greeter/Manifest @@ -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 index 0000000..059584e --- /dev/null +++ b/x11-misc/lightdm-kde-greeter/lightdm-kde-greeter-0.1.0.ebuild @@ -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 index 0000000..d8d7559 --- /dev/null +++ b/x11-misc/lightdm-kde-greeter/metadata.xml @@ -0,0 +1,11 @@ + + + + +dagger@gentoo.org +Robert Piasek + + + + + diff --git a/x11-misc/lightdm/Manifest b/x11-misc/lightdm/Manifest new file mode 100644 index 0000000..58c81b4 --- /dev/null +++ b/x11-misc/lightdm/Manifest @@ -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 index 0000000..5da041e --- /dev/null +++ b/x11-misc/lightdm/files/Xsession @@ -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 index 0000000..6286d6a --- /dev/null +++ b/x11-misc/lightdm/files/lightdm @@ -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 index 0000000..ef208a7 --- /dev/null +++ b/x11-misc/lightdm/files/lightdm-1.0.6-pkglibexec.patch @@ -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 index 0000000..c8c795e --- /dev/null +++ b/x11-misc/lightdm/files/lightdm-1.2.0-fix-configure.patch @@ -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 index 0000000..9d165d6 --- /dev/null +++ b/x11-misc/lightdm/files/lightdm-autologin @@ -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 index 0000000..9f41816 --- /dev/null +++ b/x11-misc/lightdm/files/session-wrapper-lightdm.patch @@ -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 index 0000000..fbfae29 --- /dev/null +++ b/x11-misc/lightdm/lightdm-1.2.0.ebuild @@ -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 index 0000000..9612888 --- /dev/null +++ b/x11-misc/lightdm/metadata.xml @@ -0,0 +1,15 @@ + + + + +hwoarang@gentoo.org +Markos Chandras + + + Use dev-libs/gobject-introspection for introspection + Enable QT4 bindings + + + + + -- cgit v1.2.3-65-gdbad