Apply kdm timeout patch from bug 278473, add TerminateServer=true to kdmrc (workaroun...
authorMaciej Mrozowski <reavertm@gentoo.org>
Wed, 23 Jun 2010 21:56:39 +0000 (21:56 +0000)
committerMaciej Mrozowski <reavertm@gentoo.org>
Wed, 23 Jun 2010 21:56:39 +0000 (21:56 +0000)
Package-Manager: portage-2.2_rc67/cvs/Linux x86_64

kde-base/kdm/ChangeLog
kde-base/kdm/Manifest
kde-base/kdm/files/kdm-4.3.5-xdm-restart.patch [new file with mode: 0644]
kde-base/kdm/kdm-4.4.4-r1.ebuild [moved from kde-base/kdm/kdm-4.4.4.ebuild with 73% similarity]

index 2dfe07634a998c7313e84ff69af5b692ba762963..d9c73839cb69d9e716e4bbd1caf13c179170d00c 100644 (file)
@@ -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:
index 135ce7d1c0d1f57185d00985d89a2c42d083b683..f4a9b95a6ae18737876795011ca8444da23580e9 100644 (file)
@@ -2,10 +2,11 @@ AUX kdebase-4.0.2-pam-optional.patch 979 RMD160 abdb7293c02507dfd0a032e72f3e4494
 AUX kdm-4-gentoo-xinitrc.d.patch 793 RMD160 1e22f23d7cbd4764b4a7675968e0a387de2fc09a SHA1 226db506807a31b565da598458faed4a3ce3ddb7 SHA256 7ddeaa5b5446ed9e4f94cfc474032ee7d450df3748b378a4803c5b7b2bdce684
 AUX kdm-4.3.1-set-grub-default.patch 953 RMD160 c5cae2d7e2dd6dc8592ba257442cb6074d65d8c3 SHA1 c0610cd3442c11290a203c5cab9d59a7f353ebfc SHA256 0c890850869d048d15e13687d3bb889c2941280cc9ca3d62c57a2d0ea3674273
 AUX kdm-4.3.5-CVE-2010-0436.patch 6735 RMD160 4f7f84fde6026f736cc93d12bab265f07661460c SHA1 e8fea5bd3b9698a53677629620833f02c48a22df SHA256 66c7833cfea48ce6d370d38e0593045a866306e0f36e76f6821bf14fbcca2367
+AUX kdm-4.3.5-xdm-restart.patch 1593 RMD160 f6bf916ec09049ba7c7a3c65ec86b59302b8f3be SHA1 f70ae3f876f3840364c698d33d60b15395a457c4 SHA256 0f2f2d9dfba1c0a8a82c6b92cb55ff5afe77fc8b5cbe280fb7fbba19f8327866
 AUX kdm-4.4.2-CVE-2010-0436.patch 5823 RMD160 f5aa26aca739cfbf099e63c59ab692d0ef3db6a8 SHA1 9eb126737a88f0c8b2729e69ecdd9c3a4929fde4 SHA256 d1a9a957da99f1ceb6b8fff28a4db167d8bff8fcfb23d5c16377b3e6c7a800ca
 DIST kdebase-workspace-4.3.5.tar.bz2 62525359 RMD160 dcf04a40412ba236365423afc877ea0c2066f972 SHA1 703582cb8a3471c5821986dbdfc3c6deedac0ff3 SHA256 7985634ed1f87889bcd6613ef41127196df442017bf895be6fb2afb196ce149b
 DIST kdebase-workspace-4.4.4.tar.bz2 77036111 RMD160 26df3ddc22611f50d29818d27079dfe4bacf6910 SHA1 7b20bc91a5969b4c42c83076926cf6838b2ba47b SHA256 132df024801fff623d3e97f366dff0ed0fae7a653ac483184c0c65f8ea4adee7
 EBUILD kdm-4.3.5-r1.ebuild 2673 RMD160 753b7c04d5d12fdf3255668b34df16b7ded7cc49 SHA1 67a2deefa01b9c998f9880d3643d7e7c2ba8a9c5 SHA256 9e90e93fd9f64f4bf695be31e68ab3d0c62935899744ed40a6bfb070e4894657
-EBUILD kdm-4.4.4.ebuild 2650 RMD160 b505a4e6f84b6006d6c7b120fcc91019e2e59495 SHA1 bf559762536c6ddb38cbeb576c12dfc876793062 SHA256 49d041077112cdc164596560836b08ac55c1c09e7204c1d55a2ca9ec02a4a57f
-MISC ChangeLog 28901 RMD160 052947346ce88372f2446ff0a3821f548164657c SHA1 70b4dddac05ef6e123880828c14f4a8b367d750d SHA256 69010468982fdf4fca8a7789cf06e108d3288d902d393b28461d2f9bea0e52d9
+EBUILD kdm-4.4.4-r1.ebuild 3250 RMD160 78aa1a0973569e8d385bcd00276428d9528d9a3a SHA1 97dd069e86c613641f09ffa48aabc2382900ad27 SHA256 4f8c3bfb0da9f0d4ecc3f243e8468b2aa77d534773ba8c5150223ba355c4cbd5
+MISC ChangeLog 29235 RMD160 63aa7898b73bd3f78728cd3dbb9aed806bafb4a7 SHA1 a061ed978b1bf4390df614a478a65d9ac812cea9 SHA256 e77da44c626562733c8d4619ed8d98000e3452f3c475587440091d9d3e5f6b73
 MISC metadata.xml 253 RMD160 dbe3d0cc1778dad287767c5dee6b46b42ccf20ec SHA1 b4723a2baaec997efee2cdc543248a2aad8f1a7e SHA256 955ffc185b3b01315be94542ea43ae1180d5f61ea539a317c45c5746b463eeba
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 (file)
index 0000000..a47150c
--- /dev/null
@@ -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 );
similarity index 73%
rename from kde-base/kdm/kdm-4.4.4.ebuild
rename to kde-base/kdm/kdm-4.4.4-r1.ebuild
index 44b61485127c6a6c8d817e27a3e38ea132dc6a9c..785ea8c919bf87d74a786abd94c9723046c52d5f 100644 (file)
@@ -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() {