Make xdmcp remote login work again by reverting relevant upstream commit, bug 389757
authorAndreas Hüttel <dilfridge@gentoo.org>
Sun, 20 Nov 2011 21:49:02 +0000 (21:49 +0000)
committerAndreas Hüttel <dilfridge@gentoo.org>
Sun, 20 Nov 2011 21:49:02 +0000 (21:49 +0000)
Package-Manager: portage-2.1.10.36/cvs/Linux x86_64

kde-base/kdm/ChangeLog
kde-base/kdm/Manifest
kde-base/kdm/files/kdm-4.7.3-revertcrashlogic.patch [new file with mode: 0644]
kde-base/kdm/kdm-4.7.3-r1.ebuild [moved from kde-base/kdm/kdm-4.7.3.ebuild with 96% similarity]

index 6b7c70cec2df227f564c9e2268c807af47019b31..4d58fbadc660c60b3e49ac98e31937e24bb8d542 100644 (file)
@@ -1,6 +1,13 @@
 # ChangeLog for kde-base/kdm
 # Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/kde-base/kdm/ChangeLog,v 1.267 2011/11/02 20:48:16 alexxy Exp $
+# $Header: /var/cvsroot/gentoo-x86/kde-base/kdm/ChangeLog,v 1.268 2011/11/20 21:49:02 dilfridge Exp $
+
+*kdm-4.7.3-r1 (20 Nov 2011)
+
+  20 Nov 2011; Andreas K. Huettel <dilfridge@gentoo.org> -kdm-4.7.3.ebuild,
+  +kdm-4.7.3-r1.ebuild, +files/kdm-4.7.3-revertcrashlogic.patch:
+  Make xdmcp remote login work again by reverting relevant upstream commit, bug
+  389757
 
 *kdm-4.7.3 (02 Nov 2011)
 
index 3bd94739e90e8428bcfc48356b4cbfbd3791b9df..2655625fcdc7e4eed468fa88e3f155b0fb2cac59 100644 (file)
@@ -1,10 +1,11 @@
 -----BEGIN PGP SIGNED MESSAGE-----
-Hash: SHA256
+Hash: SHA512
 
 AUX 4.6.2_fix_halt_p1.patch 780 RMD160 227c029c717f1374a9a277f472df093fd8e01bd8 SHA1 6d1111f45f0c02871588e31f73c803821340dea5 SHA256 589bc27aac6c709e8c538d2f46df34128a726c927e7b35d483fb0e11ed3617b6
 AUX 4.6.2_fix_halt_p2.patch 741 RMD160 38c8f7ac2d865a9be91dff37503813719ad68f45 SHA1 9ba01cc7f40aac6098fe8150685ff4ebc319b8fd SHA256 090a9563cacfb847dfbe4842ab72f57c26a7c46fdbf6052cfaab8f4a84013ee0
 AUX kdebase-4.0.2-pam-optional.patch 979 RMD160 abdb7293c02507dfd0a032e72f3e449405b6d8a0 SHA1 33e2f936f0548f9b19fe541c0f71db06f9daaf63 SHA256 efa4e0132687dbaa68ab5c8a5911c4a08b5d4e9eb4d2a04879f765b8e44ba9ea
 AUX kdm-4-gentoo-xinitrc.d.patch 793 RMD160 1e22f23d7cbd4764b4a7675968e0a387de2fc09a SHA1 226db506807a31b565da598458faed4a3ce3ddb7 SHA256 7ddeaa5b5446ed9e4f94cfc474032ee7d450df3748b378a4803c5b7b2bdce684
+AUX kdm-4.7.3-revertcrashlogic.patch 4452 RMD160 27f96bf067fc2f45919b9114f74f998c236a2e5b SHA1 108c6acb5dd9fb042a5f4e9c4e3c5d9916fd7f94 SHA256 74f339d17e61c8431726b1c3975423b4cf19ea569990db35e83bf23d1a4b6d1f
 AUX kdm-logrotate 111 RMD160 dfdebb05a456a2a6a83faa86e47ff847618634dd SHA1 af020c65a8a27f49b178bb1cb42e9786cf6a578b SHA256 516523c6db0b85d33f0a90d284e707ed4d2ba426b154872af2e8e9389e4ef089
 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
