summaryrefslogtreecommitdiff
path: root/x11-misc/sddm
diff options
context:
space:
mode:
Diffstat (limited to 'x11-misc/sddm')
-rw-r--r--x11-misc/sddm/Manifest11
-rw-r--r--x11-misc/sddm/files/sddm-0.16.0-ck2-revert.patch20
-rw-r--r--x11-misc/sddm/files/sddm-0.18.1-Xsession.patch (renamed from x11-misc/sddm/files/sddm-0.18.0-Xsession.patch)8
-rw-r--r--x11-misc/sddm/files/sddm-0.18.1-cve-2020-28049.patch94
-rw-r--r--x11-misc/sddm/files/sddm-0.18.1-respect-user-flags.patch (renamed from x11-misc/sddm/files/sddm-0.12.0-respect-user-flags.patch)9
-rw-r--r--x11-misc/sddm/files/sddm.tmpfiles1
-rw-r--r--x11-misc/sddm/metadata.xml36
-rw-r--r--x11-misc/sddm/sddm-0.18.1-r6.ebuild (renamed from x11-misc/sddm/sddm-0.18.1-r5.ebuild)84
8 files changed, 176 insertions, 87 deletions
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.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.1-Xsession.patch
index 41c813a06645..e1e3c1527be7 100644
--- a/x11-misc/sddm/files/sddm-0.18.0-Xsession.patch
+++ b/x11-misc/sddm/files/sddm-0.18.1-Xsession.patch
@@ -1,11 +1,11 @@
---- a/data/scripts/Xsession 2016-08-28 14:52:04.910181422 +0200
-+++ b/data/scripts/Xsession 2017-10-21 15:25:47.668886596 +0200
+--- a/data/scripts/Xsession
++++ b/data/scripts/Xsession
@@ -50,6 +50,10 @@
;;
esac
-+# Make D-Bus and ConsoleKit start properly, see:
-+# /etc/X11/xinit/xinitrc.d/{80-dbus,90-consolekit}
++# Make D-Bus start properly, see:
++# /etc/X11/xinit/xinitrc.d/80-dbus
+command="$@"
+
[ -f /etc/xprofile ] && . /etc/xprofile
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 <fabian@ritter-vogt.de>
+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.12.0-respect-user-flags.patch b/x11-misc/sddm/files/sddm-0.18.1-respect-user-flags.patch
index fc450169792d..6801fa799ead 100644
--- a/x11-misc/sddm/files/sddm-0.12.0-respect-user-flags.patch
+++ b/x11-misc/sddm/files/sddm-0.18.1-respect-user-flags.patch
@@ -1,9 +1,8 @@
-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 @@
+--- 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)
+ 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)
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 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="project">
- <email>lxqt@gentoo.org</email>
- <name>LXQt</name>
- </maintainer>
- <maintainer type="project">
- <email>kde@gentoo.org</email>
- <name>Gentoo KDE Project</name>
- </maintainer>
- <use>
- <flag name="elogind">Use <pkg>sys-auth/elogind</pkg> for session tracking.</flag>
- </use>
- <longdescription lang="en">
- 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.
- </longdescription>
- <upstream>
- <remote-id type="github">sddm/sddm</remote-id>
- </upstream>
+ <maintainer type="project">
+ <email>lxqt@gentoo.org</email>
+ <name>LXQt</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>kde@gentoo.org</email>
+ <name>Gentoo KDE Project</name>
+ </maintainer>
+ <longdescription lang="en">
+ 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.
+ </longdescription>
+ <upstream>
+ <remote-id type="github">sddm/sddm</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/x11-misc/sddm/sddm-0.18.1-r5.ebuild b/x11-misc/sddm/sddm-0.18.1-r6.ebuild
index 20b127562993..2eef0e695021 100644
--- a/x11-misc/sddm/sddm-0.18.1-r5.ebuild
+++ b/x11-misc/sddm/sddm-0.18.1-r6.ebuild
@@ -1,10 +1,9 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
-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
+inherit cmake linux-info systemd tmpfiles
DESCRIPTION="Simple Desktop Display Manager"
HOMEPAGE="https://github.com/sddm/sddm"
@@ -13,24 +12,20 @@ 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 )"
+IUSE="+elogind +pam systemd test"
REQUIRED_USE="?? ( elogind systemd )"
+RESTRICT="!test? ( test )"
-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
+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 )
@@ -38,13 +33,22 @@ RDEPEND="
systemd? ( sys-apps/systemd:= )
!systemd? ( sys-power/upower )
"
-DEPEND="${RDEPEND}
- test? ( >=dev-qt/qttest-5.9.4:5 )
+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}/${PN}-0.12.0-respect-user-flags.patch"
- "${FILESDIR}/${PN}-0.18.0-Xsession.patch" # bug 611210
+ "${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"
@@ -52,21 +56,20 @@ PATCHES=(
# 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"
+ "${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
- 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
@@ -87,6 +90,8 @@ 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}
@@ -100,12 +105,25 @@ src_install() {
}
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"
-
- enewgroup ${PN}
- enewuser ${PN} -1 -1 /var/lib/${PN} ${PN},video
+ 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
}