commit:     e9ab218a16d07af32c94e5917c51c70537622a94
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sat Sep  6 20:55:28 2025 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sat Sep  6 20:55:28 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e9ab218a

sys-auth/pambase: add 20250906

Sam James (3):
      Add pam_gnome_keybase to auth, session stacks too
      Keep pam_gnome_keyring in passwd too
      Run pam_mktemp then pam_env

Closes: https://bugs.gentoo.org/780441
Signed-off-by: Sam James <sam <AT> gentoo.org>

 sys-auth/pambase/Manifest                |   1 +
 sys-auth/pambase/pambase-20250906.ebuild | 129 +++++++++++++++++++++++++++++++
 2 files changed, 130 insertions(+)

diff --git a/sys-auth/pambase/Manifest b/sys-auth/pambase/Manifest
index 7168378e37d5..a4a3c71e4315 100644
--- a/sys-auth/pambase/Manifest
+++ b/sys-auth/pambase/Manifest
@@ -3,3 +3,4 @@ DIST pambase-20240128.tar.bz2 5131 BLAKE2B 
0950fff720f3a9d761a82303eaa7b997bfac6
 DIST pambase-20250223.tar.bz2 5124 BLAKE2B 
ea89d43c93d85baafa1a6951ae80c6306c762ab0524f84de86ed4b6a1abc1056e85c6b1f13012615ce2db40e113ce51e17ddcd274d5f4f4f94a0ec9315318500
 SHA512 
ce31d08f3fa51879cddab158ffed3dc9929c37a56e7dc2f757f7e87e72076a75d10874cba2020f398a198c0156ffc4ecc2ec5d6d654ca36f135a4f1837094b57
 DIST pambase-20250228.tar.bz2 5144 BLAKE2B 
ab4c8e84cc21e25ac12b66a3d9943becb62d4f53c2f9c201c79f2a1f1f1320f4bad2b56a2a76924386d7dbe9656abf5a0bd92bbbedda23088a26128aa743e79f
 SHA512 
e2ccbcd0c3e6f9fb035a2489a79bdfff5f12fe9393517d3b7ddb3bbd7a6a6e5b358663b1423166b0250931d50f608bb81a9f486fc53dbc7126b3980617387c94
 DIST pambase-20250826.tar.bz2 4925 BLAKE2B 
c6929aa506b94b9215bd2c686fd9965d6c3a77f36c7a2d114ca5b2c39a30e2209a84408ee855559837d54161e359723889b89bb9c048bb36b00c7156495968fc
 SHA512 
c9bc07ac617891ddab6f2a8358b10899462d9b54fcc3642d222dd2402914f24225854103b6c581aa2041fb0feb0f94688e07aad10ab94c3a629b4cd2937bd785
+DIST pambase-20250906.tar.bz2 4972 BLAKE2B 
b65da13a265d5a3df1e84546a8f6e1447d7ea5a40fe4a44488691c4a182cf4b3d13d20ce85778f549d217ebf4b4511e71f5f285b34edf9e9e18bab50b0d22c82
 SHA512 
639d87169fafb0e44401104ade7dfaa7a5d6bd473d9e4e3c35a0fb87aaf73a383d406ee05944a3190750e55e59decd867ab3f773664f9fb787f40acc05826d1c

