05f6862
diff -Nur kdelibs-3.5.6.orig/configure.in.in kdelibs-3.5.6/configure.in.in
05f6862
--- kdelibs-3.5.6.orig/configure.in.in	2006-05-22 20:14:23.000000000 +0200
05f6862
+++ kdelibs-3.5.6/configure.in.in	2007-02-05 23:01:44.000000000 +0100
05f6862
@@ -395,7 +395,7 @@
05f6862
 [], with_utempter=check)
05f6862
 if test "x$with_utempter" != xno; then
05f6862
   kde_have_utempter=yes
05f6862
-  AC_CHECK_LIB(utempter, addToUtmp, [LIBUTEMPTER=-lutempter], kde_have_utempter=no)
05f6862
+  AC_CHECK_LIB(utempter, utempter_add_record, [LIBUTEMPTER=-lutempter], kde_have_utempter=no)
05f6862
   AC_SUBST(LIBUTEMPTER)
05f6862
   if test "$kde_have_utempter" = "yes"; then
05f6862
     AC_DEFINE_UNQUOTED(HAVE_UTEMPTER, 1, [Define if you have the utempter helper for utmp managment])
05f6862
diff -Nur kdelibs-3.5.6.orig/kdecore/kpty.cpp kdelibs-3.5.6/kdecore/kpty.cpp
05f6862
--- kdelibs-3.5.6.orig/kdecore/kpty.cpp	2006-05-22 20:14:21.000000000 +0200
05f6862
+++ kdelibs-3.5.6/kdecore/kpty.cpp	2007-02-05 23:01:44.000000000 +0100
05f6862
@@ -80,6 +80,10 @@
05f6862
 # include <utmp.h>
05f6862
 #endif
05f6862
 
05f6862
+#ifdef HAVE_UTEMPTER
05f6862
+# include <utempter.h>
05f6862
+#endif
05f6862
+
05f6862
 #ifdef HAVE_TERMIOS_H
05f6862
 /* for HP-UX (some versions) the extern C is needed, and for other
05f6862
    platforms it doesn't hurt */
05f6862
@@ -138,21 +142,6 @@
05f6862
 // private functions //
05f6862
 ///////////////////////
05f6862
 
05f6862
-#ifdef HAVE_UTEMPTER
05f6862
-class KProcess_Utmp : public KProcess
05f6862
-{
05f6862
-public:
05f6862
-   int commSetupDoneC()
05f6862
-   {
05f6862
-     dup2(cmdFd, 0);
05f6862
-     dup2(cmdFd, 1);
05f6862
-     dup2(cmdFd, 3);
05f6862
-     return 1;
05f6862
-   }
05f6862
-   int cmdFd;
05f6862
-};
05f6862
-#endif
05f6862
-
05f6862
 #define BASE_CHOWN "kgrantpty"
05f6862
 
05f6862
 
05f6862
@@ -399,12 +388,8 @@
05f6862
 void KPty::login(const char *user, const char *remotehost)
05f6862
 {
05f6862
 #ifdef HAVE_UTEMPTER
05f6862
-    KProcess_Utmp utmp;
05f6862
-    utmp.cmdFd = d->masterFd;
05f6862
-    utmp << "/usr/sbin/utempter" << "-a" << d->ttyName << "";
05f6862
-    utmp.start(KProcess::Block);
05f6862
+    utempter_add_record (d->masterFd, remotehost);
05f6862
     Q_UNUSED(user);
05f6862
-    Q_UNUSED(remotehost);
05f6862
 #elif defined(USE_LOGIN)
05f6862
     const char *str_ptr;
05f6862
     struct utmp l_struct;
05f6862
@@ -442,10 +427,7 @@
05f6862
 void KPty::logout()
05f6862
 {
05f6862
 #ifdef HAVE_UTEMPTER
05f6862
-    KProcess_Utmp utmp;
05f6862
-    utmp.cmdFd = d->masterFd;
05f6862
-    utmp << "/usr/sbin/utempter" << "-d" << d->ttyName;
05f6862
-    utmp.start(KProcess::Block);
05f6862
+    utempter_remove_record (d->masterFd);
05f6862
 #elif defined(USE_LOGIN)
05f6862
     const char *str_ptr = d->ttyName.data();
05f6862
     if (!memcmp(str_ptr, "/dev/", 5))
05f6862
diff -Nur kdelibs-3.5.6.orig/kdecore/Makefile.am kdelibs-3.5.6/kdecore/Makefile.am
05f6862
--- kdelibs-3.5.6.orig/kdecore/Makefile.am	2006-10-01 19:33:38.000000000 +0200
05f6862
+++ kdelibs-3.5.6/kdecore/Makefile.am	2007-02-05 23:01:44.000000000 +0100
05f6862
@@ -115,7 +115,7 @@
05f6862
 	kuser.cpp kconfigskeleton.cpp kconfigdialogmanager.cpp klockfile.cpp \
05f6862
 	kqiodevicegzip_p.cpp ktimezones.cpp
05f6862
 
05f6862
-libkdecore_la_LDFLAGS = $(QT_LDFLAGS) $(KDE_RPATH) $(KDE_MT_LDFLAGS) $(X_LDFLAGS) $(USER_LDFLAGS) -version-info 6:0:2 -no-undefined
05f6862
+libkdecore_la_LDFLAGS = $(QT_LDFLAGS) $(KDE_RPATH) $(KDE_MT_LDFLAGS) $(LIBUTEMPTER) $(X_LDFLAGS) $(USER_LDFLAGS) -version-info 6:0:2 -no-undefined
05f6862
 libkdecore_la_LIBADD = malloc/libklmalloc.la network/libkdecorenetwork.la $(SVGICON_LIB) ../dcop/libDCOP.la ../libltdl/libltdlc.la $(LIB_XEXT) $(LIBRESOLV) $(LIBUTIL) $(LIBART_LIBS) $(LIB_IDN) ../kdefx/libkdefx.la
05f6862
 libkdecore_la_NMCHECK = $(srcdir)/libkdecore.nmcheck
05f6862
 libkdecore_la_NMCHECKWEAK = $(srcdir)/libkdecore_weak.nmcheck $(srcdir)/libqt-mt_weak.nmcheck \