@@ -13,23 +14,23 @@ DIST kdebase-workspace-4.6.5.tar.bz2 69241659 RMD160 580bcfe80aeb70dc7c2ef559338
 EBUILD kdm-4.6.3-r1.ebuild 4208 RMD160 7181bf4fa155590416b55cb923d9f63d9e1fa949 SHA1 5580a1576443e687a13b86dd18c67be7c0f86fef SHA256 80dcb740df6f9b6a8820c3d09686c337db41aaff0c3ad88ade2e3ac8724667b3
 EBUILD kdm-4.6.5-r2.ebuild 4232 RMD160 a6ffeae75dc59dc1ade0fc6363c6284aafdcd62f SHA1 fc620a78c45625f4e2ccfdca70a73f31c841e54e SHA256 eed7fb49b6f45dd783be46383fcb7b981d733a93f2e4461e82c7ed90933677f7
 EBUILD kdm-4.7.2-r1.ebuild 4338 RMD160 d40b6bb329e27f6f751b8f536700cc581e937e8d SHA1 3c167ef6de4357ae6220f4e1566c2a6f7a6d0e55 SHA256 46204c5d1812f17653e1a365a09ba707ca7165e8a2e2af8c2aff3212c0e80568
-EBUILD kdm-4.7.3.ebuild 4332 RMD160 3991fc86c193d2e9cae256ceb5b897ce9aaedfd1 SHA1 392c098cedb1977efb9c2cfd56675407f2533e16 SHA256 4397f078f308612375ad7904938ad958a61edf2235076180d23d6a2c096d57d6
-MISC ChangeLog 35460 RMD160 da3eaf5d59e3c8f747d0f5a3ee72ef119b6f687f SHA1 cdc584978b42d56244d44dab91c9bf9ae1a815f7 SHA256 72b50be72a2848e1de10383d37fa04819eed1ba01b06a10cb6ecde65bff0bbaf
+EBUILD kdm-4.7.3-r1.ebuild 4388 RMD160 0587621e6f2b569e150c0af5388a2652d9672cd3 SHA1 c85e037fd019899b603b61041bf020fed6e8bb16 SHA256 232a47ea48630e29f1ab0d1c80716cf6c1a3dad0db4a65bf344bbbd1b2b79f42
+MISC ChangeLog 35723 RMD160 4cbd3118ad81dd88e989c5971079c96f1d244b5b SHA1 2c7d8ed9a29fdd9af6a8483229fb7d1c9b1a6004 SHA256 a69d25688e62902a02a9f3ffa773a7ffea449279ac2c0ff1bed0e74de8e4b6ac
 MISC metadata.xml 253 RMD160 dbe3d0cc1778dad287767c5dee6b46b42ccf20ec SHA1 b4723a2baaec997efee2cdc543248a2aad8f1a7e SHA256 955ffc185b3b01315be94542ea43ae1180d5f61ea539a317c45c5746b463eeba
 -----BEGIN PGP SIGNATURE-----
-Version: GnuPG v2.0.18 (GNU/Linux)
+Version: GnuPG v2.0.17 (GNU/Linux)
 