diff --git a/sys-auth/pambase/pambase-20250906.ebuild 
b/sys-auth/pambase/pambase-20250906.ebuild
new file mode 100644
index 000000000000..810cd47a7139
--- /dev/null
+++ b/sys-auth/pambase/pambase-20250906.ebuild
@@ -0,0 +1,129 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{11..13} )
+
+inherit edo pam python-any-r1 readme.gentoo-r1
+
+DESCRIPTION="PAM base configuration files"
+HOMEPAGE="https://github.com/gentoo/pambase";
+
+if [[ ${PV} == *9999 ]]; then
+       inherit git-r3
+       EGIT_REPO_URI="
+               https://anongit.gentoo.org/git/proj/pambase.git
+               https://github.com/gentoo/pambase.git
+       "
+else
+       
SRC_URI="https://gitweb.gentoo.org/proj/pambase.git/snapshot/${P}.tar.bz2";
+
+       KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc 
~ppc64 ~riscv ~s390 ~sparc ~x86"
+fi
+
+LICENSE="MIT"
+SLOT="0"
+IUSE="caps debug elogind gnome-keyring homed minimal mktemp +nullok pam_krb5 
pam_ssh +passwdqc pwhistory pwquality securetty selinux +sha512 sssd systemd 
yescrypt"
+
+RESTRICT="binchecks"
+
+REQUIRED_USE="
+       ?? ( elogind systemd )
+       ?? ( passwdqc pwquality )
+       ?? ( sha512 yescrypt )
+       pwhistory? ( || ( passwdqc pwquality ) )
+       homed? ( !pam_krb5 )
+       pam_krb5? ( !homed )
+"
+
+MIN_PAM_REQ=1.4.0
+
+RDEPEND="
+       >=sys-libs/pam-${MIN_PAM_REQ}
+       elogind? ( sys-auth/elogind[pam] )
+       gnome-keyring? ( gnome-base/gnome-keyring[pam] )
+       mktemp? ( sys-auth/pam_mktemp )
+       pam_krb5? (
+               >=sys-libs/pam-${MIN_PAM_REQ}
+               sys-auth/pam_krb5
+       )
+       caps? ( sys-libs/libcap[pam] )
+       pam_ssh? ( sys-auth/pam_ssh )
+       passwdqc? ( >=sys-auth/passwdqc-1.4.0-r1 )
+       pwquality? ( dev-libs/libpwquality[pam] )
+       selinux? ( sys-libs/pam[selinux] )
+       sha512? ( >=sys-libs/pam-${MIN_PAM_REQ} )
+       homed? ( sys-apps/systemd[homed] )
+       systemd? ( sys-apps/systemd[pam] )
+       yescrypt? ( sys-libs/libxcrypt[system] )
+       sssd? ( sys-auth/sssd )
+"
+BDEPEND="
+       $(python_gen_any_dep '
+               dev-python/jinja2[${PYTHON_USEDEP}]
+       ')
+"
+
+python_check_deps() {
+       python_has_version "dev-python/jinja2[${PYTHON_USEDEP}]"
+}
+
+src_configure() {
+       local crypt=md5
+       # TODO: sha256, blowfish, gost_yescrypt
+       use sha512 && crypt=sha512
+       use yescrypt && crypt=yescrypt
+
+       local pamargs=(
+               # Not all 'upstream' options are (currently) wired up
+               # in the ebuild.
+               #
+               # TODO: pam_shells
+               $(usev caps '--caps')
+               $(usev debug '--debug')
+               $(usev elogind '--elogind')
+               $(usev gnome-keyring '--gnome-keyring')
+               $(usev homed '--homed')
+               $(usev minimal '--minimal')
+               $(usev mktemp '--mktemp')
+               $(usev nullok '--nullok')
+               $(usev pam_krb5 '--krb5')
+               $(usev pam_ssh '--pam-ssh')
+               $(usev passwdqc '--passwdqc')
+               $(usev pwhistory '--pwhistory')
+               $(usev pwquality '--pwquality')
+               $(usev securetty '--securetty')
+               $(usev selinux '--selinux')
+               $(usex systemd '--systemd' '--openrc')
+               $(usev sssd '--sssd')
+
+               --encrypt=${crypt}
+       )
+
+       edo ${EPYTHON} ./${PN}.py "${pamargs[@]}"
+}
+
+src_test() { :; }
+
+src_install() {
+       local DOC_CONTENTS
+
+       if use passwdqc; then
+               DOC_CONTENTS="To amend the existing password policy please see 
the man 5 passwdqc.conf
+                               page and then edit the 
/etc/security/passwdqc.conf file"
+       fi
+
+       if use pwquality; then
+               DOC_CONTENTS="To amend the existing password policy please see 
the man 5 pwquality.conf
+                               page and then edit the 
/etc/security/pwquality.conf file"
+       fi
+
+       { use passwdqc || use pwquality; } && readme.gentoo_create_doc
+
+       dopamd -r stack/.
+}
+
+pkg_postinst() {
+       { use passwdqc || use pwquality; } && readme.gentoo_print_elog
+}

Reply via email to