Compare commits

..

No commits in common. "ubuntu/resolute" and "ubuntu/plucky" have entirely different histories.

6 changed files with 94 additions and 40 deletions

28
debian/changelog vendored
View File

@ -1,31 +1,3 @@
lxqt-sudo (2.3.0-0ubuntu1) resolute; urgency=medium
* New upstream release.
- Update build dependencies.
- Drop bypass-envvar-allowlist.patch due to incompatibility with sudo-rs.
* Update copyright file.
* Update Standards-Version to 4.7.3, no changes needed.
* Remove unnecessary Rules-Requires-Root.
-- Aaron Rainbolt <arraybolt3@ubuntu.com> Fri, 20 Feb 2026 10:05:56 -0500
lxqt-sudo (2.2.0-0ubuntu2) resolute; urgency=medium
* Drop superfluous recommends on lxqt-qtplugin. Makes lxqt-sudo usable
on flavours other than Lubuntu without pulling in significant other
parts of lxqt onto images.
-- Rik Mills <rikmills@kde.org> Mon, 03 Nov 2025 15:40:14 +0000
lxqt-sudo (2.2.0-0ubuntu1) questing; urgency=medium
* New upstream release.
- Update build dependencies.
* Update copyright file.
* Update Standards-Version to 4.7.2, no changes needed.
-- Aaron Rainbolt <arraybolt3@ubuntu.com> Thu, 31 Jul 2025 16:30:59 -0500
lxqt-sudo (2.1.0-0ubuntu3) plucky; urgency=medium
* Update Standards-Version to 4.7.1, no changes needed.

7
debian/control vendored
View File

@ -10,20 +10,21 @@ Section: x11
Priority: optional
Build-Depends: debhelper-compat (= 13),
libkf6windowsystem-dev,
liblxqt2-dev (>= 2.3.0),
liblxqt2-dev (>= 2.1.0),
libx11-dev,
qt6-svg-dev (>= 6.6.0)
Standards-Version: 4.7.3
Standards-Version: 4.7.1
Vcs-Browser: https://git.lubuntu.me/Lubuntu/lxqt-sudo-packaging
Vcs-Git: https://git.lubuntu.me/Lubuntu/lxqt-sudo-packaging.git
Debian-Vcs-Browser: https://salsa.debian.org/cgit/pkg-team/lxqt-sudo
Debian-Vcs-Git: https://salsa.debian.org/lxqt-team/lxqt-sudo.git
Homepage: https://github.com/lxqt/lxqt-sudo
Rules-Requires-Root: no
Package: lxqt-sudo
Architecture: any
Depends: ${misc:Depends}, ${shlibs:Depends}
Recommends: lxqt-sudo-l10n
Recommends: lxqt-qtplugin, lxqt-sudo-l10n
Description: Graphical Qt frontend for plain sudo
lxqt-sudo is a graphical Qt frontend for plain sudo(8) (for requesting
optional password in GUI fashion). When invoked it simply spawns child sudo

5
debian/copyright vendored
View File

