commit:     6f421347e559d5801240a74a255ae5b901462684
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Thu Mar  7 18:09:33 2024 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Thu Mar  7 18:18:02 2024 +0000
URL:        https://gitweb.gentoo.org/proj/qt.git/commit/?id=6f421347

x11-misc/sddm: Ship our own pam files

Closes: https://github.com/gentoo/qt/pull/278
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 x11-misc/sddm/Manifest                             |  1 +
 .../files/sddm-0.20.0-sddm.pam-use-substack.patch  | 37 ------------------
 .../sddm-0.21.0-disable-etc-debian-check.patch     | 26 -------------
 ...sddm-0.21.0-no-default-pam_systemd-module.patch | 44 ----------------------
 x11-misc/sddm/sddm-9999.ebuild                     | 21 +++++++++--
 5 files changed, 18 insertions(+), 111 deletions(-)

diff --git a/x11-misc/sddm/Manifest b/x11-misc/sddm/Manifest
new file mode 100644
index 00000000..92b91be4
--- /dev/null
+++ b/x11-misc/sddm/Manifest
@@ -0,0 +1 @@
+DIST sddm-0.21.0-pam.tar.xz 676 BLAKE2B 
06a79f74a5833eca9877df4be8639311382d13061b21aa3627e6c4b07725878ded62221fca943440bacc143f6be2a23b2e0a2124012ff2c9fac82e1eded11144
 SHA512 
6d91eef2434346f7707122454522cf19f104994ac95d562417f6060a92b4e6c9792bebcccabac8290479200b4ba02fc4d92c6098c435c7ceda796d619d8913c2

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
deleted file mode 100644
index 6267adc7..00000000
--- a/x11-misc/sddm/files/sddm-0.20.0-sddm.pam-use-substack.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-From 9cbeb07664f4bd4273c2b62a522a864f6d4f27ae Mon Sep 17 00:00:00 2001
-From: Andreas Sturmlechner <ast...@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 <ast...@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/files/sddm-0.21.0-disable-etc-debian-check.patch 
b/x11-misc/sddm/files/sddm-0.21.0-disable-etc-debian-check.patch
deleted file mode 100644
index b0a13259..00000000
--- a/x11-misc/sddm/files/sddm-0.21.0-disable-etc-debian-check.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From cef0ad9776d9349e85020b529d20dcc88113015a Mon Sep 17 00:00:00 2001
-From: Andreas Sturmlechner <ast...@gentoo.org>
-Date: Tue, 13 Oct 2020 01:04:44 +0200
-Subject: [PATCH 4/5] Disable /etc/debian_version check
-
-Signed-off-by: Andreas Sturmlechner <ast...@gentoo.org>
----
- services/CMakeLists.txt | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/services/CMakeLists.txt b/services/CMakeLists.txt
-index 5158e87..441e46a 100644
---- a/services/CMakeLists.txt
-+++ b/services/CMakeLists.txt
-@@ -20,7 +20,7 @@ endif()
- configure_file("${CMAKE_CURRENT_SOURCE_DIR}/sddm-greeter.pam.in" 
"${CMAKE_CURRENT_BINARY_DIR}/sddm-greeter.pam")
- 
- if(INSTALL_PAM_CONFIGURATION)
--    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.43.0
-

diff --git 
a/x11-misc/sddm/files/sddm-0.21.0-no-default-pam_systemd-module.patch 
b/x11-misc/sddm/files/sddm-0.21.0-no-default-pam_systemd-module.patch
deleted file mode 100644
index 4a213d85..00000000
--- a/x11-misc/sddm/files/sddm-0.21.0-no-default-pam_systemd-module.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-From 6f618b6862d625796c13677ff265bae21b44e029 Mon Sep 17 00:00:00 2001
-From: Andreas Sturmlechner <ast...@gentoo.org>
-Date: Tue, 13 Oct 2020 01:10:00 +0200
-Subject: [PATCH 5/5] 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 441e46a..8e70fb1 100644
---- a/services/CMakeLists.txt
-+++ b/services/CMakeLists.txt
-@@ -12,10 +12,13 @@ if(DEFINED SYSTEMD_TMPFILES_DIR)
-     install(FILES "${CMAKE_CURRENT_BINARY_DIR}/sddm-tmpfiles.conf" 
DESTINATION "${SYSTEMD_TMPFILES_DIR}" RENAME sddm.conf)
- 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.43.0
-

diff --git a/x11-misc/sddm/sddm-9999.ebuild b/x11-misc/sddm/sddm-9999.ebuild
index 9c8c10c4..7f2ae187 100644
--- a/x11-misc/sddm/sddm-9999.ebuild
+++ b/x11-misc/sddm/sddm-9999.ebuild
@@ -3,6 +3,7 @@
 
 EAPI=8
 
+PAM_TAR="${PN}-0.21.0-pam"
 if [[ ${PV} == *9999* ]]; then
        inherit git-r3
        EGIT_REPO_URI="https://github.com/${PN}/${PN}.git";
@@ -12,10 +13,11 @@ else
 fi
 
 QTMIN=6.6.2
-inherit cmake linux-info systemd tmpfiles
+inherit cmake linux-info pam systemd tmpfiles
 
 DESCRIPTION="Simple Desktop Display Manager"
 HOMEPAGE="https://github.com/sddm/sddm";
+SRC_URI="https://dev.gentoo.org/~asturm/distfiles/${PAM_TAR}.tar.xz";
 
 LICENSE="GPL-2+ MIT CC-BY-3.0 CC-BY-SA-3.0 public-domain"
 SLOT="0"
@@ -68,9 +70,6 @@ PATCHES=(
        # Downstream patches
        "${FILESDIR}/${PN}-0.20.0-respect-user-flags.patch"
        "${FILESDIR}/${PN}-0.21.0-Xsession.patch" # bug 611210
-       "${FILESDIR}/${PN}-0.20.0-sddm.pam-use-substack.patch" # bug 728550
-       "${FILESDIR}/${PN}-0.21.0-disable-etc-debian-check.patch"
-       "${FILESDIR}/${PN}-0.21.0-no-default-pam_systemd-module.patch" # bug 
669980
 )
 
 pkg_setup() {
@@ -78,6 +77,11 @@ pkg_setup() {
        use kernel_linux && linux-info_pkg_setup
 }
 
+src_unpack() {
+       [[ ${PV} == *9999* ]] && git-r3_src_unpack
+       default
+}
+
 src_prepare() {
        touch 01gentoo.conf || die
 
@@ -93,6 +97,11 @@ EOF
                sed -e "/^find_package/s/ Test//" -i CMakeLists.txt || die
                cmake_comment_add_subdirectory test
        fi
+
+       if use systemd; then
+               sed -e "/pam_elogind.so/s/elogind/systemd/" \
+                       -i "${WORKDIR}"/${PAM_TAR}/${PN}-greeter.pam || die
+       fi
 }
 
 src_configure() {
@@ -119,6 +128,10 @@ src_install() {
                insinto /etc/logrotate.d
                newins "${FILESDIR}/sddm.logrotate" sddm
        fi
+
+       newpamd "${WORKDIR}"/${PAM_TAR}/${PN}.pam ${PN}
+       newpamd "${WORKDIR}"/${PAM_TAR}/${PN}-autologin.pam ${PN}-autologin
+       newpamd "${WORKDIR}"/${PAM_TAR}/${PN}-greeter.pam ${PN}-greeter
 }
 
 pkg_postinst() {

Reply via email to