public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Andreas Sturmlechner" <asturm@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] proj/qt:master commit in: x11-misc/sddm/files/, x11-misc/sddm/
Date: Sat,  4 Feb 2023 13:00:42 +0000 (UTC)	[thread overview]
Message-ID: <1675515406.874d04dd36d01a9bb6f07d2bad6427c7b6883cbb.asturm@gentoo> (raw)

commit:     874d04dd36d01a9bb6f07d2bad6427c7b6883cbb
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Sat Feb  4 11:22:59 2023 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Sat Feb  4 12:56:46 2023 +0000
URL:        https://gitweb.gentoo.org/proj/qt.git/commit/?id=874d04dd

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 <AT> gentoo.org>

 x11-misc/sddm/files/pam-1.4-substack.patch         | 31 ---------
 .../files/sddm-0.18.1-respect-user-flags.patch     | 25 --------
 .../sddm-0.20.0-disable-etc-debian-check.patch     | 26 ++++++++
 ...sddm-0.20.0-no-default-pam_systemd-module.patch | 43 +++++++++++++
 .../files/sddm-0.20.0-respect-user-flags.patch     | 11 ++++
 .../files/sddm-0.20.0-sddm.pam-use-substack.patch  | 37 +++++++++++
 x11-misc/sddm/sddm-9999.ebuild                     | 74 ++++++++++++++--------
 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


             reply	other threads:[~2023-02-04 13:00 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-02-04 13:00 Andreas Sturmlechner [this message]
  -- strict thread matches above, loose matches on Subject: below --
2024-02-22 11:32 [gentoo-commits] proj/qt:master commit in: x11-misc/sddm/files/, x11-misc/sddm/ Andreas Sturmlechner
2024-01-10  9:13 Andreas Sturmlechner
2023-02-10 19:18 Andreas Sturmlechner
2021-01-01 18:58 Andreas Sturmlechner
2016-10-28 15:31 Michael Palimaka
2015-09-24 19:25 Michael Palimaka

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1675515406.874d04dd36d01a9bb6f07d2bad6427c7b6883cbb.asturm@gentoo \
    --to=asturm@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox