diff options
author | Andreas Sturmlechner <asturm@gentoo.org> | 2023-02-04 12:22:59 +0100 |
---|---|---|
committer | Andreas Sturmlechner <asturm@gentoo.org> | 2023-02-04 13:56:46 +0100 |
commit | 874d04dd36d01a9bb6f07d2bad6427c7b6883cbb (patch) | |
tree | adc6b8c81883ede102344952723c0a3ae419c295 /x11-misc | |
parent | x11-misc/sddm: add cpe upstream metadata (diff) | |
download | qt-874d04dd36d01a9bb6f07d2bad6427c7b6883cbb.tar.gz qt-874d04dd36d01a9bb6f07d2bad6427c7b6883cbb.tar.bz2 qt-874d04dd36d01a9bb6f07d2bad6427c7b6883cbb.zip |
x11-misc/sddm: Adapt to upstream changes for 0.20.0 release prep
- Set QTMIN to 5.15.2
- Switch SDDM configuration to /etc/sddm.conf.d/
- New Gentoo defaults file: 01gentoo.conf
- For IUSE="elogind", fix path to /bin/loginctl
- Don't look for pam_systemd.so by default
- Respin pam-1.4 substack patch, dropping upstreamed changes
- Respin *-respect-user-flags.patch for minimal context
See also: https://github.com/gentoo/gentoo/pull/18935
See also: https://github.com/gentoo/gentoo/pull/25853
Bug: https://bugs.gentoo.org/669980
Bug: https://bugs.gentoo.org/728550
Bug: https://bugs.gentoo.org/790713
Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
Diffstat (limited to 'x11-misc')
7 files changed, 166 insertions, 81 deletions
diff --git a/x11-misc/sddm/files/pam-1.4-substack.patch b/x11-misc/sddm/files/pam-1.4-substack.patch deleted file mode 100644 index b0467b26..00000000 --- a/x11-misc/sddm/files/pam-1.4-substack.patch +++ /dev/null @@ -1,31 +0,0 @@ ---- sddm-0.18.1/services/sddm-autologin.pam.bak 2020-06-19 22:27:57.305580696 +0200 -+++ sddm-0.18.1/services/sddm-autologin.pam 2020-06-19 22:30:50.513583973 +0200 -@@ -1,6 +1,5 @@ - #%PAM-1.0 - auth required pam_env.so --auth required pam_tally.so file=/var/log/faillog onerr=succeed - auth required pam_shells.so - auth required pam_nologin.so - auth required pam_permit.so ---- sddm-0.18.1/services/sddm.pam.bak 2020-06-19 22:27:26.721580117 +0200 -+++ sddm-0.18.1/services/sddm.pam 2020-06-19 22:27:48.729580533 +0200 -@@ -1,15 +1,15 @@ - #%PAM-1.0 - --auth include system-login -+auth substack system-login - -auth optional pam_gnome_keyring.so - -auth optional pam_kwallet5.so - --account include system-login -+account substack system-login - --password include system-login -+password substack system-login - -password optional pam_gnome_keyring.so use_authtok - - session optional pam_keyinit.so force revoke --session include system-login -+session substack system-login - -session optional pam_gnome_keyring.so auto_start - -session optional pam_kwallet5.so auto_start
\ No newline at end of file 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 deleted file mode 100644 index 6801fa79..00000000 --- a/x11-misc/sddm/files/sddm-0.18.1-respect-user-flags.patch +++ /dev/null @@ -1,25 +0,0 @@ ---- 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-0.20.0-disable-etc-debian-check.patch b/x11-misc/sddm/files/sddm-0.20.0-disable-etc-debian-check.patch new file mode 100644 index 00000000..b851c852 --- /dev/null +++ b/x11-misc/sddm/files/sddm-0.20.0-disable-etc-debian-check.patch @@ -0,0 +1,26 @@ +From 20adb0eb3462e79ec76f93f2a622b99956145424 Mon Sep 17 00:00:00 2001 +From: Andreas Sturmlechner <asturm@gentoo.org> +Date: Tue, 13 Oct 2020 01:04:44 +0200 +Subject: [PATCH] Disable /etc/debian_version check + +Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org> +--- + services/CMakeLists.txt | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/services/CMakeLists.txt b/services/CMakeLists.txt +index 5032f33..afa5fd5 100644 +--- a/services/CMakeLists.txt ++++ b/services/CMakeLists.txt +@@ -11,7 +11,7 @@ else() + endif() + configure_file("${CMAKE_CURRENT_SOURCE_DIR}/sddm-greeter.pam.in" "${CMAKE_CURRENT_BINARY_DIR}/sddm-greeter.pam") + +-if(EXISTS "/etc/debian_version") ++if(0) + install(FILES debian.sddm-autologin.pam DESTINATION ${CMAKE_INSTALL_FULL_SYSCONFDIR}/pam.d RENAME sddm-autologin) + install(FILES debian.sddm-greeter.pam DESTINATION ${CMAKE_INSTALL_FULL_SYSCONFDIR}/pam.d RENAME sddm-greeter) + install(FILES debian.sddm.pam DESTINATION ${CMAKE_INSTALL_FULL_SYSCONFDIR}/pam.d RENAME sddm) +-- +2.39.1 + diff --git a/x11-misc/sddm/files/sddm-0.20.0-no-default-pam_systemd-module.patch b/x11-misc/sddm/files/sddm-0.20.0-no-default-pam_systemd-module.patch new file mode 100644 index 00000000..2ad739a8 --- /dev/null +++ b/x11-misc/sddm/files/sddm-0.20.0-no-default-pam_systemd-module.patch @@ -0,0 +1,43 @@ +From 02a13d11dac72699e7580c538c152a7b5e0eb056 Mon Sep 17 00:00:00 2001 +From: Andreas Sturmlechner <asturm@gentoo.org> +Date: Tue, 13 Oct 2020 01:10:00 +0200 +Subject: Don't add pam_systemd.so to pam.d/sddm-greeter in case of NO_SYSTEMD + +--- + services/CMakeLists.txt | 7 +++++-- + services/sddm-greeter.pam.in | 2 +- + 2 files changed, 6 insertions(+), 3 deletions(-) + +diff --git a/services/CMakeLists.txt b/services/CMakeLists.txt +index 3d12eec..2ff13a8 100644 +--- a/services/CMakeLists.txt ++++ b/services/CMakeLists.txt +@@ -4,10 +4,13 @@ if(SYSTEMD_FOUND) + install(FILES "${CMAKE_CURRENT_BINARY_DIR}/sddm.service" DESTINATION "${SYSTEMD_SYSTEM_UNIT_DIR}") + endif() + ++set(LOGIND_PAM_MODULE "session optional") + if(USE_ELOGIND) +- set(LOGIND_PAM_MODULE "pam_elogind.so") ++ set(LOGIND_PAM_MODULE "${LOGIND_PAM_MODULE} pam_elogind.so") ++elseif(NOT NO_SYSTEMD) ++ set(LOGIND_PAM_MODULE "${LOGIND_PAM_MODULE} pam_systemd.so") + else() +- set(LOGIND_PAM_MODULE "pam_systemd.so") ++ set(LOGIND_PAM_MODULE "") + endif() + configure_file("${CMAKE_CURRENT_SOURCE_DIR}/sddm-greeter.pam.in" "${CMAKE_CURRENT_BINARY_DIR}/sddm-greeter.pam") + +diff --git a/services/sddm-greeter.pam.in b/services/sddm-greeter.pam.in +index d41792d..35dcfd5 100644 +--- a/services/sddm-greeter.pam.in ++++ b/services/sddm-greeter.pam.in +@@ -14,4 +14,4 @@ password required pam_deny.so + + # Setup session + session required pam_unix.so +-session optional @LOGIND_PAM_MODULE@ ++@LOGIND_PAM_MODULE@ +-- +2.35.1 + diff --git a/x11-misc/sddm/files/sddm-0.20.0-respect-user-flags.patch b/x11-misc/sddm/files/sddm-0.20.0-respect-user-flags.patch new file mode 100644 index 00000000..daaf9f52 --- /dev/null +++ b/x11-misc/sddm/files/sddm-0.20.0-respect-user-flags.patch @@ -0,0 +1,11 @@ +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -51,7 +51,7 @@ + message(STATUS "Debug build") + add_definitions(-DDEBUG) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g -O0") +-else() ++elseif(CMAKE_BUILD_TYPE MATCHES Release) + message(STATUS "Release build") + add_definitions(-DNDEBUG) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O2") diff --git a/x11-misc/sddm/files/sddm-0.20.0-sddm.pam-use-substack.patch b/x11-misc/sddm/files/sddm-0.20.0-sddm.pam-use-substack.patch new file mode 100644 index 00000000..6267adc7 --- /dev/null +++ b/x11-misc/sddm/files/sddm-0.20.0-sddm.pam-use-substack.patch @@ -0,0 +1,37 @@ +From 9cbeb07664f4bd4273c2b62a522a864f6d4f27ae Mon Sep 17 00:00:00 2001 +From: Andreas Sturmlechner <asturm@gentoo.org> +Date: Sat, 4 Feb 2023 13:31:36 +0100 +Subject: [PATCH] sddm.pam: Change to substack for system-login + +Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org> +--- + services/sddm.pam | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +diff --git a/services/sddm.pam b/services/sddm.pam +index df11003..0a073f4 100644 +--- a/services/sddm.pam ++++ b/services/sddm.pam +@@ -1,15 +1,15 @@ + #%PAM-1.0 + +-auth include system-login ++auth substack system-login + -auth optional pam_gnome_keyring.so + -auth optional pam_kwallet5.so + +-account include system-login ++account substack system-login + +-password include system-login ++password substack system-login + -password optional pam_gnome_keyring.so use_authtok + + session optional pam_keyinit.so force revoke +-session include system-login ++session substack system-login + -session optional pam_gnome_keyring.so auto_start + -session optional pam_kwallet5.so auto_start +-- +2.39.1 + diff --git a/x11-misc/sddm/sddm-9999.ebuild b/x11-misc/sddm/sddm-9999.ebuild index bd2e2d38..1c137b41 100644 --- a/x11-misc/sddm/sddm-9999.ebuild +++ b/x11-misc/sddm/sddm-9999.ebuild @@ -11,6 +11,7 @@ else KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86" fi +QTMIN=5.15.2 inherit cmake linux-info systemd tmpfiles DESCRIPTION="Simple Desktop Display Manager" @@ -26,11 +27,11 @@ 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 + >=dev-qt/qtcore-${QTMIN}:5 + >=dev-qt/qtdbus-${QTMIN}:5 + >=dev-qt/qtdeclarative-${QTMIN}:5 + >=dev-qt/qtgui-${QTMIN}:5 + >=dev-qt/qtnetwork-${QTMIN}:5 x11-base/xorg-server x11-libs/libxcb:= elogind? ( sys-auth/elogind ) @@ -40,22 +41,27 @@ COMMON_DEPEND=" !systemd? ( sys-power/upower ) " DEPEND="${COMMON_DEPEND} - test? ( dev-qt/qttest:5 ) + test? ( >=dev-qt/qttest-${QTMIN}:5 ) " RDEPEND="${COMMON_DEPEND} !systemd? ( gui-libs/display-manager-init ) " BDEPEND=" dev-python/docutils - dev-qt/linguist-tools:5 + >=dev-qt/linguist-tools-${QTMIN}:5 kde-frameworks/extra-cmake-modules:5 virtual/pkgconfig " PATCHES=( # Downstream patches - "${FILESDIR}/${PN}-0.18.1-respect-user-flags.patch" # bug 563108 + "${FILESDIR}/${PN}-0.20.0-respect-user-flags.patch" "${FILESDIR}/${PN}-0.19.0-Xsession.patch" # bug 611210 + "${FILESDIR}/${PN}-0.20.0-sddm.pam-use-substack.patch" # bug 728550 + "${FILESDIR}/${PN}-0.20.0-disable-etc-debian-check.patch" + "${FILESDIR}/${PN}-0.20.0-no-default-pam_systemd-module.patch" # bug 669980 + # TODO: add this: https://github.com/sddm/sddm/pull/1230 ...ACK'd + # for merge but pending testing. by openSUSE, Fedora usage for >1y ) pkg_setup() { @@ -64,6 +70,32 @@ pkg_setup() { } src_prepare() { + touch 01gentoo.conf || die + + if use elogind || use systemd; then +cat <<-EOF >> 01gentoo.conf +[General] +# Halt/Reboot command +HaltCommand=$(usex elogind "loginctl" "systemctl") poweroff +RebootCommand=$(usex elogind "loginctl" "systemctl") reboot + +EOF + fi + +cat <<-EOF >> 01gentoo.conf +# Remove qtvirtualkeyboard as InputMethod default +InputMethod= + +[Users] +ReuseSession=true + +[Wayland] +EnableHiDPI=true + +[X11] +EnableHiDPI=true +EOF + cmake_src_prepare if ! use test; then @@ -74,11 +106,11 @@ src_prepare() { 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" + -DENABLE_PAM=$(usex pam) + -DNO_SYSTEMD=$(usex !systemd) + -DUSE_ELOGIND=$(usex elogind) ) cmake_src_configure } @@ -88,31 +120,23 @@ src_install() { newtmpfiles "${FILESDIR}/${PN}.tmpfiles" "${PN}.conf" - # Create a default.conf as upstream dropped /etc/sddm.conf w/o replacement - local confd="/usr/lib/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 + insinto /etc/sddm.conf.d/ + doins "${S}"/01gentoo.conf } 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/lib/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 "SDDM example config can be shown with:" + elog " ${EROOT}/usr/bin/sddm --example-config" + elog "Use ${EROOT}/etc/sddm.conf.d/ directory to override specific options." + 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 |