aboutsummaryrefslogtreecommitdiff
path: root/security/lxqt-sudo
diff options
context:
space:
mode:
authorJesper Schmitz Mouridsen <jsm@FreeBSD.org>2020-06-20 09:03:35 +0000
committerJesper Schmitz Mouridsen <jsm@FreeBSD.org>2020-06-20 09:03:35 +0000
commit6219abfe932b15fa554f9ac60baccb0bb8275077 (patch)
tree01905696c7a570a26937eae0d1abf187650613ad /security/lxqt-sudo
parent27fa3f72633b6928feb7d3058d766d36ef82ae72 (diff)
downloadports-6219abfe932b15fa554f9ac60baccb0bb8275077.tar.gz
ports-6219abfe932b15fa554f9ac60baccb0bb8275077.zip
Upgrade to 0.15.0
Approved by: swills (mentor) Differential Revision: https://reviews.freebsd.org/D24717
Notes
Notes: svn path=/head/; revision=539717
Diffstat (limited to 'security/lxqt-sudo')
-rw-r--r--security/lxqt-sudo/Makefile5
-rw-r--r--security/lxqt-sudo/distinfo6
-rw-r--r--security/lxqt-sudo/files/patch-sudo.cpp103
-rw-r--r--security/lxqt-sudo/pkg-plist10
4 files changed, 34 insertions, 90 deletions
diff --git a/security/lxqt-sudo/Makefile b/security/lxqt-sudo/Makefile
index cc6ca83ef583..1b3ade7eac1d 100644
--- a/security/lxqt-sudo/Makefile
+++ b/security/lxqt-sudo/Makefile
@@ -2,7 +2,7 @@
# $FreeBSD$
PORTNAME= lxqt-sudo
-PORTVERSION= 0.14.1
+PORTVERSION= 0.15.0
CATEGORIES= security
MASTER_SITES= LXQT
@@ -14,11 +14,12 @@ LICENSE= LGPL21+
RUN_DEPENDS= sudo:security/sudo
USES= cmake compiler:c++14-lang gettext kde:5 lxqt qt:5 \
- pkgconfig tar:xz
+ pkgconfig tar:xz gnome
USE_QT= buildtools_build qmake_build core dbus gui svg widgets \
x11extras xml
USE_KDE= windowsystem
USE_LXQT= buildtools lxqt
+USE_GNOME= glib20
.include <bsd.port.mk>
diff --git a/security/lxqt-sudo/distinfo b/security/lxqt-sudo/distinfo
index d875aa26c73c..ccfb0d0f19f5 100644
--- a/security/lxqt-sudo/distinfo
+++ b/security/lxqt-sudo/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1563915013
-SHA256 (lxqt/lxqt-sudo-0.14.1.tar.xz) = 5e59d592b8cd06fe47ede6b1460fac08f5ccdb56dcdeddf599fcde39c57d7e55
-SIZE (lxqt/lxqt-sudo-0.14.1.tar.xz) = 30692
+TIMESTAMP = 1588437993
+SHA256 (lxqt/lxqt-sudo-0.15.0.tar.xz) = bc148b2aa80c3dc6fea200a848e25b5c0684295a70f876931f11ffd168fd8fec
+SIZE (lxqt/lxqt-sudo-0.15.0.tar.xz) = 34528
diff --git a/security/lxqt-sudo/files/patch-sudo.cpp b/security/lxqt-sudo/files/patch-sudo.cpp
index 90b6b023d2ac..64446a88be30 100644
--- a/security/lxqt-sudo/files/patch-sudo.cpp
+++ b/security/lxqt-sudo/files/patch-sudo.cpp
@@ -1,20 +1,15 @@
---- sudo.cpp.orig 2019-01-25 23:40:04 UTC
+--- sudo.cpp.orig 2020-04-23 18:44:01 UTC
+++ sudo.cpp
-@@ -38,7 +38,13 @@
- #include <QThread>
- #include <QProcessEnvironment>
- #include <QTimer>
-+#if defined(__linux__)
- #include <pty.h>
-+#elif defined(__FreeBSD__)
+@@ -44,7 +44,7 @@
+ #else
+ #include <errno.h>
+ #include <termios.h>
+-#include <util.h>
+#include <libutil.h>
-+#include <errno.h>
-+#include <termios.h>
-+#endif
+ #endif
#include <unistd.h>
#include <memory>
- #include <csignal>
-@@ -56,6 +62,9 @@ namespace
+@@ -64,7 +64,11 @@ namespace
const QString su_prog{QStringLiteral(LXQTSUDO_SU)};
const QString sudo_prog{QStringLiteral(LXQTSUDO_SUDO)};
@@ -22,83 +17,27 @@
+ const QString pwd_prompt_end_c_locale{QStringLiteral(":")};
+#endif
const QString pwd_prompt_end{QStringLiteral(": ")};
- const QChar nl{QLatin1Char('\n')};
-
-@@ -240,27 +249,39 @@ QString Sudo::backendName (backend_t backEnd)
- void Sudo::child()
- {
- int params_cnt = 3 //1. su/sudo & "shell command" & last nullptr
-+#ifndef __FreeBSD__
- + (BACK_SU == mBackend ? 1 : 3); //-c for su | -E /bin/sh -c for sudo
-+#else
-+ + (BACK_SU == mBackend ? 3 : 3);
-+#endif
- std::unique_ptr<char const *[]> params{new char const *[params_cnt]};
- const char ** param_arg = params.get() + 1;
-
- std::string program = backendName().toLocal8Bit().data();
-+ if (BACK_SU == mBackend)
-+ {
-+ *(param_arg++) = "-m";
-+ *(param_arg++) = "root";
-+ *(param_arg++) = "-c";
-+ }
- if (BACK_SUDO == mBackend)
- {
-+
- *(param_arg++) = "-E"; //preserve environment
- *(param_arg++) = "/bin/sh";
-+ *(param_arg++) = "-c"; //run command
- }
-- *(param_arg++) = "-c"; //run command
-
- params[0] = program.c_str();
--
- // Note: we force the su/sudo to communicate with us in the simplest
- // locale and then set the locale back for the command
-- char const * const env_lc_all = getenv("LC_ALL");
+
- std::string command;
-+#ifndef __FreeBSD__
-+ char const * const env_lc_all = getenv("LC_ALL");
- if (env_lc_all == nullptr)
- {
-- command = "unset LC_ALL; ";
-+ command = "unset LC_ALL;";
- } else
- {
- // Note: we need to check if someone is not trying to inject commands
-@@ -276,6 +297,9 @@ void Sudo::child()
- }
- command += "exec ";
- command += squashedArgs().toLocal8Bit().data();
-+#else
-+ command = squashedArgs().toLocal8Bit().data();
-+#endif
- *(param_arg++) = command.c_str();
-
- *param_arg = nullptr;
-@@ -283,12 +307,11 @@ void Sudo::child()
- setenv("LC_ALL", "C", 1);
-
- env_workarounds();
--
- setsid(); //session leader
- execvp(params[0], const_cast<char **>(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);
- }
+ const QChar nl{QLatin1Char('\n')};
-@@ -354,7 +377,11 @@ int Sudo::parent()
+ void usage(QString const & err = QString())
+@@ -270,6 +274,8 @@ void Sudo::child()
+ *(param_arg++) = "/bin/sh";
+ break;
+ case BACK_SU:
++ *(param_arg++) = "-m";
++ *(param_arg++) = "root";
+ case BACK_NONE:
+ env_workarounds();
+ break;
+@@ -377,7 +383,12 @@ int Sudo::parent()
}
} else
{
+#ifdef __FreeBSD__
+ if( line.endsWith(pwd_prompt_end_c_locale) || line.endsWith(pwd_prompt_end))
+#else
++
if (line.endsWith(pwd_prompt_end))
+#endif
{
diff --git a/security/lxqt-sudo/pkg-plist b/security/lxqt-sudo/pkg-plist
index 3351cd92deb3..d027debf2b1e 100644
--- a/security/lxqt-sudo/pkg-plist
+++ b/security/lxqt-sudo/pkg-plist
@@ -1,10 +1,9 @@
bin/lxqt-sudo
bin/lxsu
bin/lxsudo
-share/man/man1/lxqt-sudo.1.gz
-share/man/man1/lxsu.1.gz
-share/man/man1/lxsudo.1.gz
%%LXQT_TRANSLATIONS%%/lxqt-sudo/lxqt-sudo_ar.qm
+%%LXQT_TRANSLATIONS%%/lxqt-sudo/lxqt-sudo_arn.qm
+%%LXQT_TRANSLATIONS%%/lxqt-sudo/lxqt-sudo_ast.qm
%%LXQT_TRANSLATIONS%%/lxqt-sudo/lxqt-sudo_ca.qm
%%LXQT_TRANSLATIONS%%/lxqt-sudo/lxqt-sudo_cs.qm
%%LXQT_TRANSLATIONS%%/lxqt-sudo/lxqt-sudo_cy.qm
@@ -25,10 +24,15 @@ share/man/man1/lxsudo.1.gz
%%LXQT_TRANSLATIONS%%/lxqt-sudo/lxqt-sudo_nl.qm
%%LXQT_TRANSLATIONS%%/lxqt-sudo/lxqt-sudo_pl.qm
%%LXQT_TRANSLATIONS%%/lxqt-sudo/lxqt-sudo_pt.qm
+%%LXQT_TRANSLATIONS%%/lxqt-sudo/lxqt-sudo_pt_BR.qm
%%LXQT_TRANSLATIONS%%/lxqt-sudo/lxqt-sudo_ru.qm
%%LXQT_TRANSLATIONS%%/lxqt-sudo/lxqt-sudo_sk.qm
+%%LXQT_TRANSLATIONS%%/lxqt-sudo/lxqt-sudo_sl.qm
%%LXQT_TRANSLATIONS%%/lxqt-sudo/lxqt-sudo_tr.qm
%%LXQT_TRANSLATIONS%%/lxqt-sudo/lxqt-sudo_uk.qm
%%LXQT_TRANSLATIONS%%/lxqt-sudo/lxqt-sudo_vi.qm
%%LXQT_TRANSLATIONS%%/lxqt-sudo/lxqt-sudo_zh_CN.qm
%%LXQT_TRANSLATIONS%%/lxqt-sudo/lxqt-sudo_zh_TW.qm
+share/man/man1/lxqt-sudo.1.gz
+share/man/man1/lxsu.1.gz
+share/man/man1/lxsudo.1.gz