From e68d405c5d712af4387159df07e226217bdda049 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Wed, 6 Apr 2022 22:33:41 +0100 Subject: gentoo resync : 06.04.2022 --- x11-misc/sddm/Manifest | 11 +- .../files/sddm-0.12.0-respect-user-flags.patch | 26 ----- x11-misc/sddm/files/sddm-0.16.0-ck2-revert.patch | 20 ---- x11-misc/sddm/files/sddm-0.18.0-Xsession.patch | 24 ---- x11-misc/sddm/files/sddm-0.18.1-Xsession.patch | 24 ++++ .../sddm/files/sddm-0.18.1-cve-2020-28049.patch | 94 +++++++++++++++ .../files/sddm-0.18.1-respect-user-flags.patch | 25 ++++ x11-misc/sddm/files/sddm.tmpfiles | 1 + x11-misc/sddm/metadata.xml | 36 +++--- x11-misc/sddm/sddm-0.18.1-r5.ebuild | 111 ------------------ x11-misc/sddm/sddm-0.18.1-r6.ebuild | 129 +++++++++++++++++++++ 11 files changed, 295 insertions(+), 206 deletions(-) delete mode 100644 x11-misc/sddm/files/sddm-0.12.0-respect-user-flags.patch delete mode 100644 x11-misc/sddm/files/sddm-0.16.0-ck2-revert.patch delete mode 100644 x11-misc/sddm/files/sddm-0.18.0-Xsession.patch create mode 100644 x11-misc/sddm/files/sddm-0.18.1-Xsession.patch create mode 100644 x11-misc/sddm/files/sddm-0.18.1-cve-2020-28049.patch create mode 100644 x11-misc/sddm/files/sddm-0.18.1-respect-user-flags.patch create mode 100644 x11-misc/sddm/files/sddm.tmpfiles delete mode 100644 x11-misc/sddm/sddm-0.18.1-r5.ebuild create mode 100644 x11-misc/sddm/sddm-0.18.1-r6.ebuild (limited to 'x11-misc/sddm') diff --git a/x11-misc/sddm/Manifest b/x11-misc/sddm/Manifest index 8acf90c17a1b..ad4044dfd4d2 100644 --- a/x11-misc/sddm/Manifest +++ b/x11-misc/sddm/Manifest @@ -1,12 +1,13 @@ AUX pam-1.4-substack.patch 1126 BLAKE2B 61bcfc324b603ed4d9c23ede30f2d6215acdd043c6385c6230f95748b79e9746206525bbfba873272ef2559b605123c727c41de17cd713b31ce706a3cead9798 SHA512 0f08eb5c7904cfee570329bb42621bcbeba6e700e667dcaf956d3359792f7938c6fe4a9a3a56a471b5eb512adde0ce7b92cdaca9108a1cc9307e839c1ee3339a -AUX sddm-0.12.0-respect-user-flags.patch 779 BLAKE2B 3ea539e4e426fa745be2ae6c59f6bd96e42d864ddba9942681397a2cdae69528d837001535502e83e6ef50a9ca65a30b62601af76a11465a5b42feffef348edf SHA512 77e3f2ec4dff122e40428444055ed7cbbb177242c9c3c034b1934dda7a3ff2345dd8fcee4b927b797f66163bffc23a5760dd55c2fa24f2c614cd7dec88ffde88 -AUX sddm-0.16.0-ck2-revert.patch 918 BLAKE2B 803f3370260ce40a4b46d3d7a9f2f7529db90baba039c080606f9333e4933c6e3a219331d57dbc577e6a32567fedade3a4aec8bd1706bfb5887a0c281d37c2fb SHA512 f9b49390f656d3ba9528c9fecaff044bab7f4933293bd439fc3ccec873aae9899b4f8b93fa769d506948de2be1d3275dafc96795b1c20caf547cbf474ee12b60 -AUX sddm-0.18.0-Xsession.patch 606 BLAKE2B 0af5d0d6b8da47ead31b14ee6e21dc05e173765b64e74332c01bed2d44e6e5f3d3d67166cb460ffbbdcd0cae41d15883a9c4385b2ed242b858f337baa4e3f614 SHA512 19921eea20964f8f697e7839ce58c63412034ccae6db7d4acabddb5ca43523ccacaa8ba10dfe221d3241eeb5fa0f9ecbd205f10025afde4dc48d4106d38d140f AUX sddm-0.18.0-sddmconfdir.patch 1894 BLAKE2B aef497f08bd11c4fa4fdfe584b73b69192b875fde9050dbb39d6a0b1924759fedd5c50ed4fa54316f5cc9bb25c667c96eaaabce60d2acd826a4fb0bda2bb7495 SHA512 ebfb026ffca4f450005ecdc64c816720b0714ffcec7c03316148c7835919f01bb47c4c6e5041fcdbb271b70b38de99d74d959fd94b6c30b415159035b0d2b784 +AUX sddm-0.18.1-Xsession.patch 503 BLAKE2B 2fdb001df7440a82cf60558bf10fd4f89b51c1ca0b2b36487cadcfcccce856546aeb5f8c6e8a814abd923b448972ea6141188820c094ec5d4ec582dbdcb0d283 SHA512 3235947b3cc7a9cc3fc8199b6083e7dd18ce95e973e4b7a0e28384ad536bcf0a74df5dd7fc13c9eca8cb8a6f8e813d94d1ca7a4df60397d95423990a126c32b2 +AUX sddm-0.18.1-cve-2020-28049.patch 3286 BLAKE2B 2782c0f01aaf4c108934311359afa139a8b72884a9a3824e1c9226a088ae4c73f7f56e92e6b61b7e0f0a40733acd2f1b25823a62570017ec2f0f24cef0190304 SHA512 cb4840dce22e76ee1bd912c81c590f5333c3c6e679dfca70555ec82dbe64579297bf2fa4ac94c4beda75724f4db28c8178357a4d0392d432e7928b6b1576dcf9 AUX sddm-0.18.1-honor-PAM-supplemental-groups-v2.patch 6561 BLAKE2B 33919c3913fae2eb1e7277647a38567c70ee0fd4ca5c93de6d7597d6c216c9c1802e79a5f281821f8eac4a99d73d2fa8712471b2dff8ed50ec17004ae7d8b67a SHA512 4d2bbdb301e54aaa8673b8765ee2e63d105e8dd2199f636a523b2ef46a6123e8b5194fa778390d4ba8ac3b6970cb4fb3bafc9ee8e20335fbf9284517ea5d36c5 AUX sddm-0.18.1-only-reuse-online-sessions.patch 1201 BLAKE2B cf1947f88fa1223c78bfd5c7d37884e7b9b80349f531d4593a0d1a59f4dfe2ed068abe5f2f0fe53b3d112826230ac9c481ce1db38661ece2ee93b1d0aeadba94 SHA512 62975ad657e46a6dc0157bcf749df1e165cd9f65fefa794d674aa7c2dc84e978d1e98bd2c5dad19a30a3e258d65155c9b93e89e12d32aaf80d0ba8b1e5cc594f AUX sddm-0.18.1-qt-5.15.2.patch 865 BLAKE2B 1198a2a7b9cd0b46648eddd3eddca444d502c01baf7fd686bd52489acefa8bb3cc53e20b1d8f154aec56f88f53b653c605f8b4905cd7bb445c37ad7bdd091369 SHA512 aae777ca15df43d7c5bfb7f15e2ede4632d598e05d565338880f644e0e8ed9f00e83c33128a85db8db01d4a22cf85ee4dd6fd2c66196c7093afcc9d5c18bade2 +AUX sddm-0.18.1-respect-user-flags.patch 774 BLAKE2B 050d261762b872a475ce9f250b464e539e278c4c87ad90767b7a9e8dc8f4785671ff3c5989b3785979b3a59ce805bb5b2ee90b01da0dca831a48aecaddc94280 SHA512 8df7f3b804594d46439e4c93a01a035e71d8e8a53c95193eaff03403970d0010878e70f0f7c8c965545360a948c2cab994e5ce29e011f8f41bc232107402fe78 AUX sddm-0.18.1-revert-honor-PAM-supplemental-groups.patch 3616 BLAKE2B 71a4c6f592214160ff993e86582bf5f550be204193668f5bab7786db88ae9a1a09ee268beb3e3157c1b033e765053ba415f3d291f299b09606aa566c9c197370 SHA512 b33b26517173262194bdc98e63b84fbb1f03005abc3c079332dd9b275167d8ddc680ba5c2a9968be5c54963b64f291aab65ad9f04b9f3f69299d030753cd90f5 +AUX sddm.tmpfiles 31 BLAKE2B 51d22f1d6e25aed3df726c0c315e83193bf28b5e9cafb681b648e6788ad8e9ddd8610ef5c305627373e32465ac104b33d71c333153217f8f8f560ace9ddca45a SHA512 bb5ecdcc6cfcc6b1056a7b10b8a6f323a3e12ea5496a26d80f199a275402fd99ed0fa810fad6687407605964f980784c24082686e177063113a358e1d4220136 DIST sddm-0.18.1.tar.xz 3402972 BLAKE2B 99ab43d374e9a3d318f692a6d496d8a6d68927af3c8e8fc2208d7355ec90649a14758b39f5733dd32f942ed569de88085576d4f5f8666f4f97079e0fb6dcb99e SHA512 ff0637600cda2f4da1f643f047f8ee822bd9651ae4ccbb614b9804175c97360ada7af93e07a7b63832f014ef6e7d1b5380ab2b8959f8024ea520fa5ff17efd60 -EBUILD sddm-0.18.1-r5.ebuild 3202 BLAKE2B 8cf57535cca22b139e77581ac6fddb174331414c39fee01c3efe6b9d3b935021895eafcea20aa53d9e9c87622f87aabb96a43255a61de48f0940873ae44b68a1 SHA512 a9d7a4ccb051171caf58e245bc3de0f7ee67134e107d2ad6d05e8aa06535126e6fa85143903fd72e76091689dbb6f5f2bbcf0b1a8649f4d6766ec36f94bae58d -MISC metadata.xml 819 BLAKE2B 7af7c9b105c34f527c5a2aa0dc437f4f74571a13837730bfd6a81a6e3f6caf217b5d6508f4471d3fca6bcda238fc34bb0533876e0d251c924106e296c4e2cdc7 SHA512 8085d568da895d40bec15cbbc0cc0241ef4cb9070db303ea80cb88ebe96bebc3624a0fd48973a1034d34749903ea581cded5ff63995b7b643a6f743c3551a674 +EBUILD sddm-0.18.1-r6.ebuild 3626 BLAKE2B 028f76769c5a84c4603cc021482a85b993c09da2ca2468835ad69cc38cb5b2423417b35016167f7b112dc38f1349f53845cdc5e81d38c37f3932b9cd49d9f6a9 SHA512 9dccbb59e43544bc6e0be17815016a381191bab856a938e3a3d38281e1c8ac9291ad69b11071124250fd86c4a7d20ffe63dbec53b07bca7ea9cdf1a05ebb2ca8 +MISC metadata.xml 661 BLAKE2B d27eefaf2d3fac197ca5e20199cd80631d099517fb58f4a734ddf0a477ab4a8ffdd49d470139cdd4b7f82a7323b150c30febcd6f498ac818df85d7fb11c19457 SHA512 040bfc5d725a1b78d2ff01c9f9c0222c77c03fd0e341543733d5523b013b726e6ce950b13d01877abe211d89920f378248b82c6ec3076a82437c343c93338bdd diff --git a/x11-misc/sddm/files/sddm-0.12.0-respect-user-flags.patch b/x11-misc/sddm/files/sddm-0.12.0-respect-user-flags.patch deleted file mode 100644 index fc450169792d..000000000000 --- a/x11-misc/sddm/files/sddm-0.12.0-respect-user-flags.patch +++ /dev/null @@ -1,26 +0,0 @@ -diff -u CMakeLists.txt CMakeLists.txt ---- a/CMakeLists.txt 2015-09-05 22:40:50.000000000 +0200 -+++ b/CMakeLists.txt 2015-09-07 12:15:33.419530808 +0200 -@@ -35,22 +35,6 @@ - # Definitions - add_definitions(-Wall -std=c++11 -DQT_NO_CAST_FROM_ASCII) - --# Default build type --if(NOT CMAKE_BUILD_TYPE) -- set(CMAKE_BUILD_TYPE Release) --endif() -- --# Handle build type --if(CMAKE_BUILD_TYPE MATCHES [Dd]ebug) -- message(STATUS "Debug build") -- add_definitions(-DDEBUG) -- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g -O0") --else() -- message(STATUS "Release build") -- add_definitions(-DNDEBUG) -- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O2") --endif() -- - # Default absolute paths - if(NOT DEFINED CMAKE_INSTALL_SYSCONFDIR) - set(CMAKE_INSTALL_SYSCONFDIR "/etc") diff --git a/x11-misc/sddm/files/sddm-0.16.0-ck2-revert.patch b/x11-misc/sddm/files/sddm-0.16.0-ck2-revert.patch deleted file mode 100644 index bbe2a272840c..000000000000 --- a/x11-misc/sddm/files/sddm-0.16.0-ck2-revert.patch +++ /dev/null @@ -1,20 +0,0 @@ -SDDM 0.16.0 fails to start with consolekit2 because it assumes consolekit2 -has the same interface names as logind. - -This patch forces sddm to use legacy behaviour when consolekit2 is detected. - -Bug: https://bugs.gentoo.org/633920 -Bug: https://github.com/sddm/sddm/issues/903 -Bug: https://github.com/ConsoleKit2/ConsoleKit2/issues/99 - ---- a/src/daemon/LogindDBusTypes.cpp -+++ b/src/daemon/LogindDBusTypes.cpp -@@ -60,7 +60,7 @@ - - if (QDBusConnection::systemBus().interface()->isServiceRegistered(QStringLiteral("org.freedesktop.ConsoleKit"))) { - qDebug() << "Console kit interface found"; -- available = true; -+ available = false; - serviceName = QStringLiteral("org.freedesktop.ConsoleKit"); - managerPath = QStringLiteral("/org/freedesktop/ConsoleKit/Manager"); - managerIfaceName = QStringLiteral("/org.freedesktop.ConsoleKit.Manager"); //note this doesn't match logind diff --git a/x11-misc/sddm/files/sddm-0.18.0-Xsession.patch b/x11-misc/sddm/files/sddm-0.18.0-Xsession.patch deleted file mode 100644 index 41c813a06645..000000000000 --- a/x11-misc/sddm/files/sddm-0.18.0-Xsession.patch +++ /dev/null @@ -1,24 +0,0 @@ ---- a/data/scripts/Xsession 2016-08-28 14:52:04.910181422 +0200 -+++ b/data/scripts/Xsession 2017-10-21 15:25:47.668886596 +0200 -@@ -50,6 +50,10 @@ - ;; - esac - -+# Make D-Bus and ConsoleKit start properly, see: -+# /etc/X11/xinit/xinitrc.d/{80-dbus,90-consolekit} -+command="$@" -+ - [ -f /etc/xprofile ] && . /etc/xprofile - [ -f $HOME/.xprofile ] && . $HOME/.xprofile - -@@ -94,8 +98,8 @@ - . "$USERXSESSION" - fi - --if [ -z "$*" ]; then -+if [ -z "$command" ]; then - exec xmessage -center -buttons OK:0 -default OK "Sorry, $DESKTOP_SESSION is no valid session." - else -- exec $@ -+ exec $command - fi diff --git a/x11-misc/sddm/files/sddm-0.18.1-Xsession.patch b/x11-misc/sddm/files/sddm-0.18.1-Xsession.patch new file mode 100644 index 000000000000..e1e3c1527be7 --- /dev/null +++ b/x11-misc/sddm/files/sddm-0.18.1-Xsession.patch @@ -0,0 +1,24 @@ +--- a/data/scripts/Xsession ++++ b/data/scripts/Xsession +@@ -50,6 +50,10 @@ + ;; + esac + ++# Make D-Bus start properly, see: ++# /etc/X11/xinit/xinitrc.d/80-dbus ++command="$@" ++ + [ -f /etc/xprofile ] && . /etc/xprofile + [ -f $HOME/.xprofile ] && . $HOME/.xprofile + +@@ -94,8 +98,8 @@ + . "$USERXSESSION" + fi + +-if [ -z "$*" ]; then ++if [ -z "$command" ]; then + exec xmessage -center -buttons OK:0 -default OK "Sorry, $DESKTOP_SESSION is no valid session." + else +- exec $@ ++ exec $command + fi diff --git a/x11-misc/sddm/files/sddm-0.18.1-cve-2020-28049.patch b/x11-misc/sddm/files/sddm-0.18.1-cve-2020-28049.patch new file mode 100644 index 000000000000..8209c0739dc6 --- /dev/null +++ b/x11-misc/sddm/files/sddm-0.18.1-cve-2020-28049.patch @@ -0,0 +1,94 @@ +From be202f533ab98a684c6a007e8d5b4357846bc222 Mon Sep 17 00:00:00 2001 +From: Fabian Vogt +Date: Tue, 6 Oct 2020 21:21:38 +0200 +Subject: [PATCH] Fix X not having access control on startup + +If the auth file is empty, X allows any local application (= any user on the +system) to connect. This is currently the case until X wrote the display +number to sddm and sddm used that to write the entry into the file. +To work around this chicken-and-egg problem, make use of the fact that X +doesn't actually look at the display number in the passed auth file and just +use :0 unconditionally. Also make sure that writing the entry was actually +successful. + +CVE-2020-28049 +--- + src/daemon/XorgDisplayServer.cpp | 25 ++++++++++++++++++++----- + src/daemon/XorgDisplayServer.h | 2 +- + 2 files changed, 21 insertions(+), 6 deletions(-) + +diff --git a/src/daemon/XorgDisplayServer.cpp b/src/daemon/XorgDisplayServer.cpp +index d04f6344..df685b2d 100644 +--- a/src/daemon/XorgDisplayServer.cpp ++++ b/src/daemon/XorgDisplayServer.cpp +@@ -88,7 +88,7 @@ namespace SDDM { + return m_cookie; + } + +- void XorgDisplayServer::addCookie(const QString &file) { ++ bool XorgDisplayServer::addCookie(const QString &file) { + // log message + qDebug() << "Adding cookie to" << file; + +@@ -104,13 +104,13 @@ namespace SDDM { + + // check file + if (!fp) +- return; ++ return false; + fprintf(fp, "remove %s\n", qPrintable(m_display)); + fprintf(fp, "add %s . %s\n", qPrintable(m_display), qPrintable(m_cookie)); + fprintf(fp, "exit\n"); + + // close pipe +- pclose(fp); ++ return pclose(fp) == 0; + } + + bool XorgDisplayServer::start() { +@@ -127,6 +127,15 @@ namespace SDDM { + // log message + qDebug() << "Display server starting..."; + ++ // generate auth file. ++ // For the X server's copy, the display number doesn't matter. ++ // An empty file would result in no access control! ++ m_display = QStringLiteral(":0"); ++ if(!addCookie(m_authPath)) { ++ qCritical() << "Failed to write xauth file"; ++ return false; ++ } ++ + if (daemonApp->testing()) { + QStringList args; + QDir x11socketDir(QStringLiteral("/tmp/.X11-unix")); +@@ -217,8 +226,14 @@ namespace SDDM { + emit started(); + } + +- // generate auth file +- addCookie(m_authPath); ++ // The file is also used by the greeter, which does care about the ++ // display number. Write the proper entry, if it's different. ++ if(m_display != QStringLiteral(":0")) { ++ if(!addCookie(m_authPath)) { ++ qCritical() << "Failed to write xauth file"; ++ return false; ++ } ++ } + changeOwner(m_authPath); + + // set flag +diff --git a/src/daemon/XorgDisplayServer.h b/src/daemon/XorgDisplayServer.h +index d2bdf6d4..e97a0b53 100644 +--- a/src/daemon/XorgDisplayServer.h ++++ b/src/daemon/XorgDisplayServer.h +@@ -40,7 +40,7 @@ namespace SDDM { + + const QString &cookie() const; + +- void addCookie(const QString &file); ++ bool addCookie(const QString &file); + + public slots: + bool start(); diff --git a/x11-misc/sddm/files/sddm-0.18.1-respect-user-flags.patch b/x11-misc/sddm/files/sddm-0.18.1-respect-user-flags.patch new file mode 100644 index 000000000000..6801fa799ead --- /dev/null +++ b/x11-misc/sddm/files/sddm-0.18.1-respect-user-flags.patch @@ -0,0 +1,25 @@ +--- a/CMakeLists.txt 2020-10-12 13:03:39.000000000 +0200 ++++ b/CMakeLists.txt 2020-10-12 23:40:04.480687143 +0200 +@@ -41,22 +41,6 @@ + # Definitions + add_definitions(-Wall -std=c++11 -DQT_NO_CAST_FROM_ASCII -DQT_NO_CAST_FROM_BYTEARRAY -DQT_NO_FOREACH) + +-# Default build type +-if(NOT CMAKE_BUILD_TYPE) +- set(CMAKE_BUILD_TYPE Release) +-endif() +- +-# Handle build type +-if(CMAKE_BUILD_TYPE MATCHES [Dd]ebug) +- message(STATUS "Debug build") +- add_definitions(-DDEBUG) +- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g -O0") +-else() +- message(STATUS "Release build") +- add_definitions(-DNDEBUG) +- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O2") +-endif() +- + # Default absolute paths + if(NOT DEFINED CMAKE_INSTALL_SYSCONFDIR) + set(CMAKE_INSTALL_SYSCONFDIR "/etc") diff --git a/x11-misc/sddm/files/sddm.tmpfiles b/x11-misc/sddm/files/sddm.tmpfiles new file mode 100644 index 000000000000..300d646138c1 --- /dev/null +++ b/x11-misc/sddm/files/sddm.tmpfiles @@ -0,0 +1 @@ +d /var/lib/sddm 0755 sddm sddm diff --git a/x11-misc/sddm/metadata.xml b/x11-misc/sddm/metadata.xml index ff51f919ae32..4250b6ff2954 100644 --- a/x11-misc/sddm/metadata.xml +++ b/x11-misc/sddm/metadata.xml @@ -1,24 +1,20 @@ - - lxqt@gentoo.org - LXQt - - - kde@gentoo.org - Gentoo KDE Project - - - Use sys-auth/elogind for session tracking. - - - SDDM is a modern display manager for X11 aiming to be fast, simple - and beatiful. It uses modern technologies like QtQuick, which in - turn gives the designer the ability to create smooth, animated - user interfaces. - - - sddm/sddm - + + lxqt@gentoo.org + LXQt + + + kde@gentoo.org + Gentoo KDE Project + + + SDDM is a modern display manager aiming to be fast, simple + and beautiful. It uses modern technologies like QtQuick, which + gives the designer the ability to create smooth, animated UIs. + + + sddm/sddm + diff --git a/x11-misc/sddm/sddm-0.18.1-r5.ebuild b/x11-misc/sddm/sddm-0.18.1-r5.ebuild deleted file mode 100644 index 20b127562993..000000000000 --- a/x11-misc/sddm/sddm-0.18.1-r5.ebuild +++ /dev/null @@ -1,111 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -PLOCALES="ar bn ca cs da de es et fi fr hi_IN hu is it ja kk ko lt lv nb nl nn pl pt_BR pt_PT ro ru sk sr sr@ijekavian sr@ijekavianlatin sr@latin sv tr uk zh_CN zh_TW" -inherit cmake plocale systemd user - -DESCRIPTION="Simple Desktop Display Manager" -HOMEPAGE="https://github.com/sddm/sddm" -SRC_URI="https://github.com/${PN}/${PN}/releases/download/v${PV}/${P}.tar.xz" - -LICENSE="GPL-2+ MIT CC-BY-3.0 CC-BY-SA-3.0 public-domain" -SLOT="0" -KEYWORDS="amd64 ~arm arm64 ~ppc64 ~riscv x86" -IUSE="elogind +pam systemd test" -RESTRICT="!test? ( test )" - -REQUIRED_USE="?? ( elogind systemd )" - -BDEPEND=" - dev-python/docutils - >=dev-qt/linguist-tools-5.9.4:5 - kde-frameworks/extra-cmake-modules:5 - virtual/pkgconfig -" -RDEPEND=" - >=dev-qt/qtcore-5.9.4:5 - >=dev-qt/qtdbus-5.9.4:5 - >=dev-qt/qtdeclarative-5.9.4:5 - >=dev-qt/qtgui-5.9.4:5 - >=dev-qt/qtnetwork-5.9.4:5 - >=x11-base/xorg-server-1.15.1 - x11-libs/libxcb[xkb] - elogind? ( sys-auth/elogind ) - pam? ( sys-libs/pam ) - !pam? ( virtual/libcrypt:= ) - systemd? ( sys-apps/systemd:= ) - !systemd? ( sys-power/upower ) -" -DEPEND="${RDEPEND} - test? ( >=dev-qt/qttest-5.9.4:5 ) -" - -PATCHES=( - "${FILESDIR}/${PN}-0.12.0-respect-user-flags.patch" - "${FILESDIR}/${PN}-0.18.0-Xsession.patch" # bug 611210 - "${FILESDIR}/${PN}-0.18.0-sddmconfdir.patch" - # fix for groups: https://github.com/sddm/sddm/issues/1159 - "${FILESDIR}/${P}-revert-honor-PAM-supplemental-groups.patch" - "${FILESDIR}/${P}-honor-PAM-supplemental-groups-v2.patch" - # fix for ReuseSession=true - "${FILESDIR}/${P}-only-reuse-online-sessions.patch" - # TODO: fix properly - "${FILESDIR}/${PN}-0.16.0-ck2-revert.patch" # bug 633920 - "${FILESDIR}/pam-1.4-substack.patch" - # upstream git develop branch: - "${FILESDIR}/${P}-qt-5.15.2.patch" -) - -src_prepare() { - cmake_src_prepare - - disable_locale() { - sed -e "/${1}\.ts/d" -i data/translations/CMakeLists.txt || die - } - plocale_find_changes "data/translations" "" ".ts" - plocale_for_each_disabled_locale disable_locale - - if ! use test; then - sed -e "/^find_package/s/ Test//" -i CMakeLists.txt || die - cmake_comment_add_subdirectory test - fi -} - -src_configure() { - local mycmakeargs=( - -DENABLE_PAM=$(usex pam) - -DNO_SYSTEMD=$(usex '!systemd') - -DUSE_ELOGIND=$(usex 'elogind') - -DBUILD_MAN_PAGES=ON - -DDBUS_CONFIG_FILENAME="org.freedesktop.sddm.conf" - ) - cmake_src_configure -} - -src_install() { - cmake_src_install - - # Create a default.conf as upstream dropped /etc/sddm.conf w/o replacement - local confd="/usr/share/sddm/sddm.conf.d" - dodir ${confd} - "${D}"/usr/bin/sddm --example-config > "${D}/${confd}"/00default.conf \ - || die "Failed to create 00default.conf" - - sed -e "/^InputMethod/s/qtvirtualkeyboard//" \ - -e "/^ReuseSession/s/false/true/" \ - -e "/^EnableHiDPI/s/false/true/" \ - -i "${D}/${confd}"/00default.conf || die -} - -pkg_postinst() { - elog "Starting with 0.18.0, SDDM no longer installs /etc/sddm.conf" - elog "Use it to override specific options. SDDM defaults are now" - elog "found in: /usr/share/sddm/sddm.conf.d/00default.conf" - - enewgroup ${PN} - enewuser ${PN} -1 -1 /var/lib/${PN} ${PN},video - - systemd_reenable sddm.service -} diff --git a/x11-misc/sddm/sddm-0.18.1-r6.ebuild b/x11-misc/sddm/sddm-0.18.1-r6.ebuild new file mode 100644 index 000000000000..2eef0e695021 --- /dev/null +++ b/x11-misc/sddm/sddm-0.18.1-r6.ebuild @@ -0,0 +1,129 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake linux-info systemd tmpfiles + +DESCRIPTION="Simple Desktop Display Manager" +HOMEPAGE="https://github.com/sddm/sddm" +SRC_URI="https://github.com/${PN}/${PN}/releases/download/v${PV}/${P}.tar.xz" + +LICENSE="GPL-2+ MIT CC-BY-3.0 CC-BY-SA-3.0 public-domain" +SLOT="0" +KEYWORDS="amd64 ~arm arm64 ~ppc64 ~riscv x86" +IUSE="+elogind +pam systemd test" + +REQUIRED_USE="?? ( elogind systemd )" +RESTRICT="!test? ( test )" + +COMMON_DEPEND=" + acct-group/sddm + acct-user/sddm + dev-qt/qtcore:5 + dev-qt/qtdbus:5 + dev-qt/qtdeclarative:5 + dev-qt/qtgui:5 + dev-qt/qtnetwork:5 + x11-base/xorg-server + x11-libs/libxcb[xkb] + elogind? ( sys-auth/elogind ) + pam? ( sys-libs/pam ) + !pam? ( virtual/libcrypt:= ) + systemd? ( sys-apps/systemd:= ) + !systemd? ( sys-power/upower ) +" +DEPEND="${COMMON_DEPEND} + test? ( dev-qt/qttest:5 ) +" +RDEPEND="${COMMON_DEPEND} + !systemd? ( gui-libs/display-manager-init ) +" +BDEPEND=" + dev-python/docutils + dev-qt/linguist-tools:5 + kde-frameworks/extra-cmake-modules:5 + virtual/pkgconfig +" + +PATCHES=( + "${FILESDIR}/${P}-respect-user-flags.patch" + "${FILESDIR}/${P}-Xsession.patch" # bug 611210 + "${FILESDIR}/${PN}-0.18.0-sddmconfdir.patch" + # fix for groups: https://github.com/sddm/sddm/issues/1159 + "${FILESDIR}/${P}-revert-honor-PAM-supplemental-groups.patch" + "${FILESDIR}/${P}-honor-PAM-supplemental-groups-v2.patch" + # fix for ReuseSession=true + "${FILESDIR}/${P}-only-reuse-online-sessions.patch" + # TODO: fix properly + "${FILESDIR}/pam-1.4-substack.patch" + # upstream git develop branch: + "${FILESDIR}/${P}-qt-5.15.2.patch" + "${FILESDIR}/${P}-cve-2020-28049.patch" # bug 753104 +) + +pkg_setup() { + local CONFIG_CHECK="~DRM" + use kernel_linux && linux-info_pkg_setup +} + +src_prepare() { + cmake_src_prepare + + if ! use test; then + sed -e "/^find_package/s/ Test//" -i CMakeLists.txt || die + cmake_comment_add_subdirectory test + fi +} + +src_configure() { + local mycmakeargs=( + -DENABLE_PAM=$(usex pam) + -DNO_SYSTEMD=$(usex '!systemd') + -DUSE_ELOGIND=$(usex 'elogind') + -DBUILD_MAN_PAGES=ON + -DDBUS_CONFIG_FILENAME="org.freedesktop.sddm.conf" + ) + cmake_src_configure +} + +src_install() { + cmake_src_install + + newtmpfiles "${FILESDIR}/${PN}.tmpfiles" "${PN}.conf" + + # Create a default.conf as upstream dropped /etc/sddm.conf w/o replacement + local confd="/usr/share/sddm/sddm.conf.d" + dodir ${confd} + "${D}"/usr/bin/sddm --example-config > "${D}/${confd}"/00default.conf \ + || die "Failed to create 00default.conf" + + sed -e "/^InputMethod/s/qtvirtualkeyboard//" \ + -e "/^ReuseSession/s/false/true/" \ + -e "/^EnableHiDPI/s/false/true/" \ + -i "${D}/${confd}"/00default.conf || die +} + +pkg_postinst() { + tmpfiles_process "${PN}.conf" + + elog "Starting with 0.18.0, SDDM no longer installs /etc/sddm.conf" + elog "Use it to override specific options. SDDM defaults are now" + elog "found in: /usr/share/sddm/sddm.conf.d/00default.conf" + elog + elog "NOTE: If SDDM startup appears to hang then entropy pool is too low." + elog "This can be fixed by configuring one of the following:" + elog " - Enable CONFIG_RANDOM_TRUST_CPU in linux kernel" + elog " - # emerge sys-apps/haveged && rc-update add haveged boot" + elog " - # emerge sys-apps/rng-tools && rc-update add rngd boot" + elog + elog "For more information on how to configure SDDM, please visit the wiki:" + elog " https://wiki.gentoo.org/wiki/SDDM" + if has_version x11-drivers/nvidia-drivers; then + elog + elog " Nvidia GPU owners in particular should pay attention" + elog " to the troubleshooting section." + fi + + systemd_reenable sddm.service +} -- cgit v1.2.3