diff options
-rw-r--r-- | kde-base/kdm/Manifest | 1 | ||||
-rw-r--r-- | kde-base/kdm/kdm-4.11.17-r1.ebuild | 164 |
2 files changed, 165 insertions, 0 deletions
diff --git a/kde-base/kdm/Manifest b/kde-base/kdm/Manifest index 63fa99dc..a35d905c 100644 --- a/kde-base/kdm/Manifest +++ b/kde-base/kdm/Manifest @@ -1,2 +1,3 @@ +DIST kde-workspace-4.11.17.tar.xz 13551548 SHA256 1d52b8430ab31e933f1c2b9645b9d6a944693a404a2b88fc441b241d7922765e SHA512 21b84abfc71e29b6abaf6bdde2bb75ff0940e39fcc05bd92c767c30e5e629c1b4106cdee34b06a8cd4c99809f05596af3f355edb49e9c066043f3ceb54573892 WHIRLPOOL 4377efe85e717ab8f7d9f07647c26f38fdbac69a5c842ae2107581ba0df1a847be7bfa0931d46f99f780d8fc7bd41fd8d8b4382acc388a6c475bb58826af07df DIST kde-workspace-4.11.5.tar.xz 13714748 SHA256 3b99a3991d6d8b1aa4158da67ead30cabb815c07a6c8ee10751307f97d8613cf SHA512 311ef4f13a35f5e5d4b2eb60491d76aa8a47a25c7a565d7378c653b4d01d0d21d867deef9c658dff9bd14a02f1834d4781fed80129b5dc05d1490d34c656a281 WHIRLPOOL 3a853bc77e4beed8e1524a34061ba518b3ebe429e7873d58b30705516b743bcabc79124d01e59a2b9e1dc83cfd5128e8fc2d9fa5f2addb362a44ee53b4685c2d DIST kde-workspace-4.11.6.tar.xz 13531288 SHA256 e1b3cb78dc94f3fab61c588ee610f143a1fd8a70f5f08b5ba19174427f9a6352 SHA512 059877a8f5bb6df47bf043a9f89be6a827b56a0fc11104b189041eb4e08e40d6f9375c1268afcfcee329735d2c62e3959589751b5281603ff1bcc637cec38cd6 WHIRLPOOL ba5f0e277f6abbb502088ac9bdb420a221e570b140dd4a2dd6dccb1dfcf93efd2fceecb075f5a66fbe6c61346a2dfd7290124036f2e0f58091119a00ce7b8346 diff --git a/kde-base/kdm/kdm-4.11.17-r1.ebuild b/kde-base/kdm/kdm-4.11.17-r1.ebuild new file mode 100644 index 00000000..b47756ae --- /dev/null +++ b/kde-base/kdm/kdm-4.11.17-r1.ebuild @@ -0,0 +1,164 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI=5 + +KDE_HANDBOOK="optional" +KMNAME="kde-workspace" +inherit systemd kde4-meta flag-o-matic user + +DESCRIPTION="KDE login manager, similar to xdm and gdm" +KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux" +IUSE="debug +consolekit kerberos pam systemd" + +REQUIRED_USE="consolekit? ( !systemd ) systemd? ( !consolekit )" + +DEPEND=" + $(add_kdebase_dep libkworkspace) + media-libs/qimageblitz + x11-libs/libX11 + x11-libs/libXau + x11-libs/libXdmcp + x11-libs/libXtst + consolekit? ( + >=sys-apps/dbus-1.0.2 + sys-auth/consolekit + ) + kerberos? ( virtual/krb5 ) + pam? ( + $(add_kdebase_dep kcheckpass) + virtual/pam + ) + systemd? ( sys-apps/systemd ) +" +RDEPEND="${DEPEND} + $(add_kdebase_dep kdepasswd) + $(add_kdebase_dep libkgreeter) + >=x11-apps/xinit-1.0.5-r2 + x11-apps/xmessage +" + +KMEXTRACTONLY=" + libs/kdm/kgreeterplugin.h +" + +PATCHES=( + "${FILESDIR}/${PN}-4-gentoo-xinitrc.d.patch" +) + +pkg_setup() { + kde4-meta_pkg_setup + + # Create kdm:kdm user + KDM_HOME=/var/lib/kdm + enewgroup kdm + enewuser kdm -1 -1 "${KDM_HOME}" kdm +} + +src_configure() { + local mycmakeargs=( + $(cmake-utils_use kerberos KDE4_KRB5AUTH) + $(cmake-utils_use_with pam) + $(cmake-utils_use_with consolekit CkConnector) + ) + + kde4-meta_src_configure +} + +src_install() { + export GENKDMCONF_FLAGS="--no-old --no-backup" + + kde4-meta_src_install + + # an equivalent file is already installed by kde-base/startkde, bug 377151 + rm "${ED}/usr/share/apps/kdm/sessions/kde-plasma.desktop" || die + + # Customize the kdmrc configuration: + # - SessionDirs set to /usr/share/xsessions + # - increase server timeout to 30s + # - TerminateServer=true to workaround X server regen bug, bug 278473 + # - DataDir set to /var/lib/kdm + # - FaceDir set to /var/lib/kdm/faces + sed -e "s|^.*SessionsDirs=.*$|#&\nSessionsDirs=${EPREFIX}/usr/share/apps/kdm/sessions,${EPREFIX}/usr/share/xsessions|" \ + -e "/#ServerTimeout=/s/^.*$/ServerTimeout=30/" \ + -e "/#TerminateServer=/s/^.*$/TerminateServer=true/" \ + -e "s|^.*DataDir=.*$|#&\nDataDir=${EPREFIX}${KDM_HOME}|" \ + -e "s|^.*FaceDir=.*$|#&\nFaceDir=${EPREFIX}${KDM_HOME}/faces|" \ + -e "s|themes/elarun$|themes/sabayon|" \ + -i "${ED}"/usr/share/config/kdm/kdmrc \ + || die "Failed to set ServerTimeout and SessionsDirs correctly in kdmrc." + + # Don't install empty dir + rmdir "${ED}"/usr/share/config/kdm/sessions + + # Set up permissions to kdm work directory + keepdir "${KDM_HOME}" + fowners root:kdm "${KDM_HOME}" + fperms 1770 "${KDM_HOME}" + + # install logrotate file + insinto /etc/logrotate.d + newins "${FILESDIR}"/kdm-logrotate kdm + + systemd_dounit "${FILESDIR}"/kdm.service +} + +pkg_postinst() { + kde4-meta_pkg_postinst + + local file src dest dir old_dirs=( + /var/lib/kdm-live + /var/lib/kdm-4.6 + /var/lib/kdm-4.5 + /var/lib/kdm-4.4 + /usr/share/apps/kdm + /usr/kde/4.4/share/apps/kdm + /usr/kde/4.3/share/apps/kdm + /usr/kde/4.2/share/apps/kdm + ) + + mkdir -p "${EROOT}${KDM_HOME}/faces" + # Set the default kdm face icon if it's not already set by the system admin + # because this is user-overrideable in that way, it's not in src_install + for file in faces/.default.face.icon:default1.png faces/root.face.icon:root1.png kdmsts: ; do + src=${file#*:} + dest=${file%:*} + if [[ ! -e ${EROOT}${KDM_HOME}/$dest ]]; then + for dir in "${old_dirs[@]}"; do + if [[ -e ${EROOT}${dir}/${dest} ]]; then + cp "${EROOT}${dir}/${dest}" "${EROOT}${KDM_HOME}/${dest}" + break 2 + fi + done + if [[ -n ${src} ]]; then + cp "${EROOT}/usr/share/apps/kdm/pics/users/${src}" \ + "${EROOT}${KDM_HOME}/${dest}" + fi + fi + done + for dir in "${old_dirs[@]}"; do + if [[ ${dir} != /usr/* && -d ${EROOT}${dir} ]]; then + echo + elog "The directory ${EROOT%/}${dir} still exists from an older installation of KDE." + elog "You may wish to copy relevant settings into ${EROOT%/}${KDM_HOME}." + echo + elog "After doing so, you may delete the directory." + echo + fi + done + + # Make sure permissions are correct -- old installations may have + # gotten this wrong + use prefix || chown root:kdm "${EROOT}${KDM_HOME}" + chmod 1770 "${EROOT}${KDM_HOME}" + + if use consolekit; then + echo + elog "You have compiled 'kdm' with consolekit support. If you want to use kdm," + elog "make sure consolekit daemon is running and started at login time" + elog + elog "rc-update add consolekit default && /etc/init.d/consolekit start" + echo + fi +} |