-iQIcBAEBCAAGBQJOsa6BAAoJEOf+E+/4L5Lm6LUQAKqB9JAkholhxLrpGOGmQA54
-SAf2OLtRWb72WsnmxMNsRgVj1A5hYhL5n7AcFSP7p8798x8fk/j+rKlaQe81MOAj
-uMBnKjz+GC1kOVPSC7hfVh+c19MjddQKoaZuS3Etea/aEcf6jdqYGwWXM4hiTepr
-8bVb8hDSzq5w9A4RiBfSaIMSwydvIDCt3OjGLDPjJE7CSxBqvU682zsIzaMYgSfH
-0e9SPloOEgQPf10SXpBCgpOCtBBtO6ynUM6Az36wRb4mDfMt8/arMt7C8WevPlth
-pKtdEEVlwr/3XbPB2j1Wseso0YWrdS00YnYjIsj4QQB5XlRt160cYouhJU3xDqel
-4Bw6FRUWm9BVEct5TQhtxLJ3pYisSuBRvvXLKVkWiyGoeExz8QyF2l/7UaJVnbYF
-uxtLu1ndFIgcSeeTe/5vRxoe19F6uIayE+CPGsiAhuBI60YxPtdqT5o8XKCXmeHo
-ZXNua4EM8CBHurrhADNYPd4KYV8GN0AkmLVKdFrvI3kqyOvU61mMP/p0ZyF/JSrW
-pmO9V+ddXgZgs1sLCGAXhzg/wHrIdyB6gkb3V42yr7uDufHDKv7AgiWhprlwkJLy
-whongYqYu24bV8nIcR02Z6DiSYdEp730+VvblPO8g+N7bS9Mhg89PlwhbrmrTQRE
-cQ0L+jtyolEcL1iXLowa
-=PoCs
+iQIcBAEBCgAGBQJOyYQbAAoJENwGBM22xffeW50QAKp/NMizto64WKF2qMr4Q5ee
+sUDis2hgnvGZp4GxRhOXjrwJi596syCUj0psOa2QqtzehzoE7Kh2vQTroZmy1szY
+IYQSDNceJxzP2mQzZbmfxHX1n7aLzRJbbKK5mm3QtOpkCukoC78iODQsfqyAvKgd
+w/MmuB8PKB0yYz2I04cX7up+ymzZKnb64wm6zdRWMXsOu/z4dAu2ClBbhe6n09sZ
+G4h+aUq4Tr6TXUmW4SvtUlgYwOAMov2wZx+Nq50GiFV+bfPY3xg4FAj20DYd5pCh
+tPq3Hll+3/oeeHhtv6Fls7mHeduu3Se4QBTaVzj2QehSR40sokPIidLx5Wqc5D4R
+xd0UeugOr/P/T5C5QC+1z9h0aAMqApvd9A5B3qlC8yHKzVop+ZzaAsWnVP+ie74u
+Xlc3iqCVEn3GNUJHvU1aLjp6VJk33RQ32KWnzPH/gC1/MyqQkSJpaLxb/xtCrRuk
+IUiiBKsv5U4pPnyVwDhGv/Xs1qc01VCevPgzsGmAji7FHrfGgKtzjEvqREFzaqEG
+pMyXXO0Y4OaSs18QYYlKSmFZMZDyxws7kP4pylpf5MdGvP24b3iUhA/VnqvGWtKB
+R24rTpIzvETaBUHF6j/I3xMTEYWoerG7PgZ9FCyliF+TLiZ7nw9tmmW5OOVXstec
+cHHB03voVNwHJ8O6I6vr
+=WJQd
 -----END PGP SIGNATURE-----
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 (file)
index 0000000..94e47d5
--- /dev/null
@@ -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;
+ };
similarity index 96%
rename from kde-base/kdm/kdm-4.7.3.ebuild
rename to kde-base/kdm/kdm-4.7.3-r1.ebuild
index 8ab4b2d436495f13cdda6783f3599ab7f31e2526..07864505cdd1329aab00bd9e2b5220b1c75bafa4 100644 (file)
@@ -1,6 +1,6 @@
 # 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.3.ebuild,v 1.1 2011/11/02 20:48:16 alexxy Exp $
+# $Header: /var/cvsroot/gentoo-x86/kde-base/kdm/kdm-4.7.3-r1.ebuild,v 1.1 2011/11/20 21:49:02 dilfridge Exp $
 
 EAPI=4
 
@@ -40,6 +40,7 @@ KMEXTRA="
 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() {