Index: security/Makefile =================================================================== --- security/Makefile +++ security/Makefile @@ -400,6 +400,7 @@ SUBDIR += logcheck SUBDIR += luasec SUBDIR += luasec-51 + SUBDIR += lxqt-sudo SUBDIR += lynis SUBDIR += mac-robber SUBDIR += maia Index: security/lxqt-sudo/Makefile =================================================================== --- /dev/null +++ security/lxqt-sudo/Makefile @@ -0,0 +1,24 @@ +# Created by: Olivier Duchateau +# $FreeBSD$ + +PORTNAME= lxqt-sudo +PORTVERSION= 0.13.0 +CATEGORIES= security +MASTER_SITES= LXQT + +MAINTAINER= jsm@FreeBSD.org +COMMENT= GUI frontend to su/sudo for LXQt desktop + +LICENSE= LGPL21+ + +RUN_DEPENDS= sudo:security/sudo + +USES= cmake:outsource compiler:c++11-lib gettext kde:5 lxqt qt:5 \ + pkgconfig tar:xz +USE_QT= buildtools_build qmake_build core dbus gui svg widgets \ + x11extras xml + +USE_KDE= windowsystem +USE_LXQT= buildtools lxqt + +.include Index: security/lxqt-sudo/distinfo =================================================================== --- /dev/null +++ security/lxqt-sudo/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1527328596 +SHA256 (lxqt/lxqt-sudo-0.13.0.tar.xz) = 8e05adf4926eead9fa3015be54a76f67ebf3f7c40e1dea0bcafbcf4c38e548c8 +SIZE (lxqt/lxqt-sudo-0.13.0.tar.xz) = 16208 Index: security/lxqt-sudo/files/patch-sudo.cpp =================================================================== --- /dev/null +++ security/lxqt-sudo/files/patch-sudo.cpp @@ -0,0 +1,60 @@ +--- sudo.cpp.orig 2018-05-21 19:10:17 UTC ++++ sudo.cpp +@@ -36,7 +36,13 @@ + #include + #include + #include ++#if defined(__linux__) + #include ++#elif defined(__FreeBSD__) ++#include ++#include ++#include ++#endif + #include + #include + #include +@@ -52,6 +58,9 @@ namespace + + const QString su_prog{QStringLiteral(LXQTSUDO_SU)}; + const QString sudo_prog{QStringLiteral(LXQTSUDO_SUDO)}; ++#ifdef __FreeBSD__ ++ const QString pwd_prompt_end_c_locale{QStringLiteral(":")}; ++#endif + const QString pwd_prompt_end{QStringLiteral(": ")}; + const QChar nl{QLatin1Char('\n')}; + +@@ -179,6 +188,10 @@ void Sudo::child() + if (BACK_SU == mBackend) + { + program = su_prog.toStdString(); ++#ifdef __FreeBSD__ ++ *(param_arg++) = "-m"; ++ *(param_arg++) = "root"; ++#endif + *(param_arg++) = "-c"; //run command + } else + { +@@ -200,7 +213,6 @@ void Sudo::child() + + setsid(); //session leader + execvp(params[0], const_cast(params.get())); +- + //exec never returns in case of success + QTextStream{stderr, QIODevice::WriteOnly} << tr("%1: Failed to exec '%2': %3\n").arg(app_master).arg(params[0]).arg(strerror(errno)); + exit(1); +@@ -277,8 +289,13 @@ int Sudo::parent() + lxqtApp->quit(); + } else + { +- if (line.endsWith(pwd_prompt_end)) ++#ifdef __FreeBSD__ ++ if( line.endsWith(pwd_prompt_end_c_locale) || line.endsWith(pwd_prompt_end)) ++#else ++ if(line.endsWith(pwd_prompt_end)) ++#endif + { ++ + //if now echo is turned off, su/sudo requests password + struct termios tios; + //loop to be sure we don't miss the flag (we can afford such small delay in "normal" output processing) Index: security/lxqt-sudo/pkg-descr =================================================================== --- /dev/null +++ security/lxqt-sudo/pkg-descr @@ -0,0 +1,5 @@ +lxqt-sudo and lxsu is a graphical front-end of commands +sudo and su respectively. +It enables regular users to launch applications with permissions of root. + +WWW: http://lxqt.org/ Index: security/lxqt-sudo/pkg-message =================================================================== --- /dev/null +++ security/lxqt-sudo/pkg-message @@ -0,0 +1,2 @@ +* You must be in the sudoers file in order to use lxqt-sudo +* You must be in the the wheel group in order to use lxsu Index: security/lxqt-sudo/pkg-plist =================================================================== --- /dev/null +++ security/lxqt-sudo/pkg-plist @@ -0,0 +1,6 @@ +bin/lxqt-sudo +bin/lxsu +bin/lxsudo +man/man1/lxqt-sudo.1.gz +man/man1/lxsu.1.gz +man/man1/lxsudo.1.gz