# Contributor: Rasmus Thomsen # Contributor: Natanael Copa # Maintainer: Natanael Copa pkgname=linux-pam pkgver=1.6.0 pkgrel=0 pkgdesc="Linux PAM (Pluggable Authentication Modules for Linux)" url="https://www.kernel.org/pub/linux/libs/pam" arch="all" license="BSD-3-Clause" depends_dev="gettext-dev" makedepends=" $depends_dev autoconf automake bison flex-dev libtool linux-headers utmps-dev " options="suid !check" subpackages="$pkgname-dev $pkgname-manual::noarch $pkgname-doc" source=" https://github.com/linux-pam/linux-pam/releases/download/v$pkgver/Linux-PAM-$pkgver.tar.xz https://github.com/linux-pam/linux-pam/releases/download/v$pkgver/Linux-PAM-$pkgver-docs.tar.xz pam_namespace.patch base-auth.pamd base-account.pamd base-password.pamd base-session.pamd base-session-noninteractive.pamd other.pamd login.pamd su.pamd " builddir="$srcdir"/Linux-PAM-$pkgver # secfixes: # 1.6.0-r0: # - CVE-2024-22365 # 1.5.1-r0: # - CVE-2020-27780 build() { export CFLAGS="$CFLAGS -flto=auto $(pkg-config --cflags utmps)" export LDFLAGS="$LDFLAGS $(pkg-config --libs utmps)" ./configure \ --build=$CBUILD \ --host=$CHOST \ --prefix=/usr \ --libdir=/lib \ --sysconfdir=/etc \ --mandir=/usr/share/man \ --infodir=/usr/share/info \ --localstatedir=/var \ --disable-nls \ --disable-db \ --disable-examples make } package() { make DESTDIR="$pkgdir" install # install our pam.d files install -Dm644 "$srcdir"/base-auth.pamd "$pkgdir"/etc/pam.d/base-auth install -Dm644 "$srcdir"/base-password.pamd "$pkgdir"/etc/pam.d/base-password install -Dm644 "$srcdir"/base-account.pamd "$pkgdir"/etc/pam.d/base-account install -Dm644 "$srcdir"/base-session.pamd "$pkgdir"/etc/pam.d/base-session install -Dm644 "$srcdir"/base-session-noninteractive.pamd \ "$pkgdir"/etc/pam.d/base-session-noninteractive install -Dm644 "$srcdir"/other.pamd "$pkgdir"/etc/pam.d/other install -Dm644 "$srcdir"/login.pamd "$pkgdir"/etc/pam.d/login install -Dm644 "$srcdir"/su.pamd "$pkgdir"/etc/pam.d/su # make "unix_chkpwd" shadow group and enable g+s chgrp shadow "$pkgdir"/sbin/unix_chkpwd \ && chmod g+s "$pkgdir"/sbin/unix_chkpwd # wrong dir due to libdir mkdir -p "$pkgdir"/usr/lib mv "$pkgdir"/lib/pkgconfig "$pkgdir"/usr/lib/pkgconfig # we don't ship systemd rm -r "$pkgdir"/usr/lib/systemd } manual() { pkgdesc="$pkgdesc (manual)" amove usr/share/doc/Linux-PAM } sha512sums=" 7af07edb71a79275ad7f7f3bd82a4619b12a23a10f5fb2e5d810c6aadb718fd739ed17ca336c3420945d48d326e91874d8e45cfc5a4bf01a0cc5f9663bd2a0ad Linux-PAM-1.6.0.tar.xz e21d939c71edfccfce5378fce0b317b7deadffa21a84b11164baa10bdf129354f01291d15df2e0a2db5e21b47578be8ddca477cb95f735b3cc10d32972df46de Linux-PAM-1.6.0-docs.tar.xz e9593ffb9bc29368c8e12fef770562bffd84001053bee5c4b0b859d4b39c675a13c1f9b689c619b78f61eee23a152e5a64ece4cca81d4306049a9108167cc708 pam_namespace.patch 988e4ba32fe6b7adeb4898c784eb40d6f88f3fca78ead82b61686f0e1597f306abb3ee338aa2e4cf2db0191b8c1a7e319332e7f6d6aed3ab381f71c0a3355de9 base-auth.pamd 5d3e960ead44dcb2b3f732825482eefab9a9ffa4d4d5fc1d30cbf2fe8c5c896f1114a0ad3a6c606fa9fbf5c43400388f4ee8d7fca8110721eabfc9691004756b base-account.pamd b3a900d6067ba04faa8016d9408da75917e8c0502020a4048bba1de2ca54c705c4d5f8307e759080fd5a9d5f3522f52a708803f1f01627eac56d9d7c6d363d13 base-password.pamd d963071b93c1178a15142db1929bd8cc5c46654fa68e299c4bcf1d4325adbc541195df7c034221daf6cc7f8937d771b5707acbdd36eee98a36180ee07529138d base-session.pamd 2f18114b8a6a78ed798646962526876f3536b4759c00dce339e21f0695ea71d0917c048dc852c3d1c79bd17cd19dc513a3c6463abaffcff3f792b906cec98ede base-session-noninteractive.pamd 299bb3791652174a4d836d60f146200bb692ad80c20c18e6e872543ac8885156ff1a7ca00acaf55b89672fa98f00b8df53879c9ab1913a9cc91f620163dd50be other.pamd ae3a807bc121eb59b54f5e53ff8efdde972610cf7463b6a38bccbc89b49954aa2e0a8693919b01f8bc7a956ba58c97de34a28963bc14f526b70b3073d64427b5 login.pamd a71ac72a21a5d18612365b2b0a4a0da1f9d1101a30d3f5d97f479f6378c3a0fbc219617000448c8b5a0ab2597f2e4944202b13a69624dbe849bf9ea39d00ca22 su.pamd "