From a90bbd9cd9f4da51ffd50ecb34d4424862b2f1d4 Mon Sep 17 00:00:00 2001 From: Joost Ruis Date: Wed, 14 Dec 2011 11:45:51 +0000 Subject: [PATCH] [kde-base/kdm] version bump to 4.7.4 --- kde-base/kdm/Manifest | 3 + .../files/kdm-4.7.3-revertcrashlogic.patch | 145 ++++++++++++++++ kde-base/kdm/kdm-4.7.4.ebuild | 163 ++++++++++++++++++ 3 files changed, 311 insertions(+) create mode 100644 kde-base/kdm/files/kdm-4.7.3-revertcrashlogic.patch create mode 100644 kde-base/kdm/kdm-4.7.4.ebuild diff --git a/kde-base/kdm/Manifest b/kde-base/kdm/Manifest index 846ef809a..57016a86e 100644 --- a/kde-base/kdm/Manifest +++ b/kde-base/kdm/Manifest @@ -12,6 +12,7 @@ AUX kdm-4.3.1-sabayon-theme.patch 464 RMD160 3618529657a5bd38f6431488ffe496e7a3d AUX kdm-4.3.1-xinitrc.d.patch 793 RMD160 1e22f23d7cbd4764b4a7675968e0a387de2fc09a SHA1 226db506807a31b565da598458faed4a3ce3ddb7 SHA256 7ddeaa5b5446ed9e4f94cfc474032ee7d450df3748b378a4803c5b7b2bdce684 AUX kdm-4.3.5-xdm-restart.patch 1593 RMD160 f6bf916ec09049ba7c7a3c65ec86b59302b8f3be SHA1 f70ae3f876f3840364c698d33d60b15395a457c4 SHA256 0f2f2d9dfba1c0a8a82c6b92cb55ff5afe77fc8b5cbe280fb7fbba19f8327866 AUX kdm-4.4.5-sabayon-theme.patch 461 RMD160 1aa90e3218aa78da5a8afc9abff06c0a38df4a19 SHA1 96aaf1695ce72dcb4c8f89b6e714e1732ddb4a33 SHA256 475557e35a96847fca4507be56e39c147e60afa87916a63d6ea43c18ed55229f +AUX kdm-4.7.3-revertcrashlogic.patch 4452 RMD160 27f96bf067fc2f45919b9114f74f998c236a2e5b SHA1 108c6acb5dd9fb042a5f4e9c4e3c5d9916fd7f94 SHA256 74f339d17e61c8431726b1c3975423b4cf19ea569990db35e83bf23d1a4b6d1f AUX kdm-autologinagain.patch 486 RMD160 1b5d08edf66e6700e45c847ea187e381baf65697 SHA1 8609ecc8684bddb32b212c942ecc4136d27e65ae SHA256 03dcdb650430881a8aab057f704de6a424c25d6ef7278586ce81ee7188644dd9 AUX kdm-dbus-session-support.patch 895 RMD160 1ecad9013dfe746f1756e275090209a1d440e024 SHA1 83a6347ad44465f6bb61271cb1fef659c4273041 SHA256 63a219cab4812e1f32abfd34bf7c7362a40042d21662fc4c4fd755846095fb70 AUX kdm-keyboard-repeat-fix.patch 420 RMD160 77e9a5aafbc864746d8c8a3a23bda2b474f8c842 SHA1 bcdcfe85b9b95c0569e3ea6438cbce59ef9f2b61 SHA256 5c59cd8f6850a1947a128734202395af396fc9516392dc02c7ea2019b99dc3b3 @@ -22,6 +23,7 @@ DIST kde-workspace-4.7.0.tar.bz2 20049430 RMD160 20520845b336d9485bb2149191ad9f5 DIST kde-workspace-4.7.1.tar.bz2 20387880 RMD160 1d3c3956f8f292ae84896756ddae8abb9e7d9395 SHA1 c7867d2f788086078abbcff53a035a6131232539 SHA256 85dabf6620b0dc556c395b8a4fe15764a7da87a66ed243e3a9527bc2c1607b96 DIST kde-workspace-4.7.2.tar.bz2 20556305 RMD160 a3576eb82bfdba215f0fe44d3c5d616e9a79e024 SHA1 afd37b2f583690e391828c1ceb7311e2e8d37c6f SHA256 6a174d6780ad04700ec9eddfe2ed3d916aea018ad7fb93b04debc81f2d3f9eb0 DIST kde-workspace-4.7.3.tar.bz2 20556738 RMD160 c7298c81c978a722f54e033afe169111d2dfd438 SHA1 f3ed24e3e70671033718a5139cb61d0d7e2e709e SHA256 7403fc5ff78de55b1f9b6a1116001be3ad7906720521959d1f5de8c86677ac5e +DIST kde-workspace-4.7.4.tar.bz2 20557567 RMD160 94f1a36b3881276663a559a57dbd210d50ede06b SHA1 b7810ba13f6f2a1c4783b153ad9349a1dd27b495 SHA256 175cdc6a72e89b3b0f859fd06712947f485aecf507896f637e49f3dbac4d43b6 DIST kdebase-workspace-4.6.1.tar.bz2 69489744 RMD160 9170d1e5a47a9684fcf517ff0be33ef457986cdc SHA1 e37691d88ddbf92cc95ec39849a1331404c84fd5 SHA256 b2c113aec1e5c79b31f2dcac718ba94d142fe39e8e9640d13d19c2dcbf5fae98 DIST kdebase-workspace-4.6.2.tar.bz2 69356153 RMD160 23856ab63e17e3971071f2ccd02bd78d546c71e0 SHA1 63efb68733f347d0b7d24a7a061c5a0e3f84dee7 SHA256 6a55a53282a0ec7dd61f16f87fb8d0097d945891504982eb5122c96238b711e1 DIST kdebase-workspace-4.6.3.tar.bz2 69349331 RMD160 ae7928eb7f524564890181a8862e657cf13727f6 SHA1 50103b7752defbab08965b665fa95361bb5b3ff6 SHA256 ab11dbfc48b94a4cb867436d91aa80a3677bdb6e49a6df8cc1c70a4f8dd5868d @@ -36,4 +38,5 @@ EBUILD kdm-4.7.0.ebuild 4312 RMD160 48e6814d174ae888ffbe63f27de90a950b7b0feb SHA EBUILD kdm-4.7.1.ebuild 4312 RMD160 48e6814d174ae888ffbe63f27de90a950b7b0feb SHA1 62eab718fb429bcd9faed9fe9c86c8a952e8b8cb SHA256 e245768dd47dcc930334b4a246705084658af591895a0dfaf0de1f9ac48d1903 EBUILD kdm-4.7.2.ebuild 4274 RMD160 4c0883bb2910a1ee1d2a93259245143b7b4d018e SHA1 e72ade6b8d6e8e2f560f31981f0f753d39d1eca9 SHA256 4740a00132a193a09140260719a5bc530b7c88612484ddef495704a1c7102a23 EBUILD kdm-4.7.3.ebuild 4417 RMD160 e10726e7ad49eb1360611a7b5d6dfa3455e2445b SHA1 40031ff81537db77092af4b67e2ad95f36a340ff SHA256 10bb6044756211f3f0340a61d723a49e2f940315c8e229a3042ff8692954c7c9 +EBUILD kdm-4.7.4.ebuild 4467 RMD160 f3393747a6338d6131457a3136a3e8d3a4d2e060 SHA1 6394f84b3a99d90bde8612fa339280ea3e3b1214 SHA256 95ae2ecb590b0915587d703ecba1a5c0a10f40ac7607d14969f99967adab7709 MISC ChangeLog 243 RMD160 5d249b0640df015645f5e28e266af375bbfdfdae SHA1 1163d9b7c0b3f9b343908d721c6da7ddf811d41e SHA256 d6cd978a3fe370a125299bbeb83d1edbdc8dcedf25e6eb6a2995cafed160a1d2 diff --git a/kde-base/kdm/files/kdm-4.7.3-revertcrashlogic.patch b/kde-base/kdm/files/kdm-4.7.3-revertcrashlogic.patch new file mode 100644 index 000000000..94e47d572 --- /dev/null +++ b/kde-base/kdm/files/kdm-4.7.3-revertcrashlogic.patch @@ -0,0 +1,145 @@ +diff --git a/kdm/backend/greet.h b/kdm/backend/greet.h +index 2ef7026..41f0791 100644 +--- a/kdm/backend/greet.h ++++ b/kdm/backend/greet.h +@@ -146,8 +146,6 @@ from the copyright holder. + #define G_DChoose 3 /* run chooser */ + #endif + +-#define G_Interact 4 /* greeter got user input. possible crash is probably not spontaneous. */ +- + #define G_Shutdown 101 /* 5*int, string; async */ + # define SHUT_REBOOT 1 /* how */ + # define SHUT_HALT 2 +diff --git a/kdm/backend/session.c b/kdm/backend/session.c +index 85ab1d7..1b47e9c 100644 +--- a/kdm/backend/session.c ++++ b/kdm/backend/session.c +@@ -409,12 +409,16 @@ void + openGreeter() + { + char *name, **env; ++ static time_t lastStart; + int cmd; + Cursor xcursor; + + gSet(&grttalk); + if (grtproc.pid > 0) + return; ++ updateNow(); ++ if (now < lastStart + 10) /* XXX should use some readiness indicator instead */ ++ sessionExit(EX_UNMANAGE_DPY); + ASPrintf(&name, "greeter for display %s", td->name); + debug("starting %s\n", name); + +@@ -443,6 +447,8 @@ openGreeter() + sessionExit(EX_UNMANAGE_DPY); + } + debug("%s ready\n", name); ++ updateNow(); ++ lastStart = now; + } + + int +@@ -544,7 +550,7 @@ manageSession(void) + { + int ex, cmd; + volatile int clientPid = -1; +- time_t tdiff, startt; ++ time_t tdiff; + + debug("manageSession %s\n", td->name); + if ((ex = Setjmp(abortSession))) { +@@ -576,13 +582,10 @@ manageSession(void) + updateNow(); + tdiff = now - td->hstent->lastExit - td->openDelay; + if (autoLogon(tdiff)) { +- if (!verify(conv_auto, False)) { +- startt = now; ++ if (!verify(conv_auto, False)) + goto gcont; +- } + } else { + regreet: +- startt = now; + openGreeter(); + #ifdef XDMCP + if (((td->displayType & d_location) == dLocal) && +@@ -596,10 +599,6 @@ manageSession(void) + G_GreetTimed : G_Greet); + gcont: + cmd = ctrlGreeterWait(True); +- if (cmd == G_Interact) { +- startt = 0; +- goto gcont; +- } + #ifdef XDMCP + while (cmd == G_DChoose) { + choose: +@@ -616,9 +615,6 @@ manageSession(void) + logError("Received unknown command %d from greeter\n", cmd); + closeGreeter(True); + } +- updateNow(); +- if (now < startt + 120) /* Greeter crashed spontaneously. Avoid endless loop. */ +- sessionExit(EX_UNMANAGE_DPY); + goto regreet; + } + } +diff --git a/kdm/kfrontend/kgapp.cpp b/kdm/kfrontend/kgapp.cpp +index f169248..1bb744c 100644 +--- a/kdm/kfrontend/kgapp.cpp ++++ b/kdm/kfrontend/kgapp.cpp +@@ -74,7 +74,7 @@ sigAlarm(int) + + GreeterApp::GreeterApp(int &argc, char **argv) : + inherited(argc, argv), +- regrabPtr(false), regrabKbd(false), initalBusy(true), sendInteract(false), ++ regrabPtr(false), regrabKbd(false), initalBusy(true), + dragWidget(0) + { + pingInterval = _isLocal ? 0 : _pingInterval; +@@ -203,14 +203,6 @@ GreeterApp::x11EventFilter(XEvent * ev) + break; + } + break; +- default: +- return false; +- } +- if (sendInteract) { +- sendInteract = false; +- // We assume that no asynchronous communication is going on +- // before the first user interaction. +- gSendInt(G_Interact); + } + return false; + } +@@ -487,7 +479,6 @@ main(int argc ATTR_UNUSED, char **argv) + } + } + QObject::connect(dialog, SIGNAL(ready()), &app, SLOT(markReady())); +- app.enableSendInteract(); + debug("entering event loop\n"); + rslt = dialog->exec(); + debug("left event loop\n"); +diff --git a/kdm/kfrontend/kgapp.h b/kdm/kfrontend/kgapp.h +index b7c1b97..0979950 100644 +--- a/kdm/kfrontend/kgapp.h ++++ b/kdm/kfrontend/kgapp.h +@@ -37,7 +37,6 @@ class GreeterApp : public QApplication { + public: + GreeterApp(int &argc, char **argv); + void markBusy(); +- void enableSendInteract() { sendInteract = true; } + virtual bool x11EventFilter(XEvent *); + + public Q_SLOTS: +@@ -51,7 +50,7 @@ class GreeterApp : public QApplication { + + private: + int pingInterval, pingTimerId; +- bool regrabPtr, regrabKbd, initalBusy, sendInteract; ++ bool regrabPtr, regrabKbd, initalBusy; + QPoint mouseStartPos, dialogStartPos; + QWidget *dragWidget; + }; diff --git a/kde-base/kdm/kdm-4.7.4.ebuild b/kde-base/kdm/kdm-4.7.4.ebuild new file mode 100644 index 000000000..2504ff7b2 --- /dev/null +++ b/kde-base/kdm/kdm-4.7.4.ebuild @@ -0,0 +1,163 @@ +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/kde-base/kdm/kdm-4.7.4.ebuild,v 1.1 2011/12/11 18:52:39 alexxy Exp $ + +EAPI=4 + +KDE_HANDBOOK="optional" +KMNAME="kde-workspace" +inherit kde4-meta flag-o-matic + +DESCRIPTION="KDE login manager, similar to xdm and gdm" +KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86" +IUSE="+consolekit debug kerberos pam" + +DEPEND=" + $(add_kdebase_dep libkworkspace) + 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 + ) +" +RDEPEND="${DEPEND} + $(add_kdebase_dep kdepasswd) + >=x11-apps/xinit-1.0.5-r2 + x11-apps/xmessage + >=x11-themes/sabayon-artwork-kde-5.4_beta1 +" + +KMEXTRA=" + libs/kdm/ +" + +PATCHES=( + "${FILESDIR}/kdebase-4.0.2-pam-optional.patch" + "${FILESDIR}/${PN}-4-gentoo-xinitrc.d.patch" + "${FILESDIR}/${PN}-4.7.3-revertcrashlogic.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() { + # genkdmconf breaks with -O3 + # last checked in 4.2.95 + replace-flags -O3 -O2 + + 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/horos$|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 +} + +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 +}