diff options
author | Maciej Mrozowski <reavertm@gentoo.org> | 2010-06-23 21:56:39 +0000 |
---|---|---|
committer | Maciej Mrozowski <reavertm@gentoo.org> | 2010-06-23 21:56:39 +0000 |
commit | c8df108d46e00d85ca1bea90775f4ae3c3ac8255 (patch) | |
tree | f9e7becca09f891cd3ae8c8fa8135782b9f3a279 /kde-base/kdm | |
parent | Stable on amd64 wrt bug #321151 (diff) | |
download | gentoo-2-c8df108d46e00d85ca1bea90775f4ae3c3ac8255.tar.gz gentoo-2-c8df108d46e00d85ca1bea90775f4ae3c3ac8255.tar.bz2 gentoo-2-c8df108d46e00d85ca1bea90775f4ae3c3ac8255.zip |
Apply kdm timeout patch from bug 278473, add TerminateServer=true to kdmrc (workaround for nvidia), set FaceDir (kdm doesn't respect it yet), properly slot DataDir
(Portage version: 2.2_rc67/cvs/Linux x86_64)
Diffstat (limited to 'kde-base/kdm')
-rw-r--r-- | kde-base/kdm/ChangeLog | 11 | ||||
-rw-r--r-- | kde-base/kdm/files/kdm-4.3.5-xdm-restart.patch | 41 | ||||
-rw-r--r-- | kde-base/kdm/kdm-4.4.4-r1.ebuild (renamed from kde-base/kdm/kdm-4.4.4.ebuild) | 26 |
3 files changed, 73 insertions, 5 deletions
diff --git a/kde-base/kdm/ChangeLog b/kde-base/kdm/ChangeLog index 2dfe07634a99..d9c73839cb69 100644 --- a/kde-base/kdm/ChangeLog +++ b/kde-base/kdm/ChangeLog @@ -1,6 +1,15 @@ # ChangeLog for kde-base/kdm # Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/kde-base/kdm/ChangeLog,v 1.219 2010/06/21 16:30:52 ssuominen Exp $ +# $Header: /var/cvsroot/gentoo-x86/kde-base/kdm/ChangeLog,v 1.220 2010/06/23 21:56:39 reavertm Exp $ + +*kdm-4.4.4-r1 (23 Jun 2010) + + 23 Jun 2010; Maciej Mrozowski <reavertm@gentoo.org> + +files/kdm-4.3.5-xdm-restart.patch, -kdm-4.4.4.ebuild, + +kdm-4.4.4-r1.ebuild: + Apply kdm timeout patch from bug 278473, add TerminateServer=true to kdmrc + (workaround for nvidia), set FaceDir (kdm doesn't respect it yet), + properly slot DataDir 21 Jun 2010; Tomáš Chvátal <scarabeus@gentoo.org> kdm-4.3.5.ebuild, kdm-4.3.5-r1.ebuild, kdm-4.4.4.ebuild: diff --git a/kde-base/kdm/files/kdm-4.3.5-xdm-restart.patch b/kde-base/kdm/files/kdm-4.3.5-xdm-restart.patch new file mode 100644 index 000000000000..a47150c0266e --- /dev/null +++ b/kde-base/kdm/files/kdm-4.3.5-xdm-restart.patch @@ -0,0 +1,41 @@ +--- kdm-4.3.5/kdm/backend/dm.c.orig 2010-05-08 17:00:38.000000000 -0700 ++++ kdm-4.3.5/kdm/backend/dm.c 2010-05-08 17:38:17.000000000 -0700 +@@ -1469,7 +1469,15 @@ + + d->hstent->lock = d->hstent->rLogin = d->hstent->goodExit = + d->sdRec.how = 0; +- d->lastStart = now; ++ /* If this is a local server then we record the actual ++ * start time of the server - this is because the server ++ * can be reset without restarting and it can crash when, ++ * or after, reset - we don't want to disable it if it ++ * crashes in this case. (See exitDisplay() below.) ++ * 'lastStart' is set in server.c to make this work. ++ */ ++ if ((d->displayType & d_location) != dLocal) ++ d->lastStart = now; + break; + } + } +@@ -1558,7 +1566,7 @@ + } else { + if (serverCmd == XS_RETRY) { + if ((d->displayType & d_location) == dLocal) { +- if (he->lastExit - d->lastStart < 120) { ++ if (he->lastExit - d->lastStart < 20) { + logError( "Unable to fire up local display %s;" + " disabling.\n", d->name ); + stopDisplay( d ); +--- kdm-4.3.5/kdm/backend/server.c.orig 2010-05-08 17:00:43.000000000 -0700 ++++ kdm-4.3.5/kdm/backend/server.c 2010-05-08 17:35:34.000000000 -0700 +@@ -76,6 +76,10 @@ + + debug( "startServerOnce for %s, try %d\n", d->name, ++d->startTries ); + d->serverStatus = starting; ++ /* For the local X server record the start time of the server, not the ++ * session, so set the time here and not in dm.c:startDisplayP2() ++ */ ++ d->lastStart = now; + switch (Fork( &d->serverPid )) { + case 0: + argv = prepareServerArgv( d, d->serverArgsLocal ); diff --git a/kde-base/kdm/kdm-4.4.4.ebuild b/kde-base/kdm/kdm-4.4.4-r1.ebuild index 44b61485127c..785ea8c919bf 100644 --- a/kde-base/kdm/kdm-4.4.4.ebuild +++ b/kde-base/kdm/kdm-4.4.4-r1.ebuild @@ -1,6 +1,6 @@ # Copyright 1999-2010 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/kde-base/kdm/kdm-4.4.4.ebuild,v 1.2 2010/06/21 15:53:29 scarabeus Exp $ +# $Header: /var/cvsroot/gentoo-x86/kde-base/kdm/kdm-4.4.4-r1.ebuild,v 1.1 2010/06/23 21:56:39 reavertm Exp $ EAPI="3" @@ -41,8 +41,15 @@ KMEXTRA=" PATCHES=( "${FILESDIR}/kdebase-4.0.2-pam-optional.patch" "${FILESDIR}/${PN}-4-gentoo-xinitrc.d.patch" + "${FILESDIR}/${PN}-4.3.5-xdm-restart.patch" ) +pkg_setup() { + kde4-meta_pkg_setup + + KDM_HOME=/var/lib/kdm-${SLOT} +} + src_configure() { # genkdmconf breaks with -O3 # last checked in 4.2.95 @@ -62,14 +69,25 @@ src_install() { kde4-meta_src_install - # Customize the kdmrc configuration - sed -e "s:^.*SessionsDirs=.*$:#&\nSessionsDirs=${EPREFIX}/usr/share/xsessions:" \ - -e "s:#ServerTimeout=15:ServerTimeout=30:" \ + # 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-${SLOT} + # - FaceDir set to /var/lib/kdm-${SLOT}/faces + sed -e "s|^.*SessionsDirs=.*$|#&\nSessionsDirs=${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|" \ -i "${ED}"/${KDEDIR}/share/config/kdm/kdmrc \ || die "Failed to set ServerTimeout and SessionsDirs correctly in kdmrc." # Don't install empty dir rmdir "${ED}${KDEDIR}"/share/config/kdm/sessions + + # Set up kdm work directory + keepdir "${KDM_HOME}" } pkg_postinst() { |