patch to use libutempter

This commit is contained in:
Than Ngo 2007-01-25 16:37:25 +00:00
parent 891f1ecd01
commit 4c5f0821d7
2 changed files with 107 additions and 0 deletions

View File

@ -0,0 +1,105 @@
--- kdelibs-3.5.6/kdecore/Makefile.am.utempter 2007-01-25 17:38:24.000000000 +0100
+++ kdelibs-3.5.6/kdecore/Makefile.am 2007-01-25 17:53:21.000000000 +0100
@@ -115,7 +115,7 @@
kuser.cpp kconfigskeleton.cpp kconfigdialogmanager.cpp klockfile.cpp \
kqiodevicegzip_p.cpp ktimezones.cpp
-libkdecore_la_LDFLAGS = $(QT_LDFLAGS) $(KDE_RPATH) $(KDE_MT_LDFLAGS) $(X_LDFLAGS) $(USER_LDFLAGS) -version-info 6:0:2 -no-undefined
+libkdecore_la_LDFLAGS = $(QT_LDFLAGS) $(KDE_RPATH) $(KDE_MT_LDFLAGS) $(LIBUTEMPTER) $(X_LDFLAGS) $(USER_LDFLAGS) -version-info 6:0:2 -no-undefined
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
libkdecore_la_NMCHECK = $(srcdir)/libkdecore.nmcheck
libkdecore_la_NMCHECKWEAK = $(srcdir)/libkdecore_weak.nmcheck $(srcdir)/libqt-mt_weak.nmcheck \
--- kdelibs-3.5.6/kdecore/Makefile.in.utempter 2007-01-25 17:38:03.000000000 +0100
+++ kdelibs-3.5.6/kdecore/Makefile.in 2007-01-25 17:53:21.000000000 +0100
@@ -783,7 +783,7 @@
#>- libkdecore_la_LDFLAGS = $(QT_LDFLAGS) $(KDE_RPATH) $(KDE_MT_LDFLAGS) $(X_LDFLAGS) $(USER_LDFLAGS) -version-info 6:0:2 -no-undefined
#>+ 1
-libkdecore_la_LDFLAGS = $(QT_LDFLAGS) $(KDE_RPATH) $(KDE_MT_LDFLAGS) $(X_LDFLAGS) $(USER_LDFLAGS) -version-info 6:0:2 -no-undefined $(KDE_NO_UNDEFINED)
+libkdecore_la_LDFLAGS = $(QT_LDFLAGS) $(KDE_RPATH) $(KDE_MT_LDFLAGS) $(LIBUTEMPTER) $(X_LDFLAGS) $(USER_LDFLAGS) -version-info 6:0:2 -no-undefined $(KDE_NO_UNDEFINED)
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
libkdecore_la_NMCHECK = $(srcdir)/libkdecore.nmcheck
libkdecore_la_NMCHECKWEAK = $(srcdir)/libkdecore_weak.nmcheck $(srcdir)/libqt-mt_weak.nmcheck \
--- kdelibs-3.5.6/kdecore/kpty.cpp.utempter 2007-01-25 17:37:50.000000000 +0100
+++ kdelibs-3.5.6/kdecore/kpty.cpp 2007-01-25 17:53:21.000000000 +0100
@@ -80,6 +80,10 @@
# include <utmp.h>
#endif
+#ifdef HAVE_UTEMPTER
+# include <utempter.h>
+#endif
+
#ifdef HAVE_TERMIOS_H
/* for HP-UX (some versions) the extern C is needed, and for other
platforms it doesn't hurt */
@@ -138,21 +142,6 @@
// private functions //
///////////////////////
-#ifdef HAVE_UTEMPTER
-class KProcess_Utmp : public KProcess
-{
-public:
- int commSetupDoneC()
- {
- dup2(cmdFd, 0);
- dup2(cmdFd, 1);
- dup2(cmdFd, 3);
- return 1;
- }
- int cmdFd;
-};
-#endif
-
#define BASE_CHOWN "kgrantpty"
@@ -399,12 +388,8 @@
void KPty::login(const char *user, const char *remotehost)
{
#ifdef HAVE_UTEMPTER
- KProcess_Utmp utmp;
- utmp.cmdFd = d->masterFd;
- utmp << "/usr/sbin/utempter" << "-a" << d->ttyName << "";
- utmp.start(KProcess::Block);
+ utempter_add_record (d->masterFd, remotehost);
Q_UNUSED(user);
- Q_UNUSED(remotehost);
#elif defined(USE_LOGIN)
const char *str_ptr;
struct utmp l_struct;
@@ -442,10 +427,7 @@
void KPty::logout()
{
#ifdef HAVE_UTEMPTER
- KProcess_Utmp utmp;
- utmp.cmdFd = d->masterFd;
- utmp << "/usr/sbin/utempter" << "-d" << d->ttyName;
- utmp.start(KProcess::Block);
+ utempter_remove_record (d->masterFd);
#elif defined(USE_LOGIN)
const char *str_ptr = d->ttyName.data();
if (!memcmp(str_ptr, "/dev/", 5))
--- kdelibs-3.5.6/configure.in.in.utempter 2006-05-22 20:14:23.000000000 +0200
+++ kdelibs-3.5.6/configure.in.in 2007-01-25 18:15:25.000000000 +0100
@@ -395,7 +395,7 @@
[], with_utempter=check)
if test "x$with_utempter" != xno; then
kde_have_utempter=yes
- AC_CHECK_LIB(utempter, addToUtmp, [LIBUTEMPTER=-lutempter], kde_have_utempter=no)
+ AC_CHECK_LIB(utempter, utempter_add_record, [LIBUTEMPTER=-lutempter], kde_have_utempter=no)
AC_SUBST(LIBUTEMPTER)
if test "$kde_have_utempter" = "yes"; then
AC_DEFINE_UNQUOTED(HAVE_UTEMPTER, 1, [Define if you have the utempter helper for utmp managment])
--- kdelibs-3.5.6/configure.in.utempter 2007-01-25 18:15:52.000000000 +0100
+++ kdelibs-3.5.6/configure.in 2007-01-25 18:15:39.000000000 +0100
@@ -399,7 +399,7 @@
[], with_utempter=check)
if test "x$with_utempter" != xno; then
kde_have_utempter=yes
- AC_CHECK_LIB(utempter, addToUtmp, [LIBUTEMPTER=-lutempter], kde_have_utempter=no)
+ AC_CHECK_LIB(utempter, utempter_add_record, [LIBUTEMPTER=-lutempter], kde_have_utempter=no)
AC_SUBST(LIBUTEMPTER)
if test "$kde_have_utempter" = "yes"; then
AC_DEFINE_UNQUOTED(HAVE_UTEMPTER, 1, [Define if you have the utempter helper for utmp managment])

View File

@ -45,6 +45,7 @@ Patch37: kdelibs-3.5.2-kdebug-kmail-quiet.patch
Patch38: kdelibs-3.5.2-cupsdconf2-group.patch
Patch39: kdelibs-3.5.4-kabc-make.patch
Patch40: kdelibs-3.5.4-kdeprint-utf8.patch
Patch41: kdelibs-3.5.6-utempter.patch
Requires: arts >= %{arts_epoch}:%{arts_version}
Requires: qt >= %{qt_epoch}:%{qt_version}
@ -167,6 +168,7 @@ format for easy browsing
%patch38 -p1 -b .cupsdconf2-group
%patch39 -p1 -b .kabc-make
%patch40 -p1 -b .kdeprint-utf8
%patch41 -p1 -b .utempter
perl -pi -e "s,^#define KDE_VERSION_STRING .*,#define KDE_VERSION_STRING \"%{version}-%{release} %{distname}\"," kdecore/kdeversion.h