diff options
Diffstat (limited to 'devel/kf5-kpty/files/patch-rb_129122')
-rw-r--r-- | devel/kf5-kpty/files/patch-rb_129122 | 68 |
1 files changed, 0 insertions, 68 deletions
diff --git a/devel/kf5-kpty/files/patch-rb_129122 b/devel/kf5-kpty/files/patch-rb_129122 deleted file mode 100644 index 23fb90c4d019..000000000000 --- a/devel/kf5-kpty/files/patch-rb_129122 +++ /dev/null @@ -1,68 +0,0 @@ -Try to use ulog-helper if utempter does not exist - -FreeBSD does not have /usr/libexec/*/utempter. -It does however have /usr/libexec/ulog-helper [1]. - -It uses login instead of add and logout instead of del. - -[1] https://svnweb.freebsd.org/base/head/libexec/ulog-helper/ulog-helper.c?revision=234469&view=markup -[2] https://git.reviewboard.kde.org/r/129122/ - -diff --git a/cmake/FindUTEMPTER.cmake b/cmake/FindUTEMPTER.cmake -index 4921e58..d3236c8 100644 ---- cmake/FindUTEMPTER.cmake -+++ cmake/FindUTEMPTER.cmake -@@ -42,6 +42,16 @@ find_file (UTEMPTER_EXECUTABLE utempter PATHS - /usr/libexec/utempter - ) - -+# On FreeBSD for example we have to use ulog-helper -+if (NOT UTEMPTER_EXECUTABLE) -+ find_program (UTEMPTER_EXECUTABLE ulog-helper PATHS -+ /usr/libexec -+ ) -+ if (UTEMPTER_EXECUTABLE) -+ add_definitions(-DUTEMPTER_ULOG=1) -+ endif () -+endif () -+ - if (UTEMPTER_EXECUTABLE) - add_definitions(-DUTEMPTER_PATH=\"${UTEMPTER_EXECUTABLE}\") - endif () -diff --git a/src/kpty.cpp b/src/kpty.cpp -index 7bf31c3..11006df 100644 ---- src/kpty.cpp -+++ src/kpty.cpp -@@ -74,6 +74,14 @@ - #endif - - #ifdef UTEMPTER_PATH -+// utempter uses 'add' and 'del' whereas ulog-helper uses 'login' and 'logout' -+# ifndef UTEMPTER_ULOG -+# define UTEMPTER_ADD "add" -+# define UTEMPTER_DEL "del" -+# else -+# define UTEMPTER_ADD "login" -+# define UTEMPTER_DEL "logout" -+# endif - class UtemptProcess : public QProcess - { - public: -@@ -517,7 +525,7 @@ void KPty::login(const char *user, const char *remotehost) - UtemptProcess utemptProcess; - utemptProcess.cmdFd = d->masterFd; - utemptProcess.setProgram(d->utempterPath); -- utemptProcess.setArguments(QStringList() << QStringLiteral("add") << QString::fromLocal8Bit(remotehost)); -+ utemptProcess.setArguments(QStringList() << QStringLiteral(UTEMPTER_ADD) << QString::fromLocal8Bit(remotehost)); - utemptProcess.setProcessChannelMode(QProcess::ForwardedChannels); - utemptProcess.start(); - utemptProcess.waitForFinished(); -@@ -606,7 +614,7 @@ void KPty::logout() - UtemptProcess utemptProcess; - utemptProcess.cmdFd = d->masterFd; - utemptProcess.setProgram(d->utempterPath); -- utemptProcess.setArguments(QStringList(QStringLiteral("del"))); -+ utemptProcess.setArguments(QStringList(QStringLiteral(UTEMPTER_DEL))); - utemptProcess.setProcessChannelMode(QProcess::ForwardedChannels); - utemptProcess.start(); - utemptProcess.waitForFinished(); |