@ -3,7 +3,7 @@ Upstream-Name: lxqt-sudo
Source: https://github.com/lxqt/lxqt-sudo
Files: *
Copyright: 2015-2025 LXQt team
Copyright: 2015-2024 LXQt team
2015-2018 Palo Kisa <palo.kisa@gmail.com>
License: LGPL-2.1+
@ -11,8 +11,7 @@ Files: debian/*
Copyright: 2021-2025 Lubuntu Developers <lubuntu-devel@lists.ubuntu.com>
2015-2019 Alf Gaida <agaida@siduction.org>
2015 Andrew Lee (李健秋) <ajqlee@debian.org>
2015-2025 ChangZhuo Chen (陳昌倬) <czchen@debian.org>
2025-2026 Aaron Rainbolt <arraybolt3@ubuntu.com>
2015 ChangZhuo Chen (陳昌倬) <czchen@debian.org>
License: LGPL-2.1+
License: LGPL-2.1+

View File

@ -0,0 +1,82 @@
Description: Add a -E option, exposing all environment variables
Some system tools (such as ubuntu-release-upgrader) read XDG* (etc.), so allow the user to opt-in to preserving those.
Author: Simon Quigley <tsimonq2@lubuntu.me>
Origin: upstream
Forwarded: https://github.com/lxqt/lxqt-sudo/pull/204
Last-Update: 2023-10-11
---
This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
--- a/sudo.cpp
+++ b/sudo.cpp
@@ -84,6 +84,7 @@ namespace
" -s|--su Use %3(1) as backend.\n"
" -d|--sudo Use %2(8) as backend.\n"
" -a|--doas Use %4(1) as backend.\n"
+ " -E|--keep-env Preserve all existing environment variables.\n"
" command Command to run.\n"
" arguments Optional arguments for command.\n\n").arg(app_master).arg(sudo_prog).arg(su_prog).arg(doas_prog);
if (!err.isEmpty())
@@ -114,8 +115,13 @@ namespace
};
assert_helper h;
- inline std::string env_workarounds()
+ inline std::string env_workarounds(bool preserveEnv)
{
+ if (preserveEnv) {
+ std::cerr << LXQTSUDO << ": Preserving all environment variables.\n";
+ return "";
+ }
+
std::cerr << LXQTSUDO << ": Stripping child environment except for: ";
std::ostringstream left_env_params;
std::copy(ALLOWED_VARS, ALLOWED_END - 1, std::ostream_iterator<const char *>{left_env_params, ","});
@@ -196,6 +202,10 @@ int Sudo::main()
{
mBackend = BACK_DOAS;
mArgs.removeAt(0);
+ } else if (QStringLiteral("-E") == arg1 || QStringLiteral("--keep-env") == arg1)
+ {
+ mPreserveEnv = true;
+ mArgs.removeAt(0);
}
}
//any other arguments we simply forward to su/sudo
@@ -287,11 +297,13 @@ void Sudo::child()
switch (mBackend)
{
case BACK_SUDO:
- preserve_env_param = "--preserve-env=";
-
- preserve_env_param += env_workarounds();
-
- *(param_arg++) = preserve_env_param.c_str(); //preserve environment
+ if(!mPreserveEnv) {
+ preserve_env_param = "--preserve-env=";
+ preserve_env_param += env_workarounds(mPreserveEnv);
+ } else {
+ preserve_env_param = "--preserve-env";
+ }
+ *(param_arg++) = preserve_env_param.c_str();
*(param_arg++) = "/bin/sh";
break;
case BACK_DOAS:
@@ -299,7 +311,7 @@ void Sudo::child()
[[fallthrough]];
case BACK_SU:
case BACK_NONE:
- env_workarounds();
+ env_workarounds(mPreserveEnv);
break;
}
--- a/sudo.h
+++ b/sudo.h
@@ -81,6 +81,7 @@ private:
int mChildPid;
int mPwdFd;
int mRet;
+ bool mPreserveEnv = false;
};
#endif //SUDO_H

1
debian/patches/series vendored Normal file
View File

@ -0,0 +1 @@
bypass-envvar-allowlist.patch

11
debian/watch vendored
View File

@ -1,6 +1,5 @@
Version: 5
Template: GitHub
Owner: lxqt
Project: @PACKAGE@
Download-Url-Mangle: s%https://api.github.com/repos/([^/]+)/@PACKAGE@/git/refs/tags/@ANY_VERSION@%https://github.com/$1/@PACKAGE@/releases/download/$2/@PACKAGE@-$2.tar.xz%g
Pgp-Mode: auto
version=4
opts="searchmode=plain, \
pgpsigurlmangle=s/$/.asc/, \
uversionmangle=s/(\d+\.\d+\.\d+).*/$1/" \
https://api.github.com/repos/lxqt/@PACKAGE@/releases https:\/\/github.com\/lxqt\/@PACKAGE@\/releases\/download\/@ANY_VERSION@\/@PACKAGE@-@ANY_VERSION@.tar.xz