From 0be8df1b52ad6ee0dbfe86ca22ec19fb47e88797 Mon Sep 17 00:00:00 2001 From: Michael Palimaka Date: Wed, 10 Feb 2016 03:13:10 +1100 Subject: kde-plasma/plasma-workspace: backport patch from upstream solving lock screen bypass Gentoo-bug: 574270 Package-Manager: portage-2.2.27 --- .../plasma-workspace-5.4.3-lockscreen-bypass.patch | 38 ++++ .../plasma-workspace-5.4.3-r1.ebuild | 207 -------------------- .../plasma-workspace-5.4.3-r2.ebuild | 208 +++++++++++++++++++++ 3 files changed, 246 insertions(+), 207 deletions(-) create mode 100644 kde-plasma/plasma-workspace/files/plasma-workspace-5.4.3-lockscreen-bypass.patch delete mode 100644 kde-plasma/plasma-workspace/plasma-workspace-5.4.3-r1.ebuild create mode 100644 kde-plasma/plasma-workspace/plasma-workspace-5.4.3-r2.ebuild (limited to 'kde-plasma/plasma-workspace') diff --git a/kde-plasma/plasma-workspace/files/plasma-workspace-5.4.3-lockscreen-bypass.patch b/kde-plasma/plasma-workspace/files/plasma-workspace-5.4.3-lockscreen-bypass.patch new file mode 100644 index 000000000000..977251e5798d --- /dev/null +++ b/kde-plasma/plasma-workspace/files/plasma-workspace-5.4.3-lockscreen-bypass.patch @@ -0,0 +1,38 @@ +From 23a9ed7ba9995570227dbcd69c23f009de7dde49 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Martin=20Gr=C3=A4=C3=9Flin?= +Date: Tue, 9 Feb 2016 16:37:50 +0100 +Subject: [PATCH] [greeter] Dont quit when last window closes + +Qt allows to have no screens. If all XRandR screens are disconnected +there are also no QScreens. This is from an X11 perspective wrong, but +we have to deal with it. No QScreens means that all views are destroyed +and no new ones are created. Thus all windows close and the greeter +exited successfully which in turn unlocked the screen. + +This change ensures that the greeter doesn't exit when all windows close. + +Funnily this was not a problem with the well known issue of Qt +crashing when all screens are disconnected. The lock screen handles +crashes gracefully and just restarts or more likely Qt also crashes +the application using KSld and thus taking down the complete session. + +CCBUG: 358125 +--- + ksmserver/screenlocker/greeter/main.cpp | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/ksmserver/screenlocker/greeter/main.cpp b/ksmserver/screenlocker/greeter/main.cpp +index fa4bf62..0a68835 100644 +--- a/ksmserver/screenlocker/greeter/main.cpp ++++ b/ksmserver/screenlocker/greeter/main.cpp +@@ -56,6 +56,7 @@ int main(int argc, char* argv[]) + // explicitly disable input methods as it makes it impossible to unlock, see BUG 306932 + qputenv("QT_IM_MODULE", QByteArrayLiteral("compose")); + ScreenLocker::UnlockApp app(argc, argv); ++ app.setQuitOnLastWindowClosed(false); + QCoreApplication::setApplicationName(QStringLiteral("kscreenlocker_greet")); + QCoreApplication::setApplicationVersion(QStringLiteral("0.1")); + QCoreApplication::setOrganizationDomain(QStringLiteral("kde.org")); +-- +2.4.10 + diff --git a/kde-plasma/plasma-workspace/plasma-workspace-5.4.3-r1.ebuild b/kde-plasma/plasma-workspace/plasma-workspace-5.4.3-r1.ebuild deleted file mode 100644 index b6f96f5586d1..000000000000 --- a/kde-plasma/plasma-workspace/plasma-workspace-5.4.3-r1.ebuild +++ /dev/null @@ -1,207 +0,0 @@ -# Copyright 1999-2016 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Id$ - -EAPI=5 - -KDE_HANDBOOK="true" -KDE_PUNT_BOGUS_DEPS="true" -KDE_TEST="true" -VIRTUALX_REQUIRED="test" -inherit kde5 multilib pam qmake-utils - -DESCRIPTION="KDE Plasma workspace" -KEYWORDS=" ~amd64 ~x86" -IUSE="dbus +drkonqi +geolocation gps pam prison qalculate +systemmonitor" - -COMMON_DEPEND=" - $(add_frameworks_dep baloo) - $(add_frameworks_dep kactivities) - $(add_frameworks_dep kauth) - $(add_frameworks_dep kbookmarks) - $(add_frameworks_dep kcmutils) - $(add_frameworks_dep kcompletion) - $(add_frameworks_dep kconfig) - $(add_frameworks_dep kconfigwidgets) - $(add_frameworks_dep kcoreaddons) - $(add_frameworks_dep kcrash) - $(add_frameworks_dep kdbusaddons) - $(add_frameworks_dep kdeclarative) - $(add_frameworks_dep kdelibs4support) - $(add_frameworks_dep kdesu) - $(add_frameworks_dep kglobalaccel) - $(add_frameworks_dep kguiaddons) - $(add_frameworks_dep ki18n) - $(add_frameworks_dep kiconthemes) - $(add_frameworks_dep kidletime) - $(add_frameworks_dep kio) - $(add_frameworks_dep kitemviews) - $(add_frameworks_dep kjobwidgets) - $(add_frameworks_dep kjs) - $(add_frameworks_dep kjsembed) - $(add_frameworks_dep knewstuff) - $(add_frameworks_dep knotifications) - $(add_frameworks_dep knotifyconfig) - $(add_frameworks_dep kpackage) - $(add_frameworks_dep krunner) - $(add_frameworks_dep kservice) - $(add_frameworks_dep ktexteditor) - $(add_frameworks_dep ktextwidgets) - $(add_frameworks_dep kwallet) - $(add_frameworks_dep kwidgetsaddons) - $(add_frameworks_dep kwindowsystem) - $(add_frameworks_dep kxmlgui) - $(add_frameworks_dep kxmlrpcclient) - $(add_frameworks_dep plasma) - $(add_frameworks_dep solid) - $(add_plasma_dep kwayland) - $(add_plasma_dep kwin) - $(add_plasma_dep libkscreen) - $(add_plasma_dep libksysguard) - dev-libs/wayland - dev-qt/qtconcurrent:5 - dev-qt/qtdbus:5 - dev-qt/qtdeclarative:5[widgets] - dev-qt/qtgui:5[jpeg] - dev-qt/qtnetwork:5 - dev-qt/qtscript:5 - dev-qt/qtsql:5 - dev-qt/qtwidgets:5 - dev-qt/qtx11extras:5 - dev-qt/qtxml:5 - media-libs/phonon[qt5] - sys-libs/zlib - x11-libs/libICE - x11-libs/libSM - x11-libs/libX11 - x11-libs/libXau - x11-libs/libxcb - x11-libs/libXfixes - x11-libs/libXi - x11-libs/libXrender - x11-libs/xcb-util-keysyms - dbus? ( dev-libs/libdbusmenu-qt[qt5] ) - drkonqi? ( - $(add_frameworks_dep kdewebkit) - dev-qt/qtwebkit:5 - ) - geolocation? ( $(add_frameworks_dep networkmanager-qt) ) - gps? ( sci-geosciences/gpsd ) - pam? ( virtual/pam ) - prison? ( media-libs/prison:5 ) - qalculate? ( sci-libs/libqalculate ) - systemmonitor? ( - $(add_plasma_dep libksysguard processui) - ) -" -RDEPEND="${COMMON_DEPEND} - $(add_frameworks_dep kded) - $(add_kdeapps_dep kio-extras) - $(add_plasma_dep kde-cli-tools) - $(add_plasma_dep milou) - dev-qt/qdbus:5 - dev-qt/qtpaths:5 - dev-qt/qtquickcontrols:5[widgets] - x11-apps/mkfontdir - x11-apps/xmessage - x11-apps/xprop - x11-apps/xrdb - x11-apps/xset - x11-apps/xsetroot - systemmonitor? ( $(add_plasma_dep ksysguard) ) - !kde-base/freespacenotifier:4 - !kde-base/libtaskmanager:4 - ! /dev/null || die - comment_add_subdirectory geolocation - popd > /dev/null || die - fi - - if ! use systemmonitor; then - comment_add_subdirectory systemmonitor - pushd applets > /dev/null || die - comment_add_subdirectory systemmonitor - popd > /dev/null || die - pushd dataengines > /dev/null || die - comment_add_subdirectory systemmonitor - popd > /dev/null || die - fi -} - -src_configure() { - local mycmakeargs=( - $(cmake-utils_use_find_package pam) - $(cmake-utils_use_find_package dbus dbusmenu-qt5) - $(cmake-utils_use_find_package gps libgps) - $(cmake-utils_use_find_package prison) - $(cmake-utils_use_find_package qalculate Qalculate) - ) - - kde5_src_configure -} - -src_install() { - kde5_src_install - - newpamd "${FILESDIR}/kde.pam" kde - newpamd "${FILESDIR}/kde-np.pam" kde-np - - # startup and shutdown scripts - insinto /etc/plasma/startup - doins "${FILESDIR}/agent-startup.sh" - - insinto /etc/plasma/shutdown - doins "${FILESDIR}/agent-shutdown.sh" - - if ! use pam; then - chown root "${ED}"usr/$(get_libdir)/libexec/kcheckpass || die - chmod +s "${ED}"usr/$(get_libdir)/libexec/kcheckpass || die - fi -} - -pkg_postinst () { - kde5_pkg_postinst - - echo - elog "To enable gpg-agent and/or ssh-agent in Plasma sessions," - elog "edit ${EPREFIX}/etc/plasma/startup/agent-startup.sh and" - elog "${EPREFIX}/etc/plasma/shutdown/agent-shutdown.sh" - echo -} diff --git a/kde-plasma/plasma-workspace/plasma-workspace-5.4.3-r2.ebuild b/kde-plasma/plasma-workspace/plasma-workspace-5.4.3-r2.ebuild new file mode 100644 index 000000000000..0b95d6e9c8a9 --- /dev/null +++ b/kde-plasma/plasma-workspace/plasma-workspace-5.4.3-r2.ebuild @@ -0,0 +1,208 @@ +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +KDE_HANDBOOK="true" +KDE_PUNT_BOGUS_DEPS="true" +KDE_TEST="true" +VIRTUALX_REQUIRED="test" +inherit kde5 multilib pam qmake-utils + +DESCRIPTION="KDE Plasma workspace" +KEYWORDS=" ~amd64 ~x86" +IUSE="dbus +drkonqi +geolocation gps pam prison qalculate +systemmonitor" + +COMMON_DEPEND=" + $(add_frameworks_dep baloo) + $(add_frameworks_dep kactivities) + $(add_frameworks_dep kauth) + $(add_frameworks_dep kbookmarks) + $(add_frameworks_dep kcmutils) + $(add_frameworks_dep kcompletion) + $(add_frameworks_dep kconfig) + $(add_frameworks_dep kconfigwidgets) + $(add_frameworks_dep kcoreaddons) + $(add_frameworks_dep kcrash) + $(add_frameworks_dep kdbusaddons) + $(add_frameworks_dep kdeclarative) + $(add_frameworks_dep kdelibs4support) + $(add_frameworks_dep kdesu) + $(add_frameworks_dep kglobalaccel) + $(add_frameworks_dep kguiaddons) + $(add_frameworks_dep ki18n) + $(add_frameworks_dep kiconthemes) + $(add_frameworks_dep kidletime) + $(add_frameworks_dep kio) + $(add_frameworks_dep kitemviews) + $(add_frameworks_dep kjobwidgets) + $(add_frameworks_dep kjs) + $(add_frameworks_dep kjsembed) + $(add_frameworks_dep knewstuff) + $(add_frameworks_dep knotifications) + $(add_frameworks_dep knotifyconfig) + $(add_frameworks_dep kpackage) + $(add_frameworks_dep krunner) + $(add_frameworks_dep kservice) + $(add_frameworks_dep ktexteditor) + $(add_frameworks_dep ktextwidgets) + $(add_frameworks_dep kwallet) + $(add_frameworks_dep kwidgetsaddons) + $(add_frameworks_dep kwindowsystem) + $(add_frameworks_dep kxmlgui) + $(add_frameworks_dep kxmlrpcclient) + $(add_frameworks_dep plasma) + $(add_frameworks_dep solid) + $(add_plasma_dep kwayland) + $(add_plasma_dep kwin) + $(add_plasma_dep libkscreen) + $(add_plasma_dep libksysguard) + dev-libs/wayland + dev-qt/qtconcurrent:5 + dev-qt/qtdbus:5 + dev-qt/qtdeclarative:5[widgets] + dev-qt/qtgui:5[jpeg] + dev-qt/qtnetwork:5 + dev-qt/qtscript:5 + dev-qt/qtsql:5 + dev-qt/qtwidgets:5 + dev-qt/qtx11extras:5 + dev-qt/qtxml:5 + media-libs/phonon[qt5] + sys-libs/zlib + x11-libs/libICE + x11-libs/libSM + x11-libs/libX11 + x11-libs/libXau + x11-libs/libxcb + x11-libs/libXfixes + x11-libs/libXi + x11-libs/libXrender + x11-libs/xcb-util-keysyms + dbus? ( dev-libs/libdbusmenu-qt[qt5] ) + drkonqi? ( + $(add_frameworks_dep kdewebkit) + dev-qt/qtwebkit:5 + ) + geolocation? ( $(add_frameworks_dep networkmanager-qt) ) + gps? ( sci-geosciences/gpsd ) + pam? ( virtual/pam ) + prison? ( media-libs/prison:5 ) + qalculate? ( sci-libs/libqalculate ) + systemmonitor? ( + $(add_plasma_dep libksysguard processui) + ) +" +RDEPEND="${COMMON_DEPEND} + $(add_frameworks_dep kded) + $(add_kdeapps_dep kio-extras) + $(add_plasma_dep kde-cli-tools) + $(add_plasma_dep milou) + dev-qt/qdbus:5 + dev-qt/qtpaths:5 + dev-qt/qtquickcontrols:5[widgets] + x11-apps/mkfontdir + x11-apps/xmessage + x11-apps/xprop + x11-apps/xrdb + x11-apps/xset + x11-apps/xsetroot + systemmonitor? ( $(add_plasma_dep ksysguard) ) + !kde-base/freespacenotifier:4 + !kde-base/libtaskmanager:4 + ! /dev/null || die + comment_add_subdirectory geolocation + popd > /dev/null || die + fi + + if ! use systemmonitor; then + comment_add_subdirectory systemmonitor + pushd applets > /dev/null || die + comment_add_subdirectory systemmonitor + popd > /dev/null || die + pushd dataengines > /dev/null || die + comment_add_subdirectory systemmonitor + popd > /dev/null || die + fi +} + +src_configure() { + local mycmakeargs=( + $(cmake-utils_use_find_package pam) + $(cmake-utils_use_find_package dbus dbusmenu-qt5) + $(cmake-utils_use_find_package gps libgps) + $(cmake-utils_use_find_package prison) + $(cmake-utils_use_find_package qalculate Qalculate) + ) + + kde5_src_configure +} + +src_install() { + kde5_src_install + + newpamd "${FILESDIR}/kde.pam" kde + newpamd "${FILESDIR}/kde-np.pam" kde-np + + # startup and shutdown scripts + insinto /etc/plasma/startup + doins "${FILESDIR}/agent-startup.sh" + + insinto /etc/plasma/shutdown + doins "${FILESDIR}/agent-shutdown.sh" + + if ! use pam; then + chown root "${ED}"usr/$(get_libdir)/libexec/kcheckpass || die + chmod +s "${ED}"usr/$(get_libdir)/libexec/kcheckpass || die + fi +} + +pkg_postinst () { + kde5_pkg_postinst + + echo + elog "To enable gpg-agent and/or ssh-agent in Plasma sessions," + elog "edit ${EPREFIX}/etc/plasma/startup/agent-startup.sh and" + elog "${EPREFIX}/etc/plasma/shutdown/agent-shutdown.sh" + echo +} -- cgit v1.2.3-65-gdbad