commit:     0629e604123c478049295966edecf253b62feff1
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Sat Sep 19 16:23:01 2020 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Sat Sep 19 20:18:42 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0629e604

kde-apps/ksystemlog: Add IUSE=kdesu for X-only run-as-root option

Keeping this disabled by default with accompanying pkg_postinst messages as a
middle ground between hard-requiring X or being broken by default in Wayland.

KDE-Bug: https://bugs.kde.org/show_bug.cgi?id=414971
KDE-Bug: https://bugs.kde.org/show_bug.cgi?id=227793

Reported-by: Erik Quaeghebeur <gentoo <AT> e3q.eu>
Closes: https://bugs.gentoo.org/743196
Package-Manager: Portage-3.0.7, Repoman-3.0.1
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 ...20.04.3.ebuild => ksystemlog-20.04.3-r1.ebuild} | 28 ++++++++++------------
 ...20.08.1.ebuild => ksystemlog-20.08.1-r1.ebuild} | 16 ++++++++++++-
 kde-apps/ksystemlog/metadata.xml                   |  3 +++
 3 files changed, 31 insertions(+), 16 deletions(-)

diff --git a/kde-apps/ksystemlog/ksystemlog-20.04.3.ebuild 
b/kde-apps/ksystemlog/ksystemlog-20.04.3-r1.ebuild
similarity index 69%
rename from kde-apps/ksystemlog/ksystemlog-20.04.3.ebuild
rename to kde-apps/ksystemlog/ksystemlog-20.04.3-r1.ebuild
index 3c015a822d8..5578b9e6691 100644
--- a/kde-apps/ksystemlog/ksystemlog-20.04.3.ebuild
+++ b/kde-apps/ksystemlog/ksystemlog-20.04.3-r1.ebuild
@@ -16,10 +16,7 @@ 
HOMEPAGE="https://kde.org/applications/system/org.kde.ksystemlog";
 LICENSE="GPL-2" # TODO: CHECK
 SLOT="5"
 KEYWORDS="amd64 arm64 ~ppc64 x86"
-IUSE="systemd"
-
-# bug 378101
-RESTRICT+=" test"
+IUSE="kdesu systemd"
 
 DEPEND="
        >=dev-qt/qtgui-${QTMIN}:5
@@ -40,21 +37,16 @@ DEPEND="
        >=kde-frameworks/kxmlgui-${KFMIN}:5
        systemd? ( sys-apps/systemd )
 "
-RDEPEND="${DEPEND}"
+RDEPEND="${DEPEND}
+       kdesu? ( kde-plasma/kde-cli-tools[kdesu] )
+"
 
 src_prepare() {
        ecm_src_prepare
 
-       if use test; then
-               # beat this stupid test into shape: the test files contain no 
year, so
-               # comparison succeeds only in 2007 !!!
-               local theyear=$(date +%Y)
-               einfo Setting the current year as ${theyear} in the test files
-               sed -e "s:2007:${theyear}:g" -i tests/systemAnalyzerTest.cpp || 
die
-
-               # one test consistently fails, so comment it out for the moment
-               sed -e "s:systemAnalyzerTest:# dont run systemAnalyzerTest:g" \
-                       -i ksystemlog/tests/CMakeLists.txt || die
+       if ! use kdesu; then
+               sed -e "/^X-KDE-SubstituteUID/s:true:false:" \
+                       -i src/org.kde.ksystemlog.desktop || die
        fi
 }
 
@@ -64,3 +56,9 @@ src_configure() {
        )
        ecm_src_configure
 }
+
+pkg_postinst() {
+       ecm_pkg_postinst
+       use kdesu || elog "Will show only user readable logs without USE=kdesu 
(only in X)."
+       use kdesu && elog "Cannot be launched from application menu in Wayland 
with USE=kdesu."
+}

diff --git a/kde-apps/ksystemlog/ksystemlog-20.08.1.ebuild 
b/kde-apps/ksystemlog/ksystemlog-20.08.1-r1.ebuild
similarity index 74%
rename from kde-apps/ksystemlog/ksystemlog-20.08.1.ebuild
rename to kde-apps/ksystemlog/ksystemlog-20.08.1-r1.ebuild
index e62fbabe06a..421207a4525 100644
--- a/kde-apps/ksystemlog/ksystemlog-20.08.1.ebuild
+++ b/kde-apps/ksystemlog/ksystemlog-20.08.1-r1.ebuild
@@ -16,7 +16,7 @@ 
HOMEPAGE="https://kde.org/applications/system/org.kde.ksystemlog";
 LICENSE="GPL-2" # TODO: CHECK
 SLOT="5"
 KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
-IUSE="systemd"
+IUSE="kdesu systemd"
 
 DEPEND="
        >=dev-qt/qtgui-${QTMIN}:5
@@ -38,9 +38,23 @@ DEPEND="
 "
 RDEPEND="${DEPEND}"
 
+src_prepare() {
+       ecm_src_prepare
+       if ! use kdesu; then
+               sed -e "/^X-KDE-SubstituteUID/s:true:false:" \
+                       -i src/org.kde.ksystemlog.desktop || die
+       fi
+}
+
 src_configure() {
        local mycmakeargs=(
                $(cmake_use_find_package systemd Journald)
        )
        ecm_src_configure
 }
+
+pkg_postinst() {
+       ecm_pkg_postinst
+       use kdesu || elog "Will show only user readable logs without USE=kdesu 
(only in X)."
+       use kdesu && elog "Cannot be launched from application menu in Wayland 
with USE=kdesu."
+}

diff --git a/kde-apps/ksystemlog/metadata.xml b/kde-apps/ksystemlog/metadata.xml
index 2fdbf33d963..c86984db68b 100644
--- a/kde-apps/ksystemlog/metadata.xml
+++ b/kde-apps/ksystemlog/metadata.xml
@@ -5,4 +5,7 @@
                <email>[email protected]</email>
                <name>Gentoo KDE Project</name>
        </maintainer>
+       <use>
+               <flag name="kdesu">Run as root using kdesu from 
<pkg>kde-plasma/kde-cli-tools</pkg></flag>
+       </use>
 </pkgmetadata>

Reply